Fix link errors in tests: wait-process uses gettext-h.
[gnulib.git] / ChangeLog
1 2011-05-31  Bruno Haible  <bruno@clisp.org>
2
3         Fix link errors in tests: wait-process uses gettext-h.
4         * modules/nonblocking-pipe-tests (Makefile.am): Set
5         test_nonblocking_pipe_main_LDADD.
6         * modules/nonblocking-socket-tests (Makefile.am): Link
7         test-nonblocking-socket-main against $(LIBINTL).
8         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9
10 2011-05-29  Bruno Haible  <bruno@clisp.org>
11
12         wctype-h: Avoid namespace pollution on Solaris 2.6.
13         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
14         identifiers.
15         * doc/posix-headers/wctype.texi: Mention the problem.
16         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17
18 2011-05-28  Jim Meyering  <meyering@redhat.com>
19
20         parse-datetime.y: accommodate -Wstrict-overflow
21         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
22         placate -Wstrict-overflow.
23
24         trim: avoid a warning from -O2 -Wstrict-overflow
25         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
26
27 2011-05-28  Bruno Haible  <bruno@clisp.org>
28
29         getloadavg: Remove an unreliable safety check.
30         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
31         getloadavg.c is in place.
32         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
33         Reported by Sam Steingold <sds@gnu.org>.
34
35 2011-05-26  Simon Josefsson  <simon@josefsson.org>
36
37         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
38
39 2011-05-26  Bruno Haible  <bruno@clisp.org>
40
41         mbsrchr: Avoid collision with system function on Interix.
42         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
43         Reported by Markus Duft <mduft@gentoo.org>.
44
45 2011-05-25  Eric Blake  <eblake@redhat.com>
46
47         getcwd: work around mingw bug
48         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
49         * doc/posix-functions/getcwd.texi (getcwd): Document it.
50         Reported by Matthias Bolte.
51
52 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
53
54         test-intprops: disable -Wtype-limits diagnostics
55         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
56         diagnostics.  Otherwise, the integer overflow macros generate many
57         diagnostics.  Reported by Jim Meyering in
58         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
59
60 2011-05-24  Eric Blake  <eblake@redhat.com>
61
62         docs: document recently fixed glibc printf bug
63         * doc/posix-functions/fprintf.texi (fprintf): Document it.
64         * doc/posix-functions/printf.texi (printf): Likewise.
65         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
66         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
67
68 2011-05-24  Eric Blake  <eblake@redhat.com>
69
70         tests: fix logic bug in init.sh
71         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
72         shell.
73
74 2011-05-24  Jim Meyering  <meyering@redhat.com>
75
76         utimensat: do not reference an out-of-scope buffer
77         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
78         declared in an inner scope, yet "times" would be dereferenced outside
79         the scope in which "ts" was valid.
80         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
81         of ts[2] "out/up", so that the use of aliased "times" (via
82         "times = ts;") does not end up referencing an out-of-scope "ts"
83
84         opendir-safer.c: don't clobber errno; don't close negative FD
85         * lib/opendir-safer.c (opendir_safer):
86         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
87         file descriptor, and more importantly, don't clobber the
88         offending errno value with EINVAL.  Before, upon failure
89         of dup_safer, we would pass the negative file descriptor to
90         fdopendir, which would clobber errno.
91
92 2011-05-23  Bruno Haible  <bruno@clisp.org>
93
94         idcache: Fix module description.
95         * modules/idcache (Include): Set to "idcache.h".
96
97 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
98
99         gnulib-tool: fix portability problem with MacOS sed
100         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
101         before the "}".  Problem reported by Leo in
102         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
103         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
104         sed_extract_condition1, sed_extract_condition2.
105
106 2011-05-23  Bruno Haible  <bruno@clisp.org>
107
108         getugroups: Fix module description.
109         * modules/getugroups (Include): Set to "getugroups.h".
110
111 2011-05-23  Bruno Haible  <bruno@clisp.org>
112             Eric Blake  <eblake@redhat.com>
113
114         linkat, renameat: Update dependencies.
115         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
116         * modules/linkat (Depends-on): Likewise. Remove also readlink,
117         symlinkat.
118
119 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
120
121         verify: fix bug when gnulib <assert.h> is also included
122         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
123         is defined, not if _GL_STATIC_ASSERT_H is not defined.
124         Perhaps there's a better way, but this fixes the immediate problem.
125         Problem reported by Bruno Haible in
126         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
127
128 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
129
130         clock-time: change to LGPLv2+.
131         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
132         BSD-like but we have no mark for that; this is good enough for now.
133
134 2011-05-21  Bruno Haible  <bruno@clisp.org>
135
136         relocatable-prog-wrapper: Fix possible link error.
137         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
138         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
139         (gl_FUNC_SETENV): ... to here.
140         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
141         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
142
143 2011-05-20  Jim Meyering  <meyering@redhat.com>
144
145         maint: replace misused "a" with "an"
146         * doc/intprops.texi: "a integer"
147         * doc/regex.texi: "a explanation"
148         * lib/alignof.h: "a object"
149         * lib/argmatch.h: "a explanation"
150         * lib/argp-help.c: "a option" and "a OPTION_DOC"
151         * lib/stdint.in.h: "a integer"
152         * lib/userspec.c: "a owner"
153         * doc/gnulib.texi: Fix "a idea", and reword.
154
155 2011-05-19  Jim Meyering  <meyering@redhat.com>
156
157         maint: correct misuse of "a" and "an"
158         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
159         * lib/argp-help.c: "an docum...": s/an/a/
160         * lib/argp-parse.c: "An vector": s/An/A/
161         * lib/execute.c: "an native": s/an/a/
162         * lib/spawn-pipe.c: Likewise.
163         * lib/gc.h: "an Gc_rc": s/an/a/
164         * lib/unigbrk.in.h: "an grapheme": s/an/a/
165         * lib/fts.c: "an stat.st_dev": s/an/a/
166
167 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
168
169         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
170         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
171         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
172         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
173         (_GL_REMAINDER_OVERFLOW): Use it.
174
175         intprops: work around C compiler bugs
176         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
177         bug in Sun C 5.11 2010/08/13 and other compilers; see
178         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
179
180         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
181         * doc/intprops.texi (Integer Type Determination): Fix
182         documentation for TYPE_IS_INTEGER: it returns an constant
183         expression, not an integer constant expression.  Fix doc for
184         TYPE_SIGNED: it returns an integer constant expression only if its
185         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
186         hardly worth documented that way....)
187
188 2011-05-18  Eric Blake  <eblake@redhat.com>
189
190         fnmatch: avoid compiler warning
191         * lib/fnmatch_loop.c (FCT): Use correct type.
192         Reported by Matthias Bolte.
193
194 2011-05-13  Jim Meyering  <meyering@redhat.com>
195
196         maint.mk: three new prohibit_<HDR>_without_use rules
197         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
198         (sc_prohibit_stdio-safer_without_use): Likewise.
199         (sc_prohibit_xfreopen_without_use): Likewise.
200
201 2011-05-17  Jim Meyering  <meyering@redhat.com>
202
203         announce-gen: fail if the NEWS delta is empty
204         If there's nothing noteworthy in NEWS, then either you forgot
205         or you shouldn't be releasing.
206         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
207
208 2011-05-17  Pádraig Brady <P@draigBrady.com>
209
210         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
211         reserved symbols starting with double underscore from the check.
212
213 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
214
215         intprops: add doc
216         * doc/intprops.texi: New file, documenting intprops.
217         * doc/gnulib.texi (Particular Modules): Include it.
218
219         verify: add doc to gnulib manual and fix example
220         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
221         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
222         (Compile-time Assertions): Fix example so it can't overflow.
223
224 2011-05-17  Jim Meyering  <meyering@redhat.com>
225
226         warnings.m4: don't usurp save_CPPFLAGS variable name
227         * m4/warnings.m4: Prefix local temporary variable name with gl_.
228
229         doc: fix typo
230         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
231
232 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
233             Bruno Haible  <bruno@clisp.org>
234
235         doc: Tweak recent change.
236         * README (Portability guidelines): Tweak new text.
237         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
238         Interix 6.1.
239
240 2011-05-16  Eric Blake  <eblake@redhat.com>
241
242         inttypes: avoid autoconf warning
243         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
244         * m4/stdint.m4 (gl_STDINT_H): Likewise.
245
246 2011-05-16  Sam Steingold <sds@gnu.org>
247         and Eric Blake  <eblake@redhat.com>
248
249         vc-list-files: accept multiple directory operands
250         * build-aux/vc-list-files: Iterate over all remaining operands.
251
252 2011-05-16  Bruno Haible  <bruno@clisp.org>
253
254         Fix confusion regarding deprecated modules.
255         * modules/calloc (Status, Notice): Mark module as deprecated, not
256         obsolete.
257         * modules/fnmatch-posix (Status, Notice): Likewise.
258         * modules/getdate (Status, Notice): Likewise.
259         * modules/getopt (Status, Notice): Likewise.
260         * modules/malloc (Status, Notice): Likewise.
261         * modules/pipe (Status, Notice): Likewise.
262         * modules/realloc (Status, Notice): Likewise.
263         * modules/rename-dest-slash (Status, Notice): Likewise.
264         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
265         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
266         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
267         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
268         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
269
270 2011-05-16  Bruno Haible  <bruno@clisp.org>
271
272         doc: List the target platforms.
273         * doc/gnulib-intro.texi (Target Platforms): New section.
274         * doc/gnulib.texi (Introduction): Update menu.
275         * README (Portability guidelines): Refer to the new section. Update
276         statement about oldest supported environment. Remove rationale why
277         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
278         unportable C89 function.
279         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
280         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
281
282 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
283
284         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
285
286 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
287
288         intprops-tests: new module
289         * modules/intprops-tests, tests/test-intprops.c: New files.
290
291         intprops: add safe, portable integer overflow checking
292         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
293         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
294         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
295         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
296         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
297         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
298         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
299         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
300         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
301         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
302         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
303
304 2011-05-12  James Youngman  <jay@gnu.org>
305
306         Add a test for glibc's Bugzilla bug #12378.
307         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
308         doesn't allow the literal matching of a lone "[" (which is
309         required by POSIX).
310         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
311
312 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
313
314         Sync glibc change fixing Bugzilla bug #12378.
315         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
316         beginning and fall back to matching as normal character if the
317         string ends before the matching ']' is found.  This is what POSIX
318         requires.
319
320 2011-05-13  Eric Blake  <eblake@redhat.com>
321
322         getcwd-lgpl: relax test for FreeBSD
323         * doc/posix-functions/getcwd.texi (getcwd): Document portability
324         issue.
325         * tests/test-getcwd-lgpl.c (main): Relax test.
326         Reported by Matthias Bolte.
327
328 2011-05-11  Eric Blake  <eblake@redhat.com>
329
330         test-fflush: silence compiler warning
331         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
332
333 2011-05-11  Bruno Haible  <bruno@clisp.org>
334
335         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
336         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
337         * modules/canonicalize (Depends-on): Add 'nocrash'.
338         * modules/canonicalize-lgpl (Depends-on): Likewise.
339         * doc/posix-functions/realpath.texi: Update platforms list.
340         Reported by Ryan Schmidt <ryandesign@macports.org>.
341
342 2011-05-11  Bruno Haible  <bruno@clisp.org>
343
344         group-member: Declare function in <unistd.h>.
345         * lib/unistd.in.h (group_member): New declaration.
346         * lib/group-member.h: Remove file.
347         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
348         * tests/test-unistd-c++.cc: Check signature of group_member.
349         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
350         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
351         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
352         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
353         HAVE_GROUP_MEMBER.
354         * modules/group-member (Files): Remove lib/group-member.h.
355         (Depends-on): Add unistd. Specify conditions.
356         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
357         (Include): Change to <unistd.h>.
358         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
359         HAVE_GROUP_MEMBER.
360         * NEWS: Mention the change.
361         * lib/euidaccess.c: Don't include group-member.h.
362
363 2011-05-11  Bruno Haible  <bruno@clisp.org>
364
365         group-member: Document module.
366         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
367         module.
368
369 2011-05-11  Bruno Haible  <bruno@clisp.org>
370
371         fclose: Fix mistake earlier today.
372         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
373
374 2011-05-11  Eric Blake  <eblake@redhat.com>
375
376         fclose: preserve fflush errors
377         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
378         Reported by Jim Meyering.
379
380         bootstrap: support a prereq of 'rpcgen -' on RHEL5
381         * build-aux/bootstrap (check_versions): When no specific version
382         is required, merely check that the app produces an exit status
383         that indicates its existence.
384
385         maint.mk: drop redundant check
386         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
387         the same but better.
388
389 2011-05-11  Bruno Haible  <bruno@clisp.org>
390
391         fclose: Fix possible link error.
392         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
393         unregister_shadow_fd. Improve comments.
394         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
395         Eric Blake.
396
397 2011-05-11  Jim Meyering  <meyering@redhat.com>
398
399         maint.mk: improve "can not" detection and generalize rule name
400         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
401         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
402         Use the same technique as in sc_prohibit_doubled_word, so that
403         we recognize "can not" also when the words are separated by a newline.
404         Suggested by Eric Blake.
405         (perl_filename_lineno_text_): Define.  Factored out of...
406         (prohibit_doubled_word_): ...here.  Use the new definition.
407         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
408         (prohibit_undesirable_word_seq_RE_): New overridable variable.
409         (ignore_undesirable_word_sequence_RE_): New overridable variable.
410
411 2011-05-10  Eric Blake  <eblake@redhat.com>
412
413         fclose: avoid double close race when possible
414         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
415         all but WINDOWS_SOCKETS.
416
417 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
418
419         openat: correct new comment
420         * lib/openat-proc.c (openat_proc_name): Correct the comment.
421
422 2011-05-10  Jim Meyering  <meyering@redhat.com>
423
424         openat: add comments
425         * lib/openat-proc.c (openat_proc_name): Add comments,
426         mostly from Eric Blake.
427
428 2011-05-09  Eric Blake  <eblake@redhat.com>
429
430         openat: reduce syscalls in first probe of /proc
431         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
432         be a directory.  Simplify the probe for .. bugs.
433         * modules/openat (Depends-on): Drop same-inode.
434         Reported by Bastien ROUCARIES.
435
436 2011-05-09  Jim Meyering  <meyering@redhat.com>
437
438         maint.mk: change semantics/name of tight_scope variables
439         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
440         Rename variables to align with semantics that make them more useful.
441
442         maint.mk: tweak new rule's name not to impinge
443         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
444         (sc_tight_scope): Use new rule name rather than $@-0.
445
446         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
447         * top/maint.mk (sc_tight_scope): New rule.
448         (sc_tight_scope-0): New rule, ifdef'd out.
449         (_gl_TS_dir): Default.
450         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
451         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
452
453 2011-05-09  Simon Josefsson  <simon@josefsson.org>
454
455         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
456         Haible <bruno@clisp.org>.
457
458 2011-05-08  Bruno Haible  <bruno@clisp.org>
459
460         Comments.
461         * m4/isnanf.m4: Add comment.
462         * m4/isnanl.m4: Likewise.
463
464 2011-05-08  Bruno Haible  <bruno@clisp.org>
465
466         glob: Remove obsolete macro.
467         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
468
469 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
470
471         intprops: Sun C 5.11 supports __typeof__
472         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
473         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
474         which is new.
475         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
476
477         intprops: switch to usual gnulib indenting and naming
478         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
479         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
480
481         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
482
483 2011-05-08  Jim Meyering  <meyering@redhat.com>
484
485         maint.mk: suppress "Entering/Leaving directory" diag in announcement
486         * top/maint.mk (release-prep): Use make's --no-print-directory
487         option when generating the announcement.  This eliminates the
488         pesky "make[2]: Entering/Leaving directory" diagnostics in the
489         generated announcement template.
490
491 2011-05-08  Bruno Haible  <bruno@clisp.org>
492
493         tzset: Fix gettimeofday wrapper on Solaris 2.6.
494         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
495         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
496
497 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
498
499         ignore-value, verify: Omit include files from lib_SOURCES.
500         * modules/ignore-value, modules/verify (Makefile.am):
501         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
502         that leads Automake to duplicate use of am__objects_... variables
503         in Makefile.in.  See
504         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
505
506 2011-05-07  Bruno Haible  <bruno@clisp.org>
507
508         fclose: Simplify autoconf macro.
509         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
510         defined.
511
512 2011-05-07  Bruno Haible  <bruno@clisp.org>
513
514         canonicalize-lgpl: Fix autoconf macro ordering bug.
515         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
516         gl_STDLIB_H_DEFAULTS.
517
518 2011-05-06  Eric Blake  <eblake@redhat.com>
519
520         maintainer-makefile: make sc_po_check easier to tune
521         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
522         to probe for strings, such as an alternate location for gnulib.
523
524         fclose: guarantee behavior on seekable stdin
525         * modules/fclose (Depends-on): Add fflush.
526         * doc/posix-functions/fclose.texi (fclose): Document this.
527         * tests/test-fclose.c (main): Make test for this unconditional.
528
529 2011-05-06  Bruno Haible  <bruno@clisp.org>
530
531         fflush, fpurge: Relicense under LGPLv2+.
532         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
533         * modules/fpurge (License): Likewise.
534         With permission from Eric Blake and Jim Meyering.
535         Suggested by Eric Blake.
536
537 2011-05-06  Karl Berry  <karl@gnu.org>
538
539         * MODULES.html.sh (func_all_modules): remove exit.
540
541 2011-05-06  Jim Meyering  <meyering@redhat.com>
542
543         maint.mk: use info-gnu@ as the default only for a stable release
544         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
545         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
546         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
547         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
548
549 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
550
551         assert-h: new module, which supports C1X-style static_assert
552         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
553         * lib/verify.h: Revamp so that this can be copied into assert.h,
554         while retaining the ability to use it standalone as before.
555         Rename private identifiers so as not to encroach on the
556         standard C namespace, since this is now used by assert.h.
557         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
558         the old verify_true.
559         (_GL_VERIFY_TRUE): New macro, with much of the contents of
560         the old verify_true.  Use _GL_VERIFY_TYPE.
561         (_GL_VERIFY): New macro, with much of the contents of the old verify.
562         (static_assert): New macro, if _GL_STATIC_ASSERT_H
563         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
564         defined when this file is copied into the replacement assert.h.
565         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
566         and _Static_assert is not built in.
567         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
568         defined, and use the new macros mentioned above.
569         * doc/posix-headers/assert.texi: Document this.
570
571 2011-05-05  Bruno Haible  <bruno@clisp.org>
572
573         fclose, fflush: Respect rules for use of AC_LIBOBJ.
574         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
575         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
576         gl_REPLACE_FCLOSE here.
577         * modules/fflush (Depends-on): Remove fclose.
578         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
579         combination with module 'fclose'.
580
581 2011-05-05  Bruno Haible  <bruno@clisp.org>
582
583         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
584         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
585         gl_FUNC_FFLUSH.
586         (gl_FUNC_FFLUSH): Use it.
587         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
588         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
589         gl_REPLACE_FSEEKO here.
590
591 2011-05-05  Bruno Haible  <bruno@clisp.org>
592
593         tzset: Relicense under LGPL.
594         * modules/tzset (License): Change to LGPL.
595         No agreement needed; it's a no-op.
596
597         strtoimax, strtoumax: Relicense under LGPL.
598         * modules/strtoimax (License): Change to LGPL.
599         * modules/strtoumax (License): Likewise.
600         With permission from Jim Meyering, Paul Eggert:
601         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
603
604         getgroups: Relicense under LGPL.
605         * modules/getgroups (License): Change to LGPL.
606         With permission from Jim Meyering, Paul Eggert, Eric Blake:
607         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
608         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
609         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
610
611         nanosleep: Relicense under LGPL.
612         * modules/nanosleep (License): Change to LGPL.
613         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
614         Haible:
615         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
617         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
618         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
619
620         futimens: Relicense under LGPL.
621         * modules/futimens (License): Change to LGPL.
622         With permission from Eric Blake:
623         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
624
625         fflush: Relicense under LGPL.
626         * modules/fflush (License): Change to LGPL.
627         With permission from Eric Blake, Bruno Haible, Jim Meyering:
628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
629         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
631
632         tmpfile: Relicense under LGPL.
633         * modules/tmpfile (License): Change to LGPL.
634         With permission from Ben Pfaff:
635         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
636
637         isfinite: Relicense under LGPL.
638         * modules/isfinite (License): Change to LGPL.
639         With permission from Ben Pfaff, Bruno Haible:
640         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
641         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
642
643         acosl..tanl: Relicense under LGPL.
644         * modules/acosl (License): Change to LGPL.
645         * modules/asinl (License): Likewise.
646         * modules/atanl (License): Likewise.
647         * modules/cosl (License): Likewise.
648         * modules/expl (License): Likewise.
649         * modules/logl (License): Likewise.
650         * modules/sinl (License): Likewise.
651         * modules/sqrtl (License): Likewise.
652         * modules/tanl (License): Likewise.
653         Source code originally from glibc and Paolo Bonzini. Agreements:
654         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
655         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
656
657 2011-05-05  Bruno Haible  <bruno@clisp.org>
658
659         signal: Define sighandler_t.
660         * lib/signal.in.h (sighandler_t): New type.
661         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
662         whether sighandler_t is defined.
663         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
664         * modules/signal (Depends-on): Add extensions.
665         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
666         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
667         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
668
669 2011-05-05  Eric Blake  <eblake@redhat.com>
670
671         maint: remove useless REPLACE_*_H macros
672         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
673         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
674         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
675         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
676         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
677         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
678         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
679         * m4/btowc.m4: Update callers.
680         * m4/dirfd.m4: Likewise.
681         * m4/duplocale.m4: Likewise.
682         * m4/fchdir.m4: Likewise.
683         * m4/fdopendir.m4: Likewise.
684         * m4/inet_ntop.m4: Likewise.
685         * m4/inet_pton.m4: Likewise.
686         * m4/ioctl.m4: Likewise.
687         * m4/mbrlen.m4: Likewise.
688         * m4/mbrtowc.m4: Likewise.
689         * m4/mbsinit.m4: Likewise.
690         * m4/mbsnrtowcs.m4: Likewise.
691         * m4/mbsrtowcs.m4: Likewise.
692         * m4/poll.m4: Likewise.
693         * m4/setlocale.m4: Likewise.
694         * m4/wcrtomb.m4: Likewise.
695         * m4/wcsnrtombs.m4: Likewise.
696         * m4/wcsrtombs.m4: Likewise.
697         * m4/wctob.m4: Likewise.
698         * m4/wcwidth.m4: Likewise.
699         * modules/posix_spawn: Likewise.
700         * modules/posix_spawn_file_actions_addclose: Likewise.
701         * modules/posix_spawn_file_actions_adddup2: Likewise.
702         * modules/posix_spawn_file_actions_addopen: Likewise.
703         * modules/posix_spawn_file_actions_destroy: Likewise.
704         * modules/posix_spawn_file_actions_init: Likewise.
705         * modules/posix_spawnattr_destroy: Likewise.
706         * modules/posix_spawnattr_getflags: Likewise.
707         * modules/posix_spawnattr_getpgroup: Likewise.
708         * modules/posix_spawnattr_getschedparam: Likewise.
709         * modules/posix_spawnattr_getschedpolicy: Likewise.
710         * modules/posix_spawnattr_getsigdefault: Likewise.
711         * modules/posix_spawnattr_getsigmask: Likewise.
712         * modules/posix_spawnattr_init: Likewise.
713         * modules/posix_spawnattr_setflags: Likewise.
714         * modules/posix_spawnattr_setpgroup: Likewise.
715         * modules/posix_spawnattr_setschedparam: Likewise.
716         * modules/posix_spawnattr_setschedpolicy: Likewise.
717         * modules/posix_spawnattr_setsigdefault: Likewise.
718         * modules/posix_spawnattr_setsigmask: Likewise.
719         * modules/posix_spawnp: Likewise.
720
721 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
722
723         Add option to do-release-commit-and-tag to specify branch.
724         * build-aux/do-release-commit-and-tag: Add --branch.
725
726 2011-05-03  Bruno Haible  <bruno@clisp.org>
727
728         Avoid unnecessary compilation units, through conditional dependencies.
729         * modules/accept (Depends-on): Add conditions to the dependencies.
730         * modules/acosl (Depends-on): Likewise.
731         * modules/argz (Depends-on): Likewise.
732         * modules/asinl (Depends-on): Likewise.
733         * modules/atanl (Depends-on): Likewise.
734         * modules/atoll (Depends-on): Likewise.
735         * modules/bind (Depends-on): Likewise.
736         * modules/btowc (Depends-on): Likewise.
737         * modules/canonicalize-lgpl (Depends-on): Likewise.
738         * modules/ceil (Depends-on): Likewise.
739         * modules/ceilf (Depends-on): Likewise.
740         * modules/ceill (Depends-on): Likewise.
741         * modules/chdir-long (Depends-on): Likewise.
742         * modules/chown (Depends-on): Likewise.
743         * modules/close (Depends-on): Likewise.
744         * modules/connect (Depends-on): Likewise.
745         * modules/cosl (Depends-on): Likewise.
746         * modules/dirfd (Depends-on): Likewise.
747         * modules/dprintf (Depends-on): Likewise.
748         * modules/dprintf-posix (Depends-on): Likewise.
749         * modules/error (Depends-on): Likewise.
750         * modules/euidaccess (Depends-on): Likewise.
751         * modules/expl (Depends-on): Likewise.
752         * modules/faccessat (Depends-on): Likewise.
753         * modules/fchdir (Depends-on): Likewise.
754         * modules/fclose (Depends-on): Likewise.
755         * modules/fcntl (Depends-on): Likewise.
756         * modules/fdopendir (Depends-on): Likewise.
757         * modules/fflush (Depends-on): Likewise.
758         * modules/floor (Depends-on): Likewise.
759         * modules/floorf (Depends-on): Likewise.
760         * modules/floorl (Depends-on): Likewise.
761         * modules/fnmatch (Depends-on): Likewise.
762         * modules/fopen (Depends-on): Likewise.
763         * modules/fprintf-posix (Depends-on): Likewise.
764         * modules/frexp (Depends-on): Likewise.
765         * modules/frexp-nolibm (Depends-on): Likewise.
766         * modules/frexpl (Depends-on): Likewise.
767         * modules/frexpl-nolibm (Depends-on): Likewise.
768         * modules/fseek (Depends-on): Likewise.
769         * modules/fsusage (Depends-on): Likewise.
770         * modules/ftell (Depends-on): Likewise.
771         * modules/ftello (Depends-on): Likewise.
772         * modules/futimens (Depends-on): Likewise.
773         * modules/getcwd (Depends-on): Likewise.
774         * modules/getcwd-lgpl (Depends-on): Likewise.
775         * modules/getdelim (Depends-on): Likewise.
776         * modules/getdomainname (Depends-on): Likewise.
777         * modules/getgroups (Depends-on): Likewise.
778         * modules/gethostname (Depends-on): Likewise.
779         * modules/getline (Depends-on): Likewise.
780         * modules/getlogin_r (Depends-on): Likewise.
781         * modules/getopt-posix (Depends-on): Likewise.
782         * modules/getpeername (Depends-on): Likewise.
783         * modules/getsockname (Depends-on): Likewise.
784         * modules/getsockopt (Depends-on): Likewise.
785         * modules/getsubopt (Depends-on): Likewise.
786         * modules/getusershell (Depends-on): Likewise.
787         * modules/glob (Depends-on): Likewise.
788         * modules/grantpt (Depends-on): Likewise.
789         * modules/iconv_open (Depends-on): Likewise.
790         * modules/iconv_open-utf (Depends-on): Likewise.
791         * modules/inet_ntop (Depends-on): Likewise.
792         * modules/inet_pton (Depends-on): Likewise.
793         * modules/ioctl (Depends-on): Likewise.
794         * modules/isapipe (Depends-on): Likewise.
795         * modules/isfinite (Depends-on): Likewise.
796         * modules/isinf (Depends-on): Likewise.
797         * modules/lchown (Depends-on): Likewise.
798         * modules/ldexpl (Depends-on): Likewise.
799         * modules/link (Depends-on): Likewise.
800         * modules/linkat (Depends-on): Likewise.
801         * modules/listen (Depends-on): Likewise.
802         * modules/logl (Depends-on): Likewise.
803         * modules/lstat (Depends-on): Likewise.
804         * modules/mbrlen (Depends-on): Likewise.
805         * modules/mbrtowc (Depends-on): Likewise.
806         * modules/mbsinit (Depends-on): Likewise.
807         * modules/mbsnrtowcs (Depends-on): Likewise.
808         * modules/mbsrtowcs (Depends-on): Likewise.
809         * modules/mbtowc (Depends-on): Likewise.
810         * modules/memcmp (Depends-on): Likewise.
811         * modules/mkdir (Depends-on): Likewise.
812         * modules/mkdtemp (Depends-on): Likewise.
813         * modules/mkfifo (Depends-on): Likewise.
814         * modules/mkfifoat (Depends-on): Likewise.
815         * modules/mknod (Depends-on): Likewise.
816         * modules/mkostemp (Depends-on): Likewise.
817         * modules/mkostemps (Depends-on): Likewise.
818         * modules/mkstemp (Depends-on): Likewise.
819         * modules/mkstemps (Depends-on): Likewise.
820         * modules/mktime (Depends-on): Likewise.
821         * modules/nanosleep (Depends-on): Likewise.
822         * modules/open (Depends-on): Likewise.
823         * modules/openat (Depends-on): Likewise.
824         * modules/perror (Depends-on): Likewise.
825         * modules/poll (Depends-on): Likewise.
826         * modules/popen (Depends-on): Likewise.
827         * modules/posix_spawn (Depends-on): Likewise.
828         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
829         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
830         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
831         * modules/posix_spawnp (Depends-on): Likewise.
832         * modules/pread (Depends-on): Likewise.
833         * modules/printf-posix (Depends-on): Likewise.
834         * modules/ptsname (Depends-on): Likewise.
835         * modules/putenv (Depends-on): Likewise.
836         * modules/pwrite (Depends-on): Likewise.
837         * modules/readline (Depends-on): Likewise.
838         * modules/readlink (Depends-on): Likewise.
839         * modules/readlinkat (Depends-on): Likewise.
840         * modules/recv (Depends-on): Likewise.
841         * modules/recvfrom (Depends-on): Likewise.
842         * modules/regex (Depends-on): Likewise.
843         * modules/remove (Depends-on): Likewise.
844         * modules/rename (Depends-on): Likewise.
845         * modules/renameat (Depends-on): Likewise.
846         * modules/rmdir (Depends-on): Likewise.
847         * modules/round (Depends-on): Likewise.
848         * modules/roundf (Depends-on): Likewise.
849         * modules/roundl (Depends-on): Likewise.
850         * modules/rpmatch (Depends-on): Likewise.
851         * modules/select (Depends-on): Likewise.
852         * modules/send (Depends-on): Likewise.
853         * modules/sendto (Depends-on): Likewise.
854         * modules/setenv (Depends-on): Likewise.
855         * modules/setlocale (Depends-on): Likewise.
856         * modules/setsockopt (Depends-on): Likewise.
857         * modules/shutdown (Depends-on): Likewise.
858         * modules/sigaction (Depends-on): Likewise.
859         * modules/signbit (Depends-on): Likewise.
860         * modules/sigprocmask (Depends-on): Likewise.
861         * modules/sinl (Depends-on): Likewise.
862         * modules/sleep (Depends-on): Likewise.
863         * modules/snprintf (Depends-on): Likewise.
864         * modules/snprintf-posix (Depends-on): Likewise.
865         * modules/socket (Depends-on): Likewise.
866         * modules/sprintf-posix (Depends-on): Likewise.
867         * modules/sqrtl (Depends-on): Likewise.
868         * modules/stat (Depends-on): Likewise.
869         * modules/strchrnul (Depends-on): Likewise.
870         * modules/strdup-posix (Depends-on): Likewise.
871         * modules/strerror (Depends-on): Likewise.
872         * modules/strerror_r-posix (Depends-on): Likewise.
873         * modules/strndup (Depends-on): Likewise.
874         * modules/strnlen (Depends-on): Likewise.
875         * modules/strptime (Depends-on): Likewise.
876         * modules/strsep (Depends-on): Likewise.
877         * modules/strsignal (Depends-on): Likewise.
878         * modules/strstr-simple (Depends-on): Likewise.
879         * modules/strtod (Depends-on): Likewise.
880         * modules/strtoimax (Depends-on): Likewise.
881         * modules/strtok_r (Depends-on): Likewise.
882         * modules/strtoumax (Depends-on): Likewise.
883         * modules/symlink (Depends-on): Likewise.
884         * modules/symlinkat (Depends-on): Likewise.
885         * modules/tanl (Depends-on): Likewise.
886         * modules/tcgetsid (Depends-on): Likewise.
887         * modules/tmpfile (Depends-on): Likewise.
888         * modules/trunc (Depends-on): Likewise.
889         * modules/truncf (Depends-on): Likewise.
890         * modules/truncl (Depends-on): Likewise.
891         * modules/uname (Depends-on): Likewise.
892         * modules/unlink (Depends-on): Likewise.
893         * modules/unlockpt (Depends-on): Likewise.
894         * modules/unsetenv (Depends-on): Likewise.
895         * modules/usleep (Depends-on): Likewise.
896         * modules/utimensat (Depends-on): Likewise.
897         * modules/vasprintf (Depends-on): Likewise.
898         * modules/vdprintf (Depends-on): Likewise.
899         * modules/vdprintf-posix (Depends-on): Likewise.
900         * modules/vfprintf-posix (Depends-on): Likewise.
901         * modules/vprintf-posix (Depends-on): Likewise.
902         * modules/vsnprintf (Depends-on): Likewise.
903         * modules/vsnprintf-posix (Depends-on): Likewise.
904         * modules/vsprintf-posix (Depends-on): Likewise.
905         * modules/wcrtomb (Depends-on): Likewise.
906         * modules/wcscasecmp (Depends-on): Likewise.
907         * modules/wcscspn (Depends-on): Likewise.
908         * modules/wcsdup (Depends-on): Likewise.
909         * modules/wcsncasecmp (Depends-on): Likewise.
910         * modules/wcsnrtombs (Depends-on): Likewise.
911         * modules/wcspbrk (Depends-on): Likewise.
912         * modules/wcsrtombs (Depends-on): Likewise.
913         * modules/wcsspn (Depends-on): Likewise.
914         * modules/wcsstr (Depends-on): Likewise.
915         * modules/wcstok (Depends-on): Likewise.
916         * modules/wcswidth (Depends-on): Likewise.
917         * modules/wctob (Depends-on): Likewise.
918         * modules/wctomb (Depends-on): Likewise.
919         * modules/wctype (Depends-on): Likewise.
920         * modules/wcwidth (Depends-on): Likewise.
921         * modules/write (Depends-on): Likewise.
922
923 2011-05-03  Bruno Haible  <bruno@clisp.org>
924
925         Support for conditional dependencies.
926         * doc/gnulib.texi (Module description): Document the syntax of
927         conditional dependencies.
928         * gnulib-tool: New option --conditional-dependencies.
929         (func_usage): Document it.
930         (cond_dependencies): New variable.
931         (func_get_automake_snippet_conditional,
932         func_get_automake_snippet_unconditional): New functions, extracted from
933         func_get_automake_snippet.
934         (func_get_automake_snippet): Use them.
935         (sed_first_32_chars): New variable.
936         (func_module_shellfunc_name): New function.
937         (func_module_shellvar_name): New function.
938         (func_module_conditional_name): New function.
939         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
940         func_cond_module_condition): New functions.
941         (func_modules_transitive_closure): Add support for conditional
942         dependencies.
943         (func_emit_lib_Makefile_am): For a conditional module, enclose the
944         conditional automake snippet in an automake conditional.
945         (func_emit_autoconf_snippets): Emit shell functions that contain the
946         code for conditional modules.
947         (func_import, func_create_testdir): Update specification.
948
949 2011-05-03  Eric Blake  <eblake@redhat.com>
950
951         test-getaddrinfo: report error information
952         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
953
954 2011-05-03  Jim Meyering  <meyering@redhat.com>
955
956         bootstrap: avoid build failure when $GZIP is set
957         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
958         program name.  If defined at all, it is supposed to list gzip options.
959         Reported by Alan Curry in http://debbugs.gnu.org/8609
960
961 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
962
963         readme-release: new module with release instructions
964         * modules/readme-release: New module.
965         * top/README-release: New file, from coreutils, grep, diffutils.
966         * MODULES.html.sh (Support for maintaining and releasing): Add it.
967
968 2011-05-02  Eric Blake  <eblake@redhat.com>
969
970         fflush: also replace fclose when fixing fflush
971         * modules/fflush (Depends-on): Add fclose.
972         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
973         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
974         memstreams with no backing fd.
975         * doc/posix-functions/fclose.texi (fclose): Document the use of
976         fflush module to fix the bug.
977         * tests/test-fclose.c (main): Relax test when fclose is used in
978         isolation.
979
980         fclose: add some tests
981         * modules/fclose-tests: New test module.
982         * tests/test-fclose.c: New file.
983         * doc/posix-functions/fclose.texi (fclose): Document the bug.
984
985         fclose: reduced dependencies
986         * modules/fclose (Depends-on): Switch from fflush/fseeko to
987         simpler lseek.
988         * lib/fclose.c (rpl_fclose): Likewise.
989         Reported by Simon Josefsson.
990
991         exit: drop remaining clients
992         * modules/argmatch (Depends-on): Replace exit with stdlib.
993         * modules/copy-file (Depends-on): Likewise.
994         * modules/execute (Depends-on): Likewise.
995         * modules/exitfail (Depends-on): Likewise.
996         * modules/obstack (Depends-on): Likewise.
997         * modules/pagealign_alloc (Depends-on): Likewise.
998         * modules/pipe-filter-gi (Depends-on): Likewise.
999         * modules/pipe-filter-ii (Depends-on): Likewise.
1000         * modules/savewd (Depends-on): Likewise.
1001         * modules/spawn-pipe (Depends-on): Likewise.
1002         * modules/wait-process (Depends-on): Likewise.
1003         * modules/xsetenv (Depends-on): Likewise.
1004         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
1005         * modules/git-merge-changelog (Depends-on): Likewise.
1006         * modules/long-options (Depends-on): Likewise.
1007         * modules/pt_chown (Depends-on): Likewise.
1008         * modules/sysexits (Depends-on): Likewise.
1009
1010         freading: relax license from LGPLv3+ to LGPLv2+
1011         * modules/freading (License): Relax LGPL version.
1012
1013 2011-05-02  Bruno Haible  <bruno@clisp.org>
1014
1015         fchdir: Remove unused dependencies.
1016         * modules/fchdir (Depends-on): Remove include_next.
1017
1018 2011-05-02  Bruno Haible  <bruno@clisp.org>
1019
1020         gnulib-tool: Refactor.
1021         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
1022         from func_emit_autoconf_snippets.
1023         (func_emit_autoconf_snippets): Use it.
1024
1025 2011-05-02  Simon Josefsson  <simon@josefsson.org>
1026
1027         * NEWS: Document removal of 'exit'.
1028         * modules/exit: Remove file.
1029
1030 2011-05-01  Bruno Haible  <bruno@clisp.org>
1031
1032         Update DEPENDENCIES.
1033         * DEPENDENCIES (gettext): Recommend the newest release.
1034         Reported by Simon Josefsson.
1035
1036 2011-05-01  Bruno Haible  <bruno@clisp.org>
1037
1038         gnulib-tool: Reduce code duplication.
1039         * gnulib-tool (func_emit_autoconf_snippets): New function.
1040         (func_import, func_create_testdir): Use it.
1041
1042 2011-04-30  Eric Blake  <eblake@redhat.com>
1043
1044         fclose: don't fail on non-seekable input stream
1045         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
1046         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
1047         since fflush is allowed to fail in that case.
1048
1049 2011-04-30  Bruno Haible  <bruno@clisp.org>
1050
1051         dup3: cleanup
1052         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
1053
1054 2011-04-30  Bruno Haible  <bruno@clisp.org>
1055
1056         netdb: Make it work in C++ mode.
1057         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
1058         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
1059         module.
1060         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
1061         gl_MODULE_INDICATOR_FOR_TESTS.
1062         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
1063         * modules/netdb-c++-tests: New file.
1064         * tests/test-netdb-c++.cc: New file.
1065
1066 2011-04-30  Bruno Haible  <bruno@clisp.org>
1067
1068         New modules 'vfscanf', 'vscanf'.
1069         * modules/vfscanf: New file.
1070         * modules/vscanf: New file.
1071         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
1072         here.
1073         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
1074         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
1075
1076 2011-04-30  Bruno Haible  <bruno@clisp.org>
1077
1078         passfd: Add comments.
1079         * lib/passfd.c: Add comments about platforms.
1080
1081 2011-04-30  Bruno Haible  <bruno@clisp.org>
1082
1083         sys_uio: Make <sys/uio.h> self-contained.
1084         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
1085         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
1086
1087 2011-04-30  Bruno Haible  <bruno@clisp.org>
1088
1089         sys_socket: Ensure 'struct iovec' definition.
1090         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
1091         <sys/socket.h>.
1092         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
1093
1094 2011-04-30  Bruno Haible  <bruno@clisp.org>
1095
1096         sys_uio: Protect definition of 'struct iovec'.
1097         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
1098         it as a C struct.
1099
1100 2011-04-30  Bruno Haible  <bruno@clisp.org>
1101
1102         manywarnings: fix indentation
1103         * m4/manywarnings.m4: Indent by 2 spaces consistently.
1104
1105 2011-04-30  Pádraig Brady <P@draigBrady.com>
1106
1107         manywarnings: add -Wno-missing-field-initializers if needed.
1108         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
1109         option if it's needed to allow initialization with { 0, }
1110
1111 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
1112
1113         announce-gen: cosmetic improvement
1114         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
1115
1116 2011-04-29  Jim Meyering  <meyering@redhat.com>
1117
1118         vc-list-files: indent with spaces, not TABs
1119         * build-aux/vc-list-files: Convert leading TABs to spaces,
1120         to match the style of most other files in gnulib.
1121
1122         announce-gen: indent with spaces, not TABs
1123         * build-aux/announce-gen: Convert all TABs to spaces, to match
1124         the style of most other files in gnulib.
1125
1126 2011-04-29  Eric Blake  <eblake@redhat.com>
1127
1128         quotearg: avoid uninitialized variable use
1129         * lib/quotearg.c (quoting_options_from_style): Initialize
1130         remaining fields, and ensure that custom styles are only used via
1131         quoting_options rather than quoting_style.
1132
1133 2011-04-29  Jim Meyering  <meyering@redhat.com>
1134
1135         maint.mk: remove unused VC-tag variable
1136         * top/maint.mk (VC-tag): Remove unused variable.
1137
1138 2011-04-29  Bruno Haible  <bruno@clisp.org>
1139
1140         netdb: fix gai_strerror replacements
1141         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
1142         * modules/netdb: Substitute it.
1143
1144 2011-04-29  Jim Meyering  <meyering@redhat.com>
1145
1146         test-getcwd.c: avoid new set-but-not-used warning
1147         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
1148         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
1149         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
1150         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
1151
1152         test-hash.c: avoid a new shadowing warning
1153         * tests/test-hash.c (main): Don't shadow "dup".
1154
1155 2011-04-28  Eric Blake  <eblake@redhat.com>
1156
1157         getaddrinfo: fix gai_strerror signature
1158         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
1159         and work around mingw with UNICODE defined.
1160         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
1161         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
1162         * modules/netdb (Makefile.am): Substitute it.
1163         * lib/netdb.in.h (gai_strerror): Declare replacement.
1164         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
1165         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
1166         the fix.
1167
1168         getsockopt: avoid compiler warning
1169         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
1170         Reported by Matthias Bolte.
1171
1172         tests: drop unused link dependency
1173         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
1174         * modules/dirent-safer-tests (Makefile.am): Likewise.
1175         * modules/fdopendir-tests (Makefile.am): Likewise.
1176         * modules/mkfifoat-tests (Makefile.am): Likewise.
1177         * modules/openat-safer-tests (Makefile.am): Likewise.
1178         * modules/openat-tests (Makefile.am): Likewise.
1179         * modules/readlinkat-tests (Makefile.am): Likewise.
1180         * modules/symlinkat-tests (Makefile.am): Likewise.
1181         * modules/linkat-tests (Makefile.am): Likewise.
1182         (Depends-on): Switch to filenamecat-lgpl.
1183         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
1184         LIBINTL.
1185         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
1186         * tests/test-linkat.c (main): Don't require xalloc.
1187
1188         hash, mgetgroups: drop xalloc dependency
1189         * lib/hash.c (includes): Adjust includes.
1190         * lib/mgetgroups.c (includes): Likewise.
1191         (xgetgroups): Move...
1192         * lib/xgetgroups.c: ...to new file.
1193         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
1194         * modules/xgetgroups: New file, split from...
1195         * modules/mgetgroups: ...here.
1196         (Depends-on): Add xalloc-oversized.
1197         * modules/hash (Depends-on): Likewise.
1198         * modules/hash-tests (Depends-on): Drop xalloc.
1199         (test_hash_LDADD): Drop unused library.
1200         * tests/test-hash.c (main): Break xalloc dependency.
1201         (includes): Drop unused include.
1202
1203         xalloc-oversized: new module
1204         * modules/xalloc-oversized: New module.
1205         * modules/xalloc (Depends-on): Add it.
1206         * lib/xalloc.h (xalloc_oversized): Move...
1207         * lib/xalloc-oversized.h: ...into new file.
1208
1209         utimecmp: drop dependency on xmalloc
1210         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
1211         due to memory pressure.
1212         * modules/utimecmp (Depends-on): Drop xalloc.
1213
1214 2011-04-27  Eric Blake  <eblake@redhat.com>
1215
1216         getcwd: fix mingw bugs
1217         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
1218         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
1219         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
1220
1221 2011-04-27  Bruno Haible  <bruno@clisp.org>
1222
1223         mkstemps: Ensure declaration on MacOS X 10.5.
1224         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
1225         * doc/glibc-functions/mkstemps.texi: Document header file problem on
1226         MacOS X.
1227
1228 2011-04-27  Bruno Haible  <bruno@clisp.org>
1229
1230         mkstemp: More documentation.
1231         * doc/posix-functions/mkstemp.texi: Document header file problem on
1232         MacOS X.
1233
1234 2011-04-27  Bruno Haible  <bruno@clisp.org>
1235
1236         mkstemp: Tweak configure message when cross-compiling.
1237         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
1238         result as a guess.
1239
1240 2011-04-27  Bruno Haible  <bruno@clisp.org>
1241
1242         clean-temp: Clarify what it does.
1243         * lib/clean-temp.h: Add more comments.
1244         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
1245         module.
1246         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
1247         * doc/glibc-functions/mkstemps.texi: Likewise.
1248         * doc/glibc-functions/mkostemps.texi: Likewise.
1249
1250 2011-04-27  Eric Blake  <eblake@redhat.com>
1251
1252         fchdir: avoid extra chdir and fix test
1253         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
1254         getcwd-lgpl.
1255         * lib/fchdir.c (get_name): Any absolute name will do; it does not
1256         have to be canonical.
1257         (canonicalize_file_name): Drop unused macro.
1258         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
1259
1260         filenamecat-lgpl: fix licence
1261         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
1262         when it was first created.
1263
1264         linkat, renameat: add missing dependency
1265         * modules/linkat (Depends-on): Require getcwd-lgpl.
1266         * modules/renameat (Depends-on): Likewise.
1267
1268         tests: reduce dependencies
1269         * tests/test-linkat.c (main): Use lighter-weight getcwd.
1270         * tests/test-renameat.c (main): Likewise.
1271         * modules/linkat-tests (Depends-on): Relax dependency.
1272         * modules/renameat-tests (Depends-on): Likewise.
1273         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
1274         dependency explicit.
1275
1276         save-cwd: reduce default dependency
1277         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
1278         * lib/save-cwd.c: Update comments.
1279         * NEWS: Document the semantic change.
1280
1281         getcwd: enhance tests
1282         * tests/test-getcwd-lgpl.c: New file, taken from...
1283         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
1284         repeat long path stress tests from m4 probe.
1285         * modules/getcwd-lgpl-tests: New module.
1286         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
1287         * m4/getcwd-abort-bug.m4: Update comment.
1288         * m4/getcwd-path-max.m4: Likewise.
1289
1290         getcwd-lgpl: new module
1291         * modules/getcwd-lgpl: New module.
1292         * lib/getcwd-lgpl.c: New file.
1293         * doc/posix-functions/getcwd.texi (getcwd): Document it.
1294         * MODULES.html.sh (lacking POSIX:2008): Likewise.
1295         * modules/getcwd (configure.ac): Set C witness.
1296         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
1297
1298         getcwd: tweak comments
1299         * m4/getcwd-abort-bug.m4: Fix comments.
1300         * m4/getcwd-path-max.m4: Likewise.
1301         * m4/getcwd.m4: Likewise.
1302
1303 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
1304         and Eric Blake  <eblake@redhat.com>
1305
1306         mkstemp: replace if system version uses wrong permissions
1307         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
1308         read/write mode bits set in file created by mkstemp.
1309         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
1310
1311 2011-04-27  Eric Blake  <eblake@redhat.com>
1312
1313         passfd: avoid compiler warning
1314         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
1315         Reported by Laine Stump.
1316
1317 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
1318
1319         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
1320         required by the NetBSD (and perhaps other 4.4BSD derived) join.
1321
1322 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
1323         and Eric Blake  <eblake@redhat.com>
1324
1325         mkstemp: mention clean-temp module
1326         * lib/mkstemp.c: Add comment.
1327         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
1328
1329 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
1330
1331         inttypes: also provide default values for 32-bit tests
1332         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
1333         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
1334
1335 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
1336
1337         strtoumax: remove dependency on strtoimax
1338         This is like the strtoull change of yesterday.
1339         * modules/strtoumax (Files): Add lib/strtoimax.c.
1340         (Depends-on): Remove strtoimax and add verify.
1341
1342         inttypes-incomplete: new module
1343         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
1344         all but the PRI* and SCN* parts of gl_INTTYPES_H.
1345         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
1346         of gl_INTTYPES_H.
1347         (gl_INTTYPES_H): Rewrite in terms of these new macros.
1348         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
1349         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
1350         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
1351         * modules/strtoumax, modules/xstrtol (Depends-on):
1352         Depend on inttypes-incomplete, not inttypes.
1353         * modules/inttypes-incomplete: New module, containing the contents
1354         of the old modules/inttypes module, except that the Files: section
1355         omits m4/inttypes-pri.m4, and the configure.ac section invokes
1356         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
1357         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
1358         (Depends-on): Depend only on inttypes-incomplete.
1359         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
1360
1361         inttypes: omit now-redundant strtoimax and strtoumax work
1362         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
1363         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
1364
1365         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
1366         This supports apps that need pointers to strtoimax and strtoumax,
1367         and ports to HP-UX 11.00 64.bit, which has macros that expand to
1368         nonexistent functions.  See
1369         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
1370         et seq.
1371         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
1372         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
1373         a macro.
1374         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
1375
1376 2011-04-25  Simon Josefsson  <simon@josefsson.org>
1377
1378         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
1379
1380 2011-04-25  Bruno Haible  <bruno@clisp.org>
1381
1382         strtol, strtoul: Mark modules as obsolete.
1383         * modules/strtol (Status, Notice): New sections.
1384         * modules/strtoul (Status, Notice): New sections.
1385
1386 2011-04-25  Bruno Haible  <bruno@clisp.org>
1387
1388         strtod: Remove check for strtod, unless supporting old platforms.
1389         * modules/strtod-obsolete: New file.
1390         * m4/strtod-obsolete.m4: New file.
1391         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
1392         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
1393         * modules/strtod (Depends-on): Add strtod-obsolete.
1394         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
1395
1396 2011-04-25  Bruno Haible  <bruno@clisp.org>
1397
1398         strcase: Make module obsolete.
1399         * modules/strcase (Status, Notice): New sections.
1400
1401 2011-04-25  Bruno Haible  <bruno@clisp.org>
1402
1403         dup2: Remove check for dup2, unless supporting old obsolete platforms.
1404         * modules/dup2-obsolete: New file.
1405         * m4/dup2-obsolete.m4: New file.
1406         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
1407         gl_FUNC_DUP2_OBSOLETE is not also defined.
1408         * modules/dup2 (Depends-on): Add dup2-obsolete.
1409         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
1410
1411 2011-04-25  Bruno Haible  <bruno@clisp.org>
1412
1413         strnlen: Avoid memchr related link error on old obsolete platforms.
1414         * modules/memchr-obsolete: New file.
1415         * m4/memchr-obsolete.m4: New file.
1416         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
1417         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
1418         * modules/memchr (Depends-on): Add memchr-obsolete.
1419         * modules/strnlen (Depends-on): Likewise.
1420         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
1421
1422 2011-04-25  Jim Meyering  <meyering@redhat.com>
1423
1424         maint.mk: makefile_at_at_check extend and clean up
1425         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
1426         in addition to */Makefile.am.
1427         Exempt legitimate uses of @VAR@ notation, e.g.,
1428         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
1429         Remove obsolete coreutils-specific comment.
1430         Prompted by discussion here:
1431         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
1432
1433 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
1434
1435         strtoul: remove dependency on strtol
1436         This is so that 'configure' need not check for strtol merely because
1437         the application needs strtoul.
1438         * modules/strtoul (Files): Add lib/strtol.c.
1439         (Depends-on): Remove strtol.
1440
1441         strtoull: remove dependency on strtoul
1442         This is like the strtoll change.
1443         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
1444         (Depends-on): Remove strtoul.
1445
1446         strtoll: remove dependency on strtol
1447         This is so that 'configure' need not check for strtol merely because
1448         the application needs strtoll.
1449         * modules/strtoll (Files): Add lib/strtol.c.
1450         (Depends-on): Remove strtol.
1451
1452 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1453
1454         inttypes: Move some configure check to module 'imaxdiv'.
1455         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
1456         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
1457         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
1458
1459 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1460
1461         inttypes: Move some configure check to module 'imaxabs'.
1462         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
1463         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
1464         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
1465
1466 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1467
1468         inttypes: Remove configure tests that are not needed since 2009-12-31.
1469         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
1470         gl_cv_header_working_inttypes_h.
1471
1472 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1473
1474         * modules/strnlen (Depends-on): Remove memchr.
1475         The strnlen implementation doesn't need the memchr module's fixes; see
1476         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
1477
1478         strtol: remove dependency on wchar
1479         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
1480         * modules/strtol (Depends-on): Remove wchar.
1481
1482 2011-04-21  Eric Blake  <eblake@redhat.com>
1483
1484         passfd: fix test regression on Linux
1485         * modules/passfd-tests (configure.ac): Correct socketpair check.
1486
1487         passfd: speed up configure and drop unused code
1488         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
1489         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
1490         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
1491         Instead of probing at configure for unix_scm_rights_bsd44_way,
1492         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
1493         check to a struct member probe.
1494         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
1495         (sendfd, recvfd): Update preprocessor checks.
1496         * modules/passfd (Files): Reflect rename, and drop unused file.
1497         (Depends-on): Drop unused dependency.
1498
1499         passfd: allow compilation on mingw
1500         * modules/sys_socket (Depends-on): Add sys_uio.
1501         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
1502         iovec and a minimal struct msghdr.
1503         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
1504         * tests/test-sys_socket.c (main): Enhance test.
1505         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
1506         guaranteed to provide what we need.
1507         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
1508         * modules/passfd-tests (Depends-on): Add sys_wait.
1509         * tests/test-passfd.c (main): Skip test on mingw, for now.
1510         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
1511         partial 'struct msghdr' implementation.
1512
1513         sys_uio: new module
1514         * modules/sys_uio: New module.
1515         * modules/sys_uio-tests: Likewise.
1516         * lib/sys_uio.in.h: New file.
1517         * m4/sys_uio_h.m4: Likewise.
1518         * tests/test-sys_uio.c: Likewise.
1519         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
1520         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
1521
1522 2011-04-20  Jim Meyering  <meyering@redhat.com>
1523
1524         useless-if-before-free: avoid false-positive
1525         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
1526         disjunct so that it too requires a terminating ";".  Without that,
1527         this script would identify as useless one statement from gcc that
1528         was not:
1529           if (aligned_ptr)
1530             free (((void **) aligned_ptr) [-1]);
1531
1532 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
1533
1534         doc: update users.txt.
1535         * users.txt: Add barcode.
1536
1537 2011-04-19  Bruno Haible  <bruno@clisp.org>
1538
1539         ioctl: Remove link dependency on native Windows.
1540         * lib/fd-hook.h: Renamed from lib/close-hook.h.
1541         (gl_close_fn, gl_ioctl_fn): New types.
1542         (struct fd_hook): Renamed from struct close_hook. Change type of
1543         private_close_fn field. Add private_ioctl_fn field.
1544         (close_hook_fn): Add parameter for primary close method.
1545         (execute_close_hooks, execute_all_close_hooks): Likewise.
1546         (ioctl_hook_fn): New type.
1547         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
1548         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1549         argument.
1550         (unregister_fd_hook): Renamed from unregister_close_hook.
1551         * lib/fd-hook.c: Renamed from lib/close-hook.c.
1552         Don't include <unistd.h>.
1553         (close): Remove undef.
1554         (anchor): Update.
1555         (execute_close_hooks): Add argument for primary close method.
1556         (execute_all_close_hooks): Likewise.
1557         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
1558         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1559         argument. Allow each argument to be NULL.
1560         (unregister_fd_hook): Renamed from unregister_close_hook.
1561         * lib/close.c (rpl_close): Pass 'close' function pointer to
1562         execute_all_close_hooks.
1563         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
1564         (primary_ioctl): New function.
1565         (ioctl): Don't call ioctlsocket here. Instead, call
1566         execute_all_ioctl_hooks.
1567         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
1568         close method.
1569         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
1570         (fd_sockets_hook): Renamed from close_sockets_hook.
1571         (gl_sockets_startup, gl_sockets_cleanup): Update.
1572         * modules/fd-hook: Renamed from modules/close-hook. Update.
1573         * modules/close (Depends-on): Add fd-hook, remove close-hook.
1574         * modules/sockets (Depends-on): Likewise.
1575         * modules/ioctl (Depends-on): Add fd-hook.
1576         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
1577         GNULIB_SOCKET.
1578
1579 2011-04-19  Bruno Haible  <bruno@clisp.org>
1580
1581         Move the support of O_NONBLOCK in open() to the 'open' module.
1582         * modules/nonblocking (Depends-on): Remove 'open'.
1583         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
1584         gl_cv_have_open_O_NONBLOCK.
1585         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
1586         O_NONBLOCK support.
1587         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
1588
1589 2011-04-17  Bruno Haible  <bruno@clisp.org>
1590
1591         pipe2: Simplify code.
1592         * lib/pipe2.c (pipe2): Reduce code duplication.
1593
1594 2011-04-17  Bruno Haible  <bruno@clisp.org>
1595
1596         nonblocking: Add comment.
1597         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
1598
1599 2011-04-17  Bruno Haible  <bruno@clisp.org>
1600
1601         nonblocking: Add tests for sockets.
1602         * tests/test-nonblocking-socket.sh: New file.
1603         * tests/test-nonblocking-socket-main.c: New file.
1604         * tests/test-nonblocking-socket-child.c: New file.
1605         * tests/test-nonblocking-socket.h: New file.
1606         * tests/socket-server.h: New file.
1607         * tests/socket-client.h: New file.
1608         * modules/nonblocking-socket-tests: New file.
1609         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
1610
1611 2011-04-17  Bruno Haible  <bruno@clisp.org>
1612
1613         nonblocking: Add tests for pipes.
1614         * tests/test-nonblocking-pipe.sh: New file.
1615         * tests/test-nonblocking-pipe-main.c: New file.
1616         * tests/test-nonblocking-pipe-child.c: New file.
1617         * tests/test-nonblocking-pipe.h: New file.
1618         * tests/test-nonblocking-writer.h: New file.
1619         * tests/test-nonblocking-reader.h: New file.
1620         * tests/test-nonblocking-misc.h: New file.
1621         * modules/nonblocking-pipe-tests: New file.
1622         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
1623
1624 2011-04-16  Bruno Haible  <bruno@clisp.org>
1625
1626         gettext: Clarify the needed programmer actions.
1627         * modules/gettext (Notice): New field.
1628         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
1629
1630 2011-04-16  Bruno Haible  <bruno@clisp.org>
1631
1632         strchrnul: Tweak last commit.
1633         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
1634         bug.
1635         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
1636         as in _GL_FUNCDECL_SYS.
1637         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
1638         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
1639
1640 2011-04-15  Eric Blake  <eblake@redhat.com>
1641
1642         strchrnul: work around cygwin bug
1643         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
1644         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
1645         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
1646         * modules/string (Makefile.am): Substitute it.
1647         * lib/string.in.h (strchrnul): Use it.
1648
1649 2011-04-15  Bruno Haible  <bruno@clisp.org>
1650
1651         Don't require lib/stdio-write.c when only module 'stdio' is used.
1652         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
1653         invocation.
1654         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
1655
1656 2011-04-14  Bruno Haible  <bruno@clisp.org>
1657
1658         Support non-blocking pipe I/O in read() on native Windows.
1659         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
1660         (read): New declaration.
1661         * lib/read.c: New file.
1662         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
1663         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
1664         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
1665         vscanf): New declarations.
1666         * lib/stdio-read.c: New file.
1667         * m4/read.m4: New file.
1668         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
1669         REPLACE_READ.
1670         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
1671         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1672         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
1673         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
1674         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
1675         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1676         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1677         * modules/read: New file.
1678         * modules/nonblocking (Files): Add lib/stdio-read.c.
1679         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
1680         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
1681         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1682         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1683         * modules/pread (Depends-on): Add read.
1684         * modules/safe-read (Depends-on): Likewise.
1685         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
1686         gets, scanf, vfscanf, vscanf): Verify signatures.
1687         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
1688         problem with non-blocking pipes.
1689         * doc/posix-functions/fgetc.texi: Likewise.
1690         * doc/posix-functions/fgets.texi: Likewise.
1691         * doc/posix-functions/fread.texi: Likewise.
1692         * doc/posix-functions/fscanf.texi: Likewise.
1693         * doc/posix-functions/getc.texi: Likewise.
1694         * doc/posix-functions/getchar.texi: Likewise.
1695         * doc/posix-functions/gets.texi: Likewise.
1696         * doc/posix-functions/scanf.texi: Likewise.
1697         * doc/posix-functions/vfscanf.texi: Likewise.
1698         * doc/posix-functions/vscanf.texi: Likewise.
1699
1700 2011-04-14  Bruno Haible  <bruno@clisp.org>
1701
1702         Support non-blocking pipe I/O in write() on native Windows.
1703         * lib/write.c (rpl_write): Split a write request that failed merely
1704         because the byte count was larger than the pipe buffer's size.
1705         * doc/posix-functions/write.texi: Mention the problem with large byte
1706         counts.
1707
1708 2011-04-14  Bruno Haible  <bruno@clisp.org>
1709
1710         wchar: Ensure that wchar_t gets defined on uClibc.
1711         * lib/wchar.in.h: On uClibc, include <stddef.h>.
1712         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
1713
1714 2011-04-13  Bruno Haible  <bruno@clisp.org>
1715
1716         safe-write, full-read: Avoid unnecessary compilation units.
1717         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
1718         (Depends-on): Remove safe-read. Add ssize_t.
1719         * modules/full-read (Files): Add lib/full-write.c.
1720         (Depends-on): Add full-write.
1721
1722 2011-04-13  Bruno Haible  <bruno@clisp.org>
1723
1724         Support non-blocking pipe I/O and SIGPIPE in pwrite().
1725         * modules/pwrite (Depends-on): Add 'write'.
1726
1727 2011-04-13  Bruno Haible  <bruno@clisp.org>
1728
1729         Support non-blocking pipe I/O in write() on native Windows.
1730         * lib/unistd.in.h (write): Enable replacement also if
1731         GNULIB_UNISTD_H_NONBLOCKING is 1.
1732         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
1733         (rpl_write): When failing to write on a non-blocking pipe, change
1734         errno from ENOSPC to EAGAIN.
1735         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
1736         putchar, puts, vfprintf, vprintf): Enable replacement also if
1737         GNULIB_STDIO_H_NONBLOCKING is 1.
1738         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
1739         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
1740         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
1741         CALL_WITH_SIGPIPE_EMULATION.
1742         (CALL_WITH_SIGPIPE_EMULATION): Use them.
1743         * m4/nonblocking.m4: New file.
1744         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
1745         for non-blocking I/O support.
1746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1747         GNULIB_UNISTD_H_NONBLOCKING.
1748         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
1749         required for non-blocking I/O support.
1750         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
1751         * modules/nonblocking (Files): Add m4/nonblocking.m4,
1752         lib/stdio-write.c, m4/asm-underscore.m4.
1753         (Depends-on): Add stdio, unistd.
1754         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
1755         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
1756         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
1757         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
1758         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
1759         problem with non-blocking pipes.
1760         * doc/posix-functions/fputc.texi: Likewise.
1761         * doc/posix-functions/fputs.texi: Likewise.
1762         * doc/posix-functions/fwrite.texi: Likewise.
1763         * doc/posix-functions/printf.texi: Likewise.
1764         * doc/posix-functions/putc.texi: Likewise.
1765         * doc/posix-functions/putchar.texi: Likewise.
1766         * doc/posix-functions/puts.texi: Likewise.
1767         * doc/posix-functions/vfprintf.texi: Likewise.
1768         * doc/posix-functions/vprintf.texi: Likewise.
1769         * doc/posix-functions/write.texi: Likewise.
1770
1771 2011-04-10  Jim Meyering  <meyering@redhat.com>
1772
1773         maint.mk: prohibit doubled words
1774         Detect them also when they're separated by a newline.
1775         There are 3 ways to customize it:
1776           - disable the test on a per file basis, as usual with rules using
1777             $(VC_LIST_EXCEPT)
1778           - replace the default doubled-word-selecting regexp (affects all files)
1779           - ignore a particular file-vs-doubled-word match
1780         I nearly used that last one to ignore the "is is" match in
1781         coreutils' NEWS file, since the text was "ls -is is ..."
1782         To do that, I would have added this line to cfg.mk:
1783           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
1784         but it would have ignored any "is is" match in NEWS.
1785         Low probability, but still...
1786         Instead, I changed the text, slightly:
1787           -  ls -is is now consistent with ls -lis in ignoring values returned
1788           +  "ls -is" is now consistent with ls -lis in ignoring values returned
1789         * top/maint.mk (prohibit_double_word_RE_): Provide default.
1790         (prohibit_doubled_word_): Define.
1791         (sc_prohibit_doubled_word): New rule.
1792         (sc_prohibit_the_the): Remove.  Subsumed by the above.
1793
1794 2011-04-10  Jim Meyering  <meyering@redhat.com>
1795
1796         maint: fix doubled-word typo in comment
1797         * m4/gethostname.m4: s/is is/it is/
1798         * m4/getdomainname.m4: Likewise.
1799
1800 2011-04-10  Jim Meyering  <meyering@redhat.com>
1801
1802         maint: remove doubled word: s/it it/it/
1803         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
1804
1805 2011-04-10  Jim Meyering  <meyering@redhat.com>
1806
1807         maint.mk: remove useless semicolon and backslash
1808         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
1809         semicolon and backslash.
1810
1811 2011-04-10  Bruno Haible  <bruno@clisp.org>
1812
1813         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
1814         * modules/stdint-tests (Depends-on): Add wchar.
1815
1816 2011-04-10  Jim Meyering  <meyering@redhat.com>
1817
1818         maint: remove doubled words in comments, e.g., s/a a/a/
1819         * lib/strptime.c (day_of_the_week): s/the the/the/
1820         * tests/test-chown.h (test_chown): s/a a/a/
1821
1822         test-chown.h: correct a cast
1823         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
1824         when the destination is a stat.st_gid.
1825
1826 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
1827
1828         getaddrinfo: Fix test for sa_len member.
1829         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
1830         include <sys/types.h> before <sys/socket.h>.
1831
1832 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
1833
1834         maint: change "can not" to "cannot"
1835         * doc/posix-functions/iconv.texi (iconv): This one crossed line
1836         boundaries.
1837
1838 2011-04-09  Jim Meyering  <meyering@redhat.com>
1839
1840         maint: change "a a" to "a"
1841         * tests/test-lchown.h (test_lchown): s/a a/a/
1842
1843         maint.mk: prohibit \<the the\>
1844         * top/maint.mk (sc_prohibit_the_the): New rule.
1845
1846         maint: fix "the the" in comment
1847         * lib/count-one-bits.h: s/the the/the/
1848
1849         maint: change "can not" to "cannot"
1850         But do not change the occurrences in maintain.texi or in
1851         build-aux/po/Makefile.in.in, which I presume comes from gettext.
1852         * doc/gnulib-tool.texi: s/can not/cannot/
1853         * doc/posix-functions/accept.texi (accept): Likewise.
1854         * doc/posix-functions/socket.texi (socket): Likewise.
1855         * lib/mbrtowc.c: Likewise.
1856
1857         maint.mk: prohibit use of "can not"
1858         * top/maint.mk (sc_prohibit_can_not): New rule.
1859         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
1860
1861 2011-04-09  Bruno Haible  <bruno@clisp.org>
1862
1863         careadlinkat: Guard against misuse of careadlinkatcwd.
1864         * lib/careadlinkat.c: Include <stdlib.h>.
1865         (careadlinkatcwd): Check that the fd argument is as expected.
1866
1867 2011-04-09  Bruno Haible  <bruno@clisp.org>
1868
1869         careadlinkat: Use common coding style.
1870         * lib/careadlinkat.c: Move gnulib includes after system includes.
1871
1872 2011-04-09  Bruno Haible  <bruno@clisp.org>
1873
1874         careadlinkat: Clarify specification.
1875         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
1876         (careadlinkatcwd): Add comment.
1877         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
1878
1879 2011-04-09  Bruno Haible  <bruno@clisp.org>
1880
1881         areadlinkat: Avoid link error on many platforms.
1882         * modules/areadlinkat (Depends-on): Add areadlink.
1883
1884 2011-04-09  Bruno Haible  <bruno@clisp.org>
1885
1886         allocator, careadlinkat: Fix double-inclusion guard.
1887         * lib/allocator.h: Fix double-inclusion guard.
1888         * lib/careadlinkat.h: Likewise.
1889
1890 2011-04-09  Bruno Haible  <bruno@clisp.org>
1891
1892         relocatable-prog-wrapper: Update after module 'areadlink' changed.
1893         * lib/relocwrapper.c: Update dependencies hierarchy.
1894         * build-aux/install-reloc: Update list of files to be compiled.
1895         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
1896         lib/allocator.[hc].
1897
1898 2011-04-08  Eric Blake  <eblake@redhat.com>
1899
1900         strftime: silence gnulib-tool warning
1901         * modules/strftime-tests (Depends-on): Drop automatic dependency.
1902
1903 2011-04-08  Bruno Haible  <bruno@clisp.org>
1904
1905         verify: Fix syntax error with GCC 4.6 in C++ mode.
1906         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
1907         (HAVE_STATIC_ASSERT): New macro.
1908         (verify_true, verify): Use 'static_assert' if it is supported and
1909         '_Static_assert' is not supported.
1910
1911 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
1912
1913         allocator: New module.
1914         * modules/allocator, lib/allocator.c: New files.
1915         * lib/allocator.h (stdlib_allocator): New decl.
1916         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
1917         Remove.  Do not include <stdlib.h>.
1918         (careadlinkat): Use stdlib_allocator instead of rolling our own.
1919         * modules/careadlinkat (Files): Remove lib/allocator.h.
1920         (Depends-on): Add allocator.
1921
1922         stdlib: let modules use system malloc, realloc
1923         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
1924         if !_GL_USE_STDLIB_ALLOC.
1925         (malloc, realloc): Limit this change to a smaller scope.
1926
1927         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
1928         (malloc, realloc): Don't #undef; no longer needed.
1929         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1930         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1931         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1932         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1933         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1934         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1935         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1936         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1937
1938         careadlinkat: rename members to avoid problem
1939         * lib/allocator.h (struct allocator): Rename members from
1940         malloc/realloc to allocate/reallocate, to avoid problems if malloc
1941         and realloc are #define'd.  Reported by Eric Blake in
1942         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
1943         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
1944
1945 2011-04-08  Eric Blake  <eblake@redhat.com>
1946
1947         nonblocking: reduce dependency
1948         * tests/test-nonblocking.c: Only test sockets when in use.
1949         * modules/nonblocking-tests (Depends-on): Drop socket.
1950         (Makefile.am): Link even if sockets are not present.
1951         * modules/pipe2-tests (Makefile.am): Likewise.
1952         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
1953
1954         pipe2: fix O_NONBLOCK support on mingw
1955         * modules/pipe2 (Depends-on): Add nonblocking.
1956         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
1957         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
1958         * tests/test-nonblocking.c (main): Likewise.
1959         * modules/pipe2-tests (Makefile.am): Avoid link failure.
1960
1961         fcntl-h: fix O_ACCMODE on cygwin
1962         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
1963         * lib/fcntl.in.h (O_ACCMODE): Fix it.
1964
1965         pipe-filter: drop O_NONBLOCK workarounds
1966         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
1967         * modules/pipe-filter-ii (Depends-on): Likewise.
1968         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
1969
1970         nonblocking: provide O_NONBLOCK for mingw
1971         * modules/nonblocking (Depends-on): Add open.
1972         (configure.ac): Set new witness macro.
1973         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
1974         * modules/fcntl-h (Makefile.am): Substitute it.
1975         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
1976         nonblocking module is in use.
1977         * lib/nonblocking.c: Adjust portability test.
1978         * lib/open.c (open): Don't let native open see gnulib flag.
1979         * tests/test-fcntl-h.c (main): Enhance test.
1980         * tests/test-open.h (test_open): Likewise.
1981         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
1982
1983         careadlinkat: fix compilation error on mingw
1984         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
1985         within struct allocator.
1986
1987 2011-04-06  Eric Blake  <eblake@redhat.com>
1988
1989         binary-io: relicense under LGPLv2+
1990         * modules/binary-io (License): Relax to LGPLv2+.
1991         Requested for libvirt, and required by pipe2.
1992
1993 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
1994
1995         verify: use _Static_assert if available
1996         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
1997         (verify_true, verify): Use it if available.  This generates better
1998         diagnostics with GCC 4.6.0 and later.
1999
2000 2011-04-05  Bruno Haible  <bruno@clisp.org>
2001
2002         Remove leftover generated .h files after config.status changed.
2003
2004         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
2005         GL_GENERATE_ALLOCA_H.
2006         * modules/alloca-opt (Makefile.am): Remove alloca.h if
2007         GL_GENERATE_ALLOCA_H evaluates to false.
2008
2009         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
2010         GL_GENERATE_ARGZ_H.
2011         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
2012         evaluates to false.
2013
2014         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
2015         GL_GENERATE_BYTESWAP_H.
2016         * modules/byteswap (Makefile.am): Remove byteswap.h if
2017         GL_GENERATE_BYTESWAP_H evaluates to false.
2018
2019         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
2020         GL_GENERATE_ERRNO_H.
2021         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
2022         evaluates to false.
2023
2024         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
2025         GL_GENERATE_FLOAT_H.
2026         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
2027         evaluates to false.
2028
2029         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
2030         GL_GENERATE_FNMATCH_H.
2031         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
2032         GL_GENERATE_FNMATCH_H evaluates to false.
2033
2034         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
2035         GL_GENERATE_GLOB_H.
2036         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
2037         evaluates to false.
2038
2039         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
2040         automake conditional GL_GENERATE_ICONV_H.
2041         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
2042         evaluates to false.
2043
2044         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
2045         GL_GENERATE_NETINET_IN_H.
2046         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
2047         GL_GENERATE_NETINET_IN_H evaluates to false.
2048
2049         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
2050         conditional GL_GENERATE_PTHREAD_H.
2051         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
2052         * modules/pthread (Makefile.am): Remove pthread.h if
2053         GL_GENERATE_PTHREAD_H evaluates to false.
2054
2055         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
2056         GL_GENERATE_SCHED_H.
2057         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
2058         evaluates to false.
2059
2060         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
2061         conditional GL_GENERATE_SELINUX_CONTEXT_H.
2062         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
2063         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
2064
2065         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
2066         GL_GENERATE_STDARG_H.
2067         * modules/stdarg (Makefile.am): Remove stdarg.h if
2068         GL_GENERATE_STDARG_H evaluates to false.
2069
2070         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
2071         GL_GENERATE_STDBOOL_H.
2072         * modules/stdbool (Makefile.am): Remove stdbool.h if
2073         GL_GENERATE_STDBOOL_H evaluates to false.
2074
2075         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
2076         conditional GL_GENERATE_STDDEF_H.
2077         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
2078         * modules/stddef (Makefile.am): Remove stddef.h if
2079         GL_GENERATE_STDDEF_H evaluates to false.
2080
2081         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
2082         GL_GENERATE_STDINT_H.
2083         * modules/stdint (Makefile.am): Remove stdint.h if
2084         GL_GENERATE_STDINT_H evaluates to false.
2085
2086         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
2087         GL_GENERATE_SYSEXITS_H.
2088         * modules/sysexits (Makefile.am): Remove sysexits.h if
2089         GL_GENERATE_SYSEXITS_H evaluates to false.
2090
2091         Reported by Karl Berry and Ralf Wildenhues.
2092
2093 2011-04-05  Bruno Haible  <bruno@clisp.org>
2094
2095         Ensure to rebuild generated .h files when config.status has changed.
2096         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
2097         config.status.
2098         * modules/ctype (Makefile.am): Likewise.
2099         * modules/dirent (Makefile.am): Likewise.
2100         * modules/errno (Makefile.am): Likewise.
2101         * modules/fcntl-h (Makefile.am): Likewise.
2102         * modules/float (Makefile.am): Likewise.
2103         * modules/getopt-posix (Makefile.am): Likewise.
2104         * modules/glob (Makefile.am): Likewise.
2105         * modules/iconv-h (Makefile.am): Likewise.
2106         * modules/inttypes (Makefile.am): Likewise.
2107         * modules/langinfo (Makefile.am): Likewise.
2108         * modules/locale (Makefile.am): Likewise.
2109         * modules/math (Makefile.am): Likewise.
2110         * modules/netdb (Makefile.am): Likewise.
2111         * modules/netinet_in (Makefile.am): Likewise.
2112         * modules/poll-h (Makefile.am): Likewise.
2113         * modules/pthread (Makefile.am): Likewise.
2114         * modules/pty (Makefile.am): Likewise.
2115         * modules/sched (Makefile.am): Likewise.
2116         * modules/search (Makefile.am): Likewise.
2117         * modules/selinux-h (Makefile.am): Likewise.
2118         * modules/signal (Makefile.am): Likewise.
2119         * modules/spawn (Makefile.am): Likewise.
2120         * modules/stdarg (Makefile.am): Likewise.
2121         * modules/stdbool (Makefile.am): Likewise.
2122         * modules/stddef (Makefile.am): Likewise.
2123         * modules/stdint (Makefile.am): Likewise.
2124         * modules/stdio (Makefile.am): Likewise.
2125         * modules/stdlib (Makefile.am): Likewise.
2126         * modules/string (Makefile.am): Likewise.
2127         * modules/strings (Makefile.am): Likewise.
2128         * modules/sys_file (Makefile.am): Likewise.
2129         * modules/sys_ioctl (Makefile.am): Likewise.
2130         * modules/sys_select (Makefile.am): Likewise.
2131         * modules/sys_socket (Makefile.am): Likewise.
2132         * modules/sys_stat (Makefile.am): Likewise.
2133         * modules/sys_time (Makefile.am): Likewise.
2134         * modules/sys_times (Makefile.am): Likewise.
2135         * modules/sys_utsname (Makefile.am): Likewise.
2136         * modules/sys_wait (Makefile.am): Likewise.
2137         * modules/sysexits (Makefile.am): Likewise.
2138         * modules/termios (Makefile.am): Likewise.
2139         * modules/time (Makefile.am): Likewise.
2140         * modules/unistd (Makefile.am): Likewise.
2141         * modules/wchar (Makefile.am): Likewise.
2142         * modules/wctype-h (Makefile.am): Likewise.
2143         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
2144
2145 2011-04-05  Bruno Haible  <bruno@clisp.org>
2146
2147         pipe2: Relicense under LGPLv2+.
2148         * modules/pipe2 (License): Change to LGPLv2+.
2149         Requested by Eric Blake, for libvirt.
2150
2151 2011-04-05  Bruce Korb  <bkorb@gnu.org>
2152
2153         bootstrap: compute gnulib_extra_files after updating build_aux
2154         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
2155         change build_aux or also supply gnulib_extra_files.  Handle correctly.
2156
2157 2011-04-05  Eric Blake  <eblake@redhat.com>
2158
2159         bootstrap: preserve git whitelist item sorting
2160         * build-aux/bootstrap (sort_patterns): New function.
2161         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
2162
2163 2011-04-05  Simon Josefsson  <simon@josefsson.org>
2164
2165         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
2166         sc_space_tab check.
2167
2168 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
2169
2170         areadlink, areadlinkat: rewrite in terms of careadlinkat
2171         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
2172         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
2173         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
2174         (malloc, realloc): Remove #undefs.
2175         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
2176         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
2177         readlink, ssize_t, stdint, unistd.
2178         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
2179         areadlink, stdint.
2180
2181         careadlinkat: new module
2182         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
2183         * modules/careadlinkat: New files, written by me with
2184         a review and feedback from Ben Pfaff in
2185         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
2186
2187 2011-04-01  Bruno Haible  <bruno@clisp.org>
2188
2189         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
2190         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
2191         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
2192         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
2193         Reported by Bruce Korb <bruce.korb@gmail.com>.
2194
2195 2011-04-01  Bruno Haible  <bruno@clisp.org>
2196
2197         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
2198         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
2199         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
2200         * modules/wcpcpy (Depends-on): Add extensions.
2201         * modules/wcpncpy (Depends-on): Likewise.
2202         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
2203         systems.
2204         * doc/posix-functions/wcpncpy.texi: Likewise.
2205         * doc/posix-functions/wcwidth.texi: Likewise.
2206
2207 2011-03-31  Eric Blake  <eblake@redhat.com>
2208
2209         nonblocking: fix mingw test failures
2210         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
2211         non-blocking flag on regular file.
2212         (get_nonblocking_flag): Set errno on invalid fd.
2213         * tests/test-nonblocking.c (main): Avoid test failure on
2214         directories if fchdir is not active.
2215         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
2216
2217 2011-03-31  Bruno Haible  <bruno@clisp.org>
2218
2219         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
2220         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
2221         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
2222         Reported by Simon Josefsson <simon@josefsson.org>.
2223
2224 2011-03-31  Bruno Haible  <bruno@clisp.org>
2225         and Eric Blake  <eblake@redhat.com>
2226
2227         nonblocking: new module
2228         * modules/nonblocking: New module.
2229         * modules/nonblocking-tests: Likewise.
2230         * lib/nonblocking.h: New file.
2231         * lib/nonblocking.c: Likewise.
2232         * tests/test-nonblocking.c: New test.
2233         * lib/ioctl.c (ioctl) [mingw]: Update comment.
2234
2235 2011-03-30  Bruno Haible  <bruno@clisp.org>
2236
2237         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
2238         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
2239         instead of 'printf' format for GCC >= 4.4.
2240         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
2241         (fprintf, printf, vfprintf, vprintf): Declare with
2242         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
2243         the system's vfprintf() function.
2244         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
2245
2246 2011-03-30  Eric Blake  <eblake@redhat.com>
2247
2248         passfd: fix scoping bug
2249         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
2250         before sendmsg/recvmsg.
2251
2252         passfd: standardize coding conventions
2253         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
2254         can be learned at compile time.
2255         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
2256         ifdefs.
2257         (sendfd, recvfd): Follow gnulib code conventions.
2258
2259         passfd: fix incorrect sendmsg arguments
2260         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
2261         incorrect msg_controllen value.
2262         * modules/passfd-tests (Depends-on): Check for alarm.
2263         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
2264         Reported by Bastien ROUCARIES.
2265
2266 2011-03-30  Bruno Haible  <bruno@clisp.org>
2267
2268         c-strcasestr: Relicense under LGPLv2+.
2269         * modules/c-strcasestr (License): Change to LGPLv2+.
2270         Requested by Eric Blake, for libvirt.
2271
2272 2011-03-30  Simon Josefsson  <simon@josefsson.org>
2273
2274         * users.txt: Add libidn2.  Fix libtasn1 link.
2275
2276 2011-03-30  Jim Meyering  <meyering@redhat.com>
2277
2278         tests: readlink* ("",... fails with EINVAL on newer kernels
2279         readlink and readlinkat have typically failed with ENOENT for
2280         the invalid, empty file name,  "".  However, with the advent
2281         of linux-2.6.39, they fail with EINVAL.
2282         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
2283         when operating on the empty file name.
2284         * tests/test-readlink.h (test_readlink): Likewise.
2285
2286 2011-03-29  Bruno Haible  <bruno@clisp.org>
2287
2288         Relicense some modules under LGPLv2+, for libidn2.
2289         * modules/array-mergesort (License): Change to LGPLv2+.
2290         * modules/c-strcaseeq (License): Likewise.
2291         * modules/striconveh (License): Likewise.
2292         * modules/striconveha (License): Likewise.
2293         * modules/uniconv/base (License): Likewise.
2294         * modules/uniconv/u8-conv-from-enc (License): Likewise.
2295         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
2296         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
2297         * modules/unictype/base (License): Likewise.
2298         * modules/unictype/bidiclass-of (License): Likewise.
2299         * modules/unictype/category-M (License): Likewise.
2300         * modules/unictype/category-none (License): Likewise.
2301         * modules/unictype/category-of (License): Likewise.
2302         * modules/unictype/category-test (License): Likewise.
2303         * modules/unictype/category-test-withtable (License): Likewise.
2304         * modules/unictype/combining-class (License): Likewise.
2305         * modules/unictype/joiningtype-of (License): Likewise.
2306         * modules/unictype/scripts (License): Likewise.
2307         * modules/uninorm/base (License): Likewise.
2308         * modules/uninorm/canonical-decomposition (License): Likewise.
2309         * modules/uninorm/composition (License): Likewise.
2310         * modules/uninorm/decompose-internal (License): Likewise.
2311         * modules/uninorm/decomposition-table (License): Likewise.
2312         * modules/uninorm/nfc (License): Likewise.
2313         * modules/uninorm/nfd (License): Likewise.
2314         * modules/uninorm/u32-normalize (License): Likewise.
2315         * modules/unistr/base (License): Likewise.
2316         * modules/unistr/u32-cpy (License): Likewise.
2317         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
2318         * modules/unistr/u32-to-u8 (License): Likewise.
2319         * modules/unistr/u32-uctomb (License): Likewise.
2320         * modules/unistr/u8-check (License): Likewise.
2321         * modules/unistr/u8-mblen (License): Likewise.
2322         * modules/unistr/u8-mbtouc (License): Likewise.
2323         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
2324         * modules/unistr/u8-mbtoucr (License): Likewise.
2325         * modules/unistr/u8-prev (License): Likewise.
2326         * modules/unistr/u8-strlen (License): Likewise.
2327         * modules/unistr/u8-to-u32 (License): Likewise.
2328         * modules/unistr/u8-uctomb (License): Likewise.
2329         * modules/unitypes (License): Likewise.
2330         Requested by Simon Josefsson.
2331
2332 2011-03-29  Simon Josefsson  <simon@josefsson.org>
2333
2334         lib-symbol-visibility: Add a notice.
2335         * modules/lib-symbol-visibility (Notice): New field.
2336
2337 2011-03-29  Bruno Haible  <bruno@clisp.org>
2338
2339         getaddrinfo: Doc fix.
2340         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
2341         section "fixed in Gnulib".
2342
2343 2011-03-28  Simon Josefsson  <simon@josefsson.org>
2344
2345         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
2346         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
2347
2348 2011-03-26  Bruno Haible  <bruno@clisp.org>
2349
2350         unictype/property-byname: Reduce the number of load-time relocations.
2351         * lib/unictype/pr_byname.c: Include <stdlib.h>.
2352         (UC_PROPERTY_INDEX_*): New enumeration values.
2353         (uc_property_byname): Convert an index from the lookup table to an
2354         uc_property_t.
2355         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
2356         values.
2357
2358 2011-03-26  Bruno Haible  <bruno@clisp.org>
2359
2360         unictype/property-byname: Allow omitted word separators and aliases.
2361         * lib/unictype/pr_byname.gperf: Add property names without word
2362         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
2363         for 'space'.
2364
2365 2011-03-26  Bruno Haible  <bruno@clisp.org>
2366
2367         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
2368         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
2369         also hyphens to space.
2370         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
2371         without spaces.
2372         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
2373
2374 2011-03-26  Bruno Haible  <bruno@clisp.org>
2375
2376         unictype/joiningtype-byname: Recognize long names as well.
2377         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
2378         a long name.
2379         * lib/unictype/joiningtype_byname.c: Include <string.h>,
2380         unictype/joiningtype_byname.h.
2381         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
2382         * lib/unictype/joiningtype_byname.gperf: New file.
2383         * modules/unictype/joiningtype-byname (Files): Add
2384         lib/unictype/joiningtype_byname.gperf.
2385         (Depends-on): Add gperf.
2386         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
2387         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
2388         long names.
2389
2390         Tests for module 'unictype/joiningtype-longname'.
2391         * modules/unictype/joiningtype-longname-tests: New file.
2392         * tests/unictype/test-joiningtype_longname.c: New file.
2393
2394         New module 'unictype/joiningtype-longname'.
2395         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
2396         * lib/unictype/joiningtype_longname.c: New file.
2397         * modules/unictype/joiningtype-longname: New file.
2398         * modules/unictype/joiningtype-all (Depends-on): Add
2399         unictype/joiningtype-longname.
2400
2401 2011-03-26  Bruno Haible  <bruno@clisp.org>
2402
2403         unictype/bidiclass-byname: Recognize long names as well.
2404         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
2405         name.
2406         * lib/unictype/bidi_byname.c: Include <string.h>,
2407         unictype/bidi_byname.h.
2408         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
2409         * lib/unictype/bidi_byname.gperf: New file.
2410         * modules/unictype/bidiclass-byname (Files): Add
2411         lib/unictype/bidi_byname.gperf.
2412         (Depends-on): Add gperf.
2413         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
2414         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
2415         long names.
2416
2417         Tests for module 'unictype/bidiclass-longname'.
2418         * modules/unictype/bidiclass-longname-tests: New file.
2419         * tests/unictype/test-bidi_longname.c: New file.
2420
2421         New module 'unictype/bidiclass-longname'.
2422         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
2423         * lib/unictype/bidi_longname.c: New file.
2424         * modules/unictype/bidiclass-longname: New file.
2425         * modules/unictype/bidiclass-all (Depends-on): Add
2426         unictype/bidiclass-longname.
2427
2428 2011-03-26  Bruno Haible  <bruno@clisp.org>
2429
2430         unictype/bidi*: Rename modules.
2431         * modules/unictype/bidiclass-all: Renamed from
2432         modules/unictype/bidicategory-all.
2433         * modules/unictype/bidiclass-name: Renamed from
2434         modules/unictype/bidiclass-name.
2435         (Description): Update.
2436         * modules/unictype/bidiclass-name-tests: Renamed from
2437         modules/unictype/bidicategory-name-tests.
2438         * modules/unictype/bidiclass-byname: Renamed from
2439         modules/unictype/bidicategory-byname.
2440         (Description): Update.
2441         * modules/unictype/bidiclass-byname-tests: Renamed from
2442         modules/unictype/bidicategory-byname-tests.
2443         * modules/unictype/bidiclass-of: Renamed from
2444         modules/unictype/bidicategory-of.
2445         (Description): Update.
2446         * modules/unictype/bidiclass-of-tests: Renamed from
2447         modules/unictype/bidicategory-of-tests.
2448         * modules/unictype/bidiclass-test: Renamed from
2449         modules/unictype/bidicategory-test.
2450         (Description): Update.
2451         * modules/unictype/bidiclass-test-tests: Renamed from
2452         modules/unictype/bidicategory-test-tests.
2453         * modules/unictype/bidicategory-all: New file, a simple redirection.
2454         * modules/unictype/bidicategory-name: Likewise.
2455         * modules/unictype/bidicategory-byname: Likewise.
2456         * modules/unictype/bidicategory-of: Likewise.
2457         * modules/unictype/bidicategory-test: Likewise.
2458         * modules/unictype/property-bidi-* (Dependencies): Update.
2459         * lib/unictype/bidi_*.c: Update comment.
2460
2461 2011-03-26  Bruno Haible  <bruno@clisp.org>
2462
2463         unictype/bidi*: Rename functions, part 2.
2464         * modules/unictype/bidicategory-name (configure.ac): Update required
2465         libunistring version.
2466         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
2467
2468 2011-03-25  Bruno Haible  <bruno@clisp.org>
2469
2470         New module 'unictype/combining-class-all'.
2471         * modules/unictype/combining-class-all: New file.
2472
2473         Tests for module 'unictype/combining-class-byname'.
2474         * modules/unictype/combining-class-byname-tests: New file.
2475         * tests/unictype/test-combiningclass_byname.c: New file.
2476
2477         New module 'unictype/combining-class-byname'.
2478         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
2479         * lib/unictype/combiningclass_byname.c: New file.
2480         * lib/unictype/combiningclass_byname.gperf: New file.
2481         * modules/unictype/combining-class-byname: New file.
2482
2483         Tests for module 'unictype/combining-class-longname'.
2484         * modules/unictype/combining-class-longname-tests: New file.
2485         * tests/unictype/test-combiningclass_longname.c: New file.
2486
2487         New module 'unictype/combining-class-longname'.
2488         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
2489         * lib/unictype/combiningclass_longname.c: New file.
2490         * modules/unictype/combining-class-longname: New file.
2491
2492         Tests for module 'unictype/combining-class-name'.
2493         * modules/unictype/combining-class-name-tests: New file.
2494         * tests/unictype/test-combiningclass_name.c: New file.
2495
2496         New module 'unictype/combining-class-name'.
2497         * lib/unictype.in.h (uc_combining_class_name): New declaration.
2498         * lib/unictype/combiningclass_name.c: New file.
2499         * modules/unictype/combining-class-name: New file.
2500
2501 2011-03-25  Bruno Haible  <bruno@clisp.org>
2502
2503         unictype/combining-class: Rename source files.
2504         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
2505         of unictype/combining.h.
2506         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
2507         Update.
2508         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
2509         * modules/unictype/combining-class (Description): Fix.
2510         (Files, Makefile.am): Update.
2511         * tests/unictype/test-combiningclass.c: Renamed from
2512         tests/unictype/test-combining.c.
2513         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
2514
2515 2011-03-25  Bruno Haible  <bruno@clisp.org>
2516
2517         unictype: Update list of canonical combining classes.
2518         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
2519
2520 2011-03-25  Bruno Haible  <bruno@clisp.org>
2521
2522         unictype/category-byname: Recognize long names as well.
2523         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
2524         a long name.
2525         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
2526         unictype/categ_byname.h.
2527         (UC_CATEGORY_INDEX_*): New enumeration values.
2528         (uc_general_category_byname): Use uc_general_category_lookup and
2529         convert from index to value.
2530         * lib/unictype/categ_byname.gperf: New file.
2531         * modules/unictype/category-byname (Files): Add
2532         lib/unictype/categ_byname.gperf.
2533         (Depends-on): Add gperf.
2534         (Makefile.am): Add rule for generating unictype/categ_byname.h.
2535         * tests/unictype/test-categ_byname.c (main): Test the recognition of
2536         long names.
2537
2538         Tests for module 'unictype/category-longname'.
2539         * modules/unictype/category-longname-tests: New file.
2540         * tests/unictype/test-categ_longname.c: New file.
2541
2542         New module 'unictype/category-longname'.
2543         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
2544         * lib/unictype/categ_longname.c: New file.
2545         * modules/unictype/category-longname: New file.
2546         * modules/unictype/category-all (Depends-on): Add it.
2547
2548 2011-03-25  Bruno Haible  <bruno@clisp.org>
2549
2550         Tests for module 'unictype/category-LC'.
2551         * modules/unictype/category-LC-tests: New file.
2552         * tests/unictype/test-categ_LC.c: New file, automatically generated.
2553
2554         New module 'unictype/category-LC'.
2555         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
2556         (UC_CATEGORY_LC): New declaration.
2557         (UC_CASED_LETTER): New macro.
2558         * lib/gen-uni-tables.c (is_category_LC): New function.
2559         (output_categories): Also handle category LC.
2560         (UC_CATEGORY_MASK_LC): New enumeration value.
2561         (general_category_byname): Also handle category LC.
2562         * lib/unictype/categ_LC.c: New file.
2563         * lib/unictype/categ_LC.h: New file, automatically generated.
2564         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
2565         category LC.
2566         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
2567         * modules/unictype/category-LC: New file.
2568         * modules/unictype/category-byname (Depends-on): Add
2569         unictype/category-LC.
2570         * modules/unictype/category-all (Depends-on): Likewise.
2571
2572 2011-03-25  Eric Blake  <eblake@redhat.com>
2573
2574         xmalloc: revert yesterday's regression
2575         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
2576         realloc's underlying behavior (allowing allocation of zero-size
2577         objects, especially if malloc-gnu is also in use).
2578
2579 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
2580
2581         maint.mk: add missing version to VC-tag
2582         * top/maint.mk: git tag was missing actual tag name; add it.
2583
2584         valgrind: do leak checking, and exit with code 1 on error (not 0)
2585         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
2586         to VALGRIND.
2587
2588 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
2589
2590         posix-modules: say what it does.
2591         * posix-modules: Add a line to the --help output saying what it does.
2592
2593 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
2594
2595         xmalloc: Do not leak if underlying realloc is C99 compatible.
2596         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
2597         This avoids a leak on C99-based systems.  See
2598         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
2599
2600 2011-03-24  Eric Blake  <eblake@redhat.com>
2601
2602         realloc: document portability problem
2603         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
2604         passing 0 size to realloc.
2605
2606 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
2607
2608         doc: update users.txt
2609         * users.txt: Add cvsps, tmpwatch
2610
2611 2011-03-23  Matt Rice  <ratmice@gmail.com>
2612
2613         doc: update users.txt
2614         * users.txt: Add gdb.
2615
2616 2011-03-23  Jim Meyering  <meyering@redhat.com>
2617
2618         doc: update users.txt
2619         Looking through matches up to the following URL (there are still
2620         several more pages), I found several projects that use gnulib:
2621         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
2622         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
2623         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
2624
2625 2011-03-22  Bruno Haible  <bruno@clisp.org>
2626
2627         unictype/bidi*: Rename functions.
2628         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
2629         uc_bidi_class, uc_is_bidi_class): New declarations.
2630         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
2631         uc_bidi_category_byname.
2632         (uc_bidi_category_byname): New function.
2633         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
2634         u_bidi_category_name.
2635         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
2636         (uc_bidi_category_name): New function.
2637         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
2638         uc_bidi_category.
2639         (uc_bidi_category): New function.
2640         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
2641         uc_is_bidi_category. Invoke uc_bidi_class.
2642         (uc_is_bidi_category): New function.
2643         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
2644         instead of uc_bidi_category_byname.
2645         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
2646         instead of uc_bidi_category_name.
2647         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
2648         uc_bidi_category.
2649         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
2650         instead of uc_is_bidi_category.
2651
2652 2011-03-21  Bruno Haible  <bruno@clisp.org>
2653
2654         New module 'unictype/joininggroup-all'.
2655         * modules/unictype/joininggroup-all: New file.
2656
2657         Tests for module 'unictype/joininggroup-of'.
2658         * modules/unictype/joininggroup-of-tests: New file.
2659         * tests/unictype/test-joininggroup_of.c: New file.
2660         * tests/unictype/test-joininggroup_of.h: New file, automatically
2661         generated by gen-uni-tables.
2662
2663         New module 'unictype/joininggroup-of'.
2664         * modules/unictype/joininggroup-of: New file.
2665         * lib/unictype/joininggroup_of.c: New file.
2666         * lib/unictype/joininggroup_of.h: New file, automatically generated by
2667         gen-uni-tables.
2668
2669         Tests for module 'unictype/joininggroup-byname'.
2670         * modules/unictype/joininggroup-byname-tests: New file.
2671         * tests/unictype/test-joininggroup_byname.c: New file.
2672
2673         New module 'unictype/joininggroup-byname'.
2674         * modules/unictype/joininggroup-byname: New file.
2675         * lib/unictype/joininggroup_byname.c: New file.
2676         * lib/unictype/joininggroup_byname.gperf: New file.
2677
2678         Tests for module 'unictype/joininggroup-name'.
2679         * modules/unictype/joininggroup-name-tests: New file.
2680         * tests/unictype/test-joininggroup_name.c: New file.
2681
2682         New module 'unictype/joininggroup-name'.
2683         * modules/unictype/joininggroup-name: New file.
2684         * lib/unictype/joininggroup_name.c: New file.
2685         * lib/unictype/joininggroup_name.h: New file.
2686
2687         New module 'unictype/joiningtype-all'.
2688         * modules/unictype/joiningtype-all: New file.
2689
2690         Tests for module 'unictype/joiningtype-of'.
2691         * modules/unictype/joiningtype-of-tests: New file.
2692         * tests/unictype/test-joiningtype_of.c: New file.
2693         * tests/unictype/test-joiningtype_of.h: New file, automatically
2694         generated by gen-uni-tables.
2695
2696         New module 'unictype/joiningtype-of'.
2697         * modules/unictype/joiningtype-of: New file.
2698         * lib/unictype/joiningtype_of.c: New file.
2699         * lib/unictype/joiningtype_of.h: New file, automatically generated by
2700         gen-uni-tables.
2701
2702         Tests for module 'unictype/joiningtype-byname'.
2703         * modules/unictype/joiningtype-byname-tests: New file.
2704         * tests/unictype/test-joiningtype_byname.c: New file.
2705
2706         New module 'unictype/joiningtype-byname'.
2707         * modules/unictype/joiningtype-byname: New file.
2708         * lib/unictype/joiningtype_byname.c: New file.
2709
2710         Tests for module 'unictype/joiningtype-name'.
2711         * modules/unictype/joiningtype-name-tests: New file.
2712         * tests/unictype/test-joiningtype_name.c: New file.
2713
2714         New module 'unictype/joiningtype-name'.
2715         * modules/unictype/joiningtype-name: New file.
2716         * lib/unictype/joiningtype_name.c: New file.
2717
2718         unictype: Add support for Arabic shaping properties.
2719         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
2720         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
2721         declarations.
2722         (UC_JOINING_GROUP_*): New enumeration values.
2723         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
2724         declarations.
2725         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
2726         (unicode_joining_type): New variable.
2727         (UC_JOINING_GROUP_*): New enumeration values.
2728         (unicode_joining_group): New variable.
2729         (fill_arabicshaping, joining_type_as_c_identifier,
2730         output_joining_type_test, output_joining_type,
2731         joining_group_as_c_identifier, output_joining_group_test,
2732         output_joining_group): New functions.
2733         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
2734         fill_arabicshaping and output_joining_type_test, output_joining_type,
2735         output_joining_group_test, output_joining_group.
2736         Reported by Simon Josefsson.
2737
2738 2011-03-21  Jim Meyering  <meyering@redhat.com>
2739
2740         strftime: fix a bug in yesterday's change
2741         * lib/strftime.c (add): Accommodate width's initial value of -1.
2742         Otherwise, nstrftime would copy uninitialized data into
2743         the result buffer.
2744
2745 2011-03-21  Jim Meyering  <meyering@redhat.com>
2746
2747         tests: add strftime-tests module
2748         * tests/test-strftime.c: New file.
2749         * modules/strftime-tests: New module.
2750
2751 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2752
2753         strftime: don't assume a byte count fits in 'int'
2754         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
2755         found this problem by static analysis, using gcc -Wstrict-overflow
2756         (GCC 4.5.2, x86-64).  This reported an optimization that depended
2757         on an integer overflow having undefined behavior, but it turns out
2758         that the argument is a size, which might not fit in 'int' anyway,
2759
2760 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2761
2762         stdio: don't require ignore_value around fwrite
2763
2764         This patch works around libc bug 11959
2765         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
2766         Without this patch, applications must often write
2767         ignore_value (fwrite (...)) even though the ignore_value is
2768         not helpful here.  It's common to write many objects, using
2769         fwrite/printf/etc., and then use ferror to detect output error.
2770
2771         I considered making this patch optional, but decided against it,
2772         because libc is obviously being inconsistent here: there is no
2773         reason libc should insist that user code must inspect fwrite
2774         return's value without also insisting that it inspect printf's,
2775         putchar's, etc.  If user code wants to have a strict style where
2776         all these functions' values are checked (so that ferror need not
2777         be checked), we could add support for that style in a new gnulib
2778         module, but in the meantime it's better to be consistent and to
2779         support common usage.
2780
2781         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
2782         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
2783         that we are compiling in checking mode, and if not C++, and
2784         if not already wrapping fwrite for some other reason.
2785         (fwrite): #define to rpl_fwrite if the latter is defined.
2786
2787 2011-03-20  Bruno Haible  <bruno@clisp.org>
2788
2789         verror: Fix compilation error introduced on 2011-02-13.
2790         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
2791         instead of __attribute__.
2792         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2793
2794 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2795             Bruno Haible  <bruno@clisp.org>
2796
2797         socklen: do not depend on sys_socket
2798         While trying to modify Emacs to use gnulib's socklen module,
2799         I discovered a circular dependency: socklen depends on sys_socket
2800         and vice versa.  Emacs can use socklen, but it does not need
2801         sys_socket because it has its own substitute for sys/socket.h.
2802         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
2803         gl_TYPE_SOCKLEN_T.
2804         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
2805         gl_PREREQ_SYS_H_SOCKET.
2806         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
2807         gl_PREREQ_SYS_H_SOCKET.
2808         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
2809         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
2810         * modules/socklen (Depends-on): Do not depend on sys_socket.
2811         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
2812
2813 2011-03-20  Jim Meyering  <meyering@redhat.com>
2814
2815         maint.mk: sort file names *after* new transformation
2816         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
2817         prefix would have led to an unwarranted failure in GNU parted.
2818         Sort after that transformation.
2819
2820 2011-03-19  Jim Meyering  <meyering@redhat.com>
2821
2822         maint.mk: fix po-file syntax-check rule
2823         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
2824         Patch by Bruno Haible.
2825
2826 2011-03-19  Bruno Haible  <bruno@clisp.org>
2827
2828         socklen: Update comment.
2829         * m4/socklen.m4: Update comment about platforms.
2830
2831 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2832             Bruno Haible  <bruno@clisp.org>
2833
2834         inet_ntop, inet_pton: Simplify.
2835         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
2836         documented to provide socklen_t and we already depend on sys_socket.
2837         * modules/inet_pton (Depends-on): Likewise.
2838         * lib/arpa_inet.in.h: Adjust comment.
2839
2840 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2841             Bruno Haible  <bruno@clisp.org>
2842
2843         netdb: Simplify.
2844         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
2845         documented to provide socklen_t and we already depend on sys_socket.
2846         * lib/netdb.in.h: Adjust comment.
2847
2848 2011-03-19  Bruno Haible  <bruno@clisp.org>
2849
2850         sys_socket, netdb: Document problem with socklen_t.
2851         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
2852         platforms.
2853         * doc/posix-headers/netdb.texi: Likewise.
2854
2855 2011-03-18  Eric Blake  <eblake@redhat.com>
2856
2857         maint.mk: let po check work in VPATH build
2858         * top/maint.mk (po_file): Allow cfg.mk override.
2859         (sc_po_check): Allow VPATH use.
2860         Reported by Jiri Denemark.
2861
2862 2011-03-16  Jim Meyering  <meyering@redhat.com>
2863
2864         maint.mk: allow fine-grained syntax-check exclusion via Make variables
2865         Before, you would have had to create one .x-sc_ file per rule in order
2866         to exempt offending files.  Now, you may instead use a Make variable --
2867         usually defined in cfg.mk -- whose name identifies the affected rule.
2868         * top/maint.mk (_sc_excl): Define.
2869         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
2870         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
2871
2872 2011-03-13  Bruno Haible  <bruno@clisp.org>
2873
2874         ignore-value tests: Avoid warnings.
2875         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
2876         empty for gcc < 3.4.
2877
2878 2011-03-13  Bruno Haible  <bruno@clisp.org>
2879
2880         passfd: Fix link error on Solaris.
2881         * modules/passfd (Description): Correct.
2882         (Depends-on): Add socketlib.
2883         (Link): New section.
2884         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
2885
2886 2011-03-13  Bruno Haible  <bruno@clisp.org>
2887
2888         passfd: Fix link error on AIX 5.2.
2889         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
2890
2891 2011-03-13  Bruno Haible  <bruno@clisp.org>
2892
2893         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
2894         * lib/sys_socket.in.h: Include <stddef.h>.
2895         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
2896         CMSG_FIRSTHDR. Remove unused variable.
2897
2898 2011-03-13  Bruno Haible  <bruno@clisp.org>
2899
2900         passfd: Fix compilation error on OpenBSD.
2901         * lib/passfd.c: Include <sys/uio.h>.
2902
2903 2011-03-13  Bruno Haible  <bruno@clisp.org>
2904
2905         passfd test: Fix warnings.
2906         * tests/test-passfd.c: Include <sys/wait.h>.
2907         (main): Fix typo.
2908
2909 2011-03-13  Bruno Haible  <bruno@clisp.org>
2910
2911         passfd module, part 4, tweaks.
2912         * tests/test-passfd.c: Reorder includes.
2913         (main): Fix perror and printf calls.
2914
2915 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2916
2917         passfd module, part 4.
2918         * modules/passfd-tests: New file.
2919         * tests/test-passfd.c: New file.
2920
2921 2011-03-13  Jim Meyering  <meyering@redhat.com>
2922
2923         Makefile: rely on GNU make; derive syntax-check rule names
2924         Rather than requiring that each sc_ rule be listed as a dependent
2925         of "check", use features of GNU make to derive the list.
2926         * Makefile (syntax-check-rules): Define.
2927         (check): Depend on the new variable, not the hard-coded list.
2928
2929 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
2930             Bruno Haible  <bruno@clisp.org>
2931
2932         passfd module, part 3.
2933         * lib/passfd.h (recvfd): Add a flags argument.
2934         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
2935         (recvfd): Add a flags argument.
2936         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
2937         exists.
2938         * modules/passfd (Depends-on): Add cloexec.
2939         Suggested by Eric Blake.
2940
2941 2011-03-13  Bruno Haible  <bruno@clisp.org>
2942
2943         passfd module, part 2, tweaks.
2944         * modules/passfd (Files): Reorder.
2945         (Depends-on): Remove errno.
2946         (Include): Remove <sys/socket.h>, <sys/un.h>.
2947         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
2948         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
2949         specification header. Include <sys/socket.h> always. Don't include
2950         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
2951         (sendfd): Clarify that it sets errno when it fails.
2952         (recvfd): Fix specification.
2953
2954 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2955
2956         passfd module, part 2.
2957         * modules/passfd: New file.
2958         * lib/passfd.h: New file.
2959         * lib/passfd.c: New file.
2960
2961 2011-03-12  Bruno Haible  <bruno@clisp.org>
2962
2963         wcswidth, mbswidth: Avoid integer overflow.
2964         * lib/wcswidth.c: Include <limits.h>.
2965         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
2966         * lib/mbswidth.c: Include <limits.h>.
2967         (mbsnwidth): Avoid 'int' overflow.
2968         Reported by Jim Meyering.
2969
2970 2011-03-12  Bruno Haible  <bruno@clisp.org>
2971
2972         futimens, utimensat: Avoid endless recursion on Solaris 10.
2973         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
2974         Solaris.
2975         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
2976         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
2977
2978 2011-03-11  Jim Meyering  <meyering@redhat.com>
2979
2980         maint.mk: relax a regexp to accommodate other formatting styles
2981         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
2982         between "ngettext" and the following "(".
2983
2984 2011-03-11  Pádraig Brady <P@draigBrady.com>
2985
2986         maint.mk: suppress a false positive warning
2987         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
2988         diagnostics are marked with ngettext.
2989
2990 2011-03-10  Eric Blake  <eblake@redhat.com>
2991
2992         wchar: add explicit dependencies, for Tru64
2993         * modules/mbmemcasecoll (Depends-on): Add wchar.
2994         * modules/mbtowc (Depends-on): Likewise.
2995         * modules/vasnprintf (Depends-on): Likewise.
2996         * modules/unistdio/u-printf-args (Depends-on): Likewise.
2997         * modules/wctomb (Depends-on): Likewise.
2998         Reported by Peter O'Gorman.
2999
3000 2011-03-08  Bruno Haible  <bruno@clisp.org>
3001
3002         passfd module, part 1, tweaks.
3003         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
3004         Improve indentation. Improve AC_MSG_CHECKING messages.
3005         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
3006         gl_SOCKET_FAMILIES.
3007
3008 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
3009
3010         passfd module, part 1.
3011         * m4/afunix.m4: New file.
3012         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
3013         sockets.
3014
3015 2011-03-08  Bruno Haible  <bruno@clisp.org>
3016
3017         regex-quote: New API.
3018         * lib/regex-quote.h: Include <stdbool.h>.
3019         (struct regex_quote_spec): New type.
3020         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
3021         New declarations.
3022         (regex_quote_length, regex_quote_copy, regex_quote): Take a
3023         'const struct regex_quote_spec *' argument.
3024         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
3025         (pcre_special): New constant.
3026         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
3027         New functions.
3028         (regex_quote_length, regex_quote_copy, regex_quote): Take a
3029         'const struct regex_quote_spec *' argument.
3030         * modules/regex-quote (Depends-on): Add stdbool.
3031         * tests/test-regex-quote.c (check): Update for new API. Add test for
3032         anchored results.
3033         * NEWS: Mention the API change.
3034         Reported by Reuben Thomas and Eric Blake.
3035
3036 2011-03-06  Bruno Haible  <bruno@clisp.org>
3037
3038         regex-quote: Fix creation of POSIX extended regular expressions.
3039         * lib/regex-quote.c (ere_special): Add grouping and alternation
3040         operators.
3041
3042 2011-03-05  Bruno Haible  <bruno@clisp.org>
3043
3044         doc: Improve doc regarding autopoint vs. gnulib.
3045         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
3046         disable autopoint while running autoreconf.
3047         Suggested by Ralf Wildenhues.
3048
3049 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3050
3051         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
3052         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
3053
3054 2011-03-03  Bruce Korb  <bkorb@gnu.org>
3055
3056         parse-duration: remove xalloc.h dependency
3057         * lib/parse-duration.c (parse_period): handle NULL return from
3058         strdup instead of calling xstrdup().
3059         * modules/parse-duration: remove "xalloc" dependency
3060
3061 2011-03-03  Matthew Booth  <mbooth@redhat.com>
3062
3063         bootstrap: honor m4_base when running aclocal
3064         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
3065
3066 2011-03-02  Jim Meyering  <meyering@redhat.com>
3067
3068         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
3069         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
3070         on request from Matt Booth.
3071
3072 2011-03-01  Eric Blake  <eblake@redhat.com>
3073
3074         test-link: work on Hurd
3075         * tests/test-link.h (test_link): Hurd rejects linking directories
3076         with EISDIR instead of the POSIX-mandated EPERM.
3077
3078 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
3079
3080         stdio: simplify by moving files to printf-posix, sigpipe
3081         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
3082         since this symbol is needed only if printf is replaced.
3083         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
3084         Require gl_ASM_SYMBOL_PREFIX.
3085         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
3086         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
3087         (Depends-on): Add 'raise'.
3088         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
3089         * modules/stdio (Files): Remove lib/stdio-write.c,
3090         m4/asm-underscore.m4.
3091         (Depends-on): Remove 'raise'.
3092
3093         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
3094         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
3095         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
3096         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
3097
3098 2011-02-28  Bruno Haible  <bruno@clisp.org>
3099
3100         localcharset: Assume ANSI C behaviour of free().
3101         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
3102         calling free().
3103         Suggested by Simon Josefsson <simon@josefsson.org>.
3104
3105 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
3106             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
3107             Bruno Haible  <bruno@clisp.org>  (tiny change)
3108
3109         On Cygwin, use /proc file system instead of win32 API.
3110         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
3111         Win32 file names.
3112         (DllMain): Simplify by removing Cygwin specific code.
3113         (find_shared_library_fullname): Use Linux specific implementation also
3114         for Cygwin.
3115         (get_shared_library_fullname): Update accordingly.
3116         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
3117         Win32 file names.
3118         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
3119         Cygwin specific code.
3120
3121 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
3122             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
3123
3124         Fix OpenMP flag detection for various Fortran compilers.
3125         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
3126         OpenMP-conditional compilation construct, to force compile
3127         failure with missing OpenMP flag.
3128         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
3129
3130 2011-02-25  Eric Blake  <eblake@redhat.com>
3131
3132         strstr: expand test coverage
3133         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
3134         compilation.
3135         * tests/test-memmem.c (main): Duplicate tests.
3136         * tests/test-strcasestr.c (main): Likewise.
3137         * tests/test-c-strcasestr.c (main): Likewise.
3138
3139 2011-02-25  Jim Meyering  <meyering@redhat.com>
3140
3141         maint.mk: detect missing-NL-at-EOF, too
3142         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
3143         it also detects when a file lacks a newline at EOF.
3144         (require_exactly_one_NL_at_EOF_): Renamed from
3145         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
3146         since people may well have .x-sc_... file names tied to the
3147         existing name.  Suggested by Eric Blake.
3148
3149 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
3150
3151         dirname: move m4/dos.m4 functionality into lib/dosname.h
3152
3153         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
3154         extracts symbols from it, puts them into config.h; but it's much
3155         easier to use the symbols directly.  filename.h already does this,
3156         but it disagrees with dos.m4 in some respects.  This patch
3157         introduces a different include file dosname.h that packages up
3158         dos.m4, and then later we can work on merging filename.h and
3159         dosname.h.  Applications that need only the easy-to-configure
3160         symbols should consider including dosname.h rather than dirname.h.
3161         * NEWS: Mention incompatible changes.
3162         * m4/dos.m4: Remove.
3163         * lib/dosname.h, modules/dosname: New files.
3164         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
3165         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
3166         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
3167         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
3168         Include dosname.h, not dirname.h.
3169         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
3170         Include dosname.h, for definitions of symbols like ISSLASH
3171         that used to be in config.h.
3172         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
3173         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3174         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
3175         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3176         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
3177         * modules/rmdir (Files): Likewise.
3178         * modules/stat (Files): Likewise.
3179         * modules/unlink (Files): Likewise.
3180         * modules/dirname-lgpl (Depends-on): Add dosname.
3181         * modules/lstat (Depends-on): Likewise.
3182         * modules/openat (Depends-on): Likewise.
3183         * modules/rmdir (Depends-on): Likewise.
3184         * modules/savewd (Depends-on): Likewise.
3185         * modules/stat (Depends-on): Likewise.
3186         * modules/unlink (Depends-on): Likewise.
3187         * modules/openat (Depends-on): Remove dirname-lgpl.
3188         * modules/savewd (Depends-on): Likewise.
3189         * tests/test-dirname.c: Do not use removed symbols like
3190         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
3191         the remaining symbols, e.g., ISSLASH ('\\').
3192
3193 2011-02-25  Eric Blake  <eblake@redhat.com>
3194
3195         strstr: revert patches that introduced bug and pessimization
3196         * lib/str-two-way.h: Add another reference.
3197         (two_way_short_needle, two_way_long_needle): Revert changes from
3198         2011-02-24; they pessimize search speed.
3199         (critical_factorization): Partially revert changes from
3200         2010-06-22; they violate the requirement that the left half of the
3201         needle be smaller than the period of the needle.
3202
3203 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3204
3205         filenamecat: remove unnecessary dependency on dirname-lgpl
3206         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
3207         is no direct dependency, just an indirect one via filenamecat-lgpl.
3208
3209         remove: remove unnecessary use of m4/dos.m4
3210         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
3211         * modules/remove (FILES): Remove m4/dos.m4.
3212
3213         * lib/openat-proc.c: Don't include dirname.h; not needed.
3214
3215         backupfile: remove unnecessary use of m4/dos.m4
3216         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
3217         of its symbols are used by the backupfile code.  backupfile.c does
3218         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
3219         for the rare case of programs that want all their backup file
3220         names to live within 8+3 limits, and dos.m4 doesn't address that.
3221         * modules/backupfile (Files): Remove m4/dos.m4.
3222
3223 2011-02-24  Jim Meyering  <meyering@redhat.com>
3224
3225         strstr: fix a bug whereby strstr would mistakenly return NULL
3226         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
3227         in period calculation.
3228         (two_way_long_needle): Likewise.
3229         The original problem was reported by Mike Stump in
3230         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
3231         Ralf Wildenhues provided the short needle and haystack.
3232         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
3233         Add a more involved test to trigger the bug in two_way_long_needle.
3234
3235 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3236
3237         gnulib-tool: remove use of bold display in help screen
3238         * gnulib-tool (func_usage): Do not use bold display anymore in the
3239         help screen.  That was just meant to be a temporary emphasis for a
3240         backward-incompatible change.
3241
3242 2011-02-23  Bruno Haible  <bruno@clisp.org>
3243
3244         Fix misindentation of preprocessor directives.
3245         * lib/argp-namefrob.h: Reindent preprocessor directives.
3246         * lib/getopt_int.h (struct _getopt_data): Likewise.
3247         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
3248         * lib/vasnprintf.c (decode_long_double): Likewise.
3249         * tests/test-argmatch.c: Insert blank lines, for clarity.
3250         * tests/test-exclude.c: Likewise.
3251
3252 2011-02-22  Bruno Haible  <bruno@clisp.org>
3253
3254         ioctl: Fix for MacOS X in 64-bit mode.
3255         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
3256         value.
3257         Suggested by Eric Blake.
3258         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
3259
3260 2011-02-22  Jim Meyering  <meyering@redhat.com>
3261
3262         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
3263         * Makefile (sc_cpp_indent_check): Don't limit the check to files
3264         in lib/.
3265
3266 2011-02-22  Eric Blake  <eblake@redhat.com>
3267
3268         maint: avoid any CDPATH issue
3269         * Makefile (sc_cpp_indent_check): Anchor cd argument.
3270
3271         maint: adjust cpp indentation for my modules, as well
3272         * Makefile (sc_cpp_indent_check): Add my name.
3273         * lib/fbufmode.c: Filter through cppi.
3274         * lib/fpurge.c: Likewise.
3275         * lib/freadable.c: Likewise.
3276         * lib/freading.c: Likewise.
3277         * lib/fwritable.c: Likewise.
3278         * lib/fwriting.c: Likewise.
3279         * lib/sigaction.c: Likewise.
3280
3281 2011-02-22  Jim Meyering  <meyering@redhat.com>
3282
3283         maint: adjust cpp indentation to reflect nesting depth
3284         I.e., in a block of code that begins with an unnested "#if",
3285         put one space between the "#" in column 1 and following token.
3286         For example,
3287         -#include <sys/vfs.h>
3288         +# include <sys/vfs.h>
3289         Do this only in .c files that are part of a module I maintain.
3290         * lib/linkat.c: Filter through cppi.
3291         * lib/nanosleep.c: Likewise.
3292         * lib/openat.c: Likewise.
3293         * lib/openat-die.c: Likewise.
3294         * lib/dup3.c: Likewise.
3295         * lib/fchownat.c: Likewise.
3296         * lib/flock.c: Likewise.
3297         * lib/fsync.c: Likewise.
3298         * lib/fts.c: Likewise.
3299         * lib/getpass.c: Likewise.
3300         * lib/gettimeofday.c: Likewise.
3301         * lib/userspec.c: Likewise.
3302         * Makefile (sc_cpp_indent_check): New rule, to check this.
3303
3304 2011-02-22  Bruno Haible  <bruno@clisp.org>
3305
3306         New module 'wctomb'.
3307         * lib/stdlib.in.h (wctomb): New declaration.
3308         * lib/wctomb.c: New file.
3309         * lib/wctomb-impl.h: New file.
3310         * m4/wctomb.m4: New file.
3311         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
3312         REPLACE_WCTOMB.
3313         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
3314         REPLACE_WCTOMB.
3315         * modules/wctomb: New file.
3316         * tests/test-stdlib-c++.cc: Test signature of wctomb.
3317         * doc/posix-functions/wctomb.texi: Mention the new module.
3318         * modules/wctob (Depends-on): Add wctomb.
3319
3320 2011-02-22  Bruno Haible  <bruno@clisp.org>
3321
3322         New module 'mbtowc'.
3323         * lib/stdlib.in.h (mbtowc): New declaration.
3324         * lib/mbtowc.c: New file.
3325         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
3326         * m4/mbtowc.m4: New file.
3327         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
3328         REPLACE_MBTOWC.
3329         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
3330         REPLACE_MBTOWC.
3331         * modules/mbtowc: New file.
3332         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
3333         * doc/posix-functions/mbtowc.texi: Mention the new module.
3334         * modules/btowc (Depends-on): Add mbtowc.
3335
3336 2011-02-22  Bruno Haible  <bruno@clisp.org>
3337
3338         wcrtomb: Add more tests for native Windows platforms.
3339         * tests/test-wcrtomb-w32-1.sh: New file.
3340         * tests/test-wcrtomb-w32-2.sh: New file.
3341         * tests/test-wcrtomb-w32-3.sh: New file.
3342         * tests/test-wcrtomb-w32-4.sh: New file.
3343         * tests/test-wcrtomb-w32-5.sh: New file.
3344         * tests/test-wcrtomb-w32.c: New file.
3345         * modules/wcrtomb-tests (Files): Add them.
3346         (Makefile.am): Arrange to run these tests.
3347         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
3348         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
3349
3350 2011-02-20  Bruno Haible  <bruno@clisp.org>
3351
3352         wcrtomb: Enhance test.
3353         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
3354
3355 2011-02-20  Bruno Haible  <bruno@clisp.org>
3356
3357         mbrtowc: Tiny optimization.
3358         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
3359
3360 2011-02-20  Jim Meyering  <meyering@redhat.com>
3361
3362         test-exclude.c: remove unmatched #endif
3363         * tests/test-exclude.c: Remove stray #endif, left over from
3364         the change of a week ago.
3365
3366 2011-02-19  Jim Meyering  <meyering@redhat.com>
3367
3368         git-version-gen: skip "-dirty" check when appropriate
3369         * build-aux/git-version-gen: Don't run any git commands when the
3370         version string comes from .tarball-version.  Prior to this, we
3371         would run git update-index --refresh even from a just-unpacked
3372         tarball directory, and that could affect a .git/ directory in a
3373         parent of the build directory.  Reported by Mike Frysinger.
3374
3375 2011-02-19  Bruno Haible  <bruno@clisp.org>
3376
3377         unictype/property-byname: Reduce the size of the 'data' segment.
3378         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
3379
3380 2011-02-19  Bruno Haible  <bruno@clisp.org>
3381
3382         unictype/scripts: Reduce the size of the 'data' segment.
3383         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
3384         '%pic'.
3385         * lib/unictype/scripts_byname.gperf: Regenerated.
3386
3387 2011-02-19  Bruno Haible  <bruno@clisp.org>
3388
3389         stdint: Update documentation.
3390         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
3391
3392 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
3393
3394         stdint: omit redundant check for wchar.h
3395         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
3396         always tests whether wchar.h exists, so remove the now-redundant test.
3397
3398 2011-02-18  Bruno Haible  <bruno@clisp.org>
3399
3400         stdint: Cut dependency to module 'wchar'.
3401         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
3402         include the necessary prerequisites.
3403         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
3404         * modules/stdint (Depends-on): Remove wchar.
3405         (Makefile.am): Substitute HAVE_WCHAR_H.
3406         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
3407
3408 2011-02-18  Eric Blake  <eblake@redhat.com>
3409
3410         longlong: skip, rather than fail, on cross-compilation
3411         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
3412         when cross-compiling; regression from 2011-02-16.
3413
3414 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3415
3416         * NEWS: Mention 2011-02-08 change to stdlib.
3417
3418 2011-02-17  Bruno Haible  <bruno@clisp.org>
3419
3420         getloadavg: Add comments about platforms.
3421         * m4/getloadavg.m4: Add comment.
3422         * lib/getloadavg.c: Likewise.
3423
3424 2011-02-17  Bruno Haible  <bruno@clisp.org>
3425
3426         getloadavg: Fix link error on Solaris 2.6.
3427         * modules/getloadavg (Link): New section.
3428         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
3429         linking test-getloadavg.
3430         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
3431         getloadavg.
3432
3433 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3434
3435         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
3436         It was 'int', but this doesn't match the IRIX 6.5 manual.
3437         Suggested by Bruno Haible in
3438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
3439
3440 2011-02-17  Bruno Haible  <bruno@clisp.org>
3441
3442         havelib: Fix comments.
3443         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
3444         change.
3445
3446 2011-02-17  Bruno Haible  <bruno@clisp.org>
3447
3448         havelib: Update config.rpath.
3449         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
3450
3451 2011-02-17  Bruno Haible  <bruno@clisp.org>
3452
3453         getloadavg test: Add some plausibility checks.
3454         * tests/test-getloadavg.c (check_avg): Print a warning when the value
3455         is improbable.
3456
3457 2011-02-16  Eric Blake  <eblake@redhat.com>
3458
3459         maintainer-makefile: make syntax-check a no-op from tarballs
3460         * top/maint.mk (no-vc-detected): New rule.
3461         (local-checks-available): Use it to avoid hanging if someone tries
3462         'make syntax-check' from a tarball.  Also append to any non-syntax
3463         checks already defined in cfg.mk.
3464
3465 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
3466
3467         longlong: tune, particularly for common case of c99
3468
3469         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
3470         or running anything if c99, or if unsigned long long int does not
3471         work.  In either case, we know the answer without further tests.
3472         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
3473         it at most once, and use its results for both long long int and
3474         unsigned long long int.  This is more likely to be efficient in
3475         the common case where the program wants to check for both long
3476         long int and unsigned long long int.
3477         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
3478         since the answer is already known.
3479
3480 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
3481
3482         getloadavg: set errno
3483         * lib/getloadavg.c: Set errno when returning -1.  If no other
3484         error number looks appropriate, set it to ENOSYS if the getloadavg
3485         looks like it can't possibly ever work, ENOTSUP otherwise.
3486         Suggested by Bruno Haible in
3487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
3488
3489         getloadavg: trim unused parts and speed up 'configure'
3490         * NEWS: Document this.
3491         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
3492         always compiled if getloadavg is absent.
3493         Move test code to ...
3494         * tests/test-getloadavg.c: New file, containing previous
3495         contents of test from lib/getloadavg.c.  It also contains
3496         suggestions by Bruno Haible in
3497         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
3498         * modules/getloadavg-tests: New file.
3499         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
3500         Do tests in the same order as they're needed for getloadavg.c.
3501         Omit setgid-related tests that generate symbols KMEM_GROUP,
3502         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
3503         Do only the tests that are needed to see whether the system has
3504         getloadavg, moving the other tests into ...
3505         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
3506         NLIST_NAME_UNION; nobody should be using it.  Do not define
3507         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
3508         relevant, as the user of this module shouldn't care how getloadavg
3509         is implemented.
3510
3511         getloadavg: omit unused var
3512         * lib/getloadavg.c (getloadavg): Omit unused local variable.
3513
3514 2011-02-15  Jim Meyering  <meyering@redhat.com>
3515
3516         doc: update users.txt
3517         * users.txt: Update iwhd's URL.
3518
3519 2011-02-13  Bruno Haible  <bruno@clisp.org>
3520
3521         Consistent macro naming for macros that use GCC __attribute__.
3522         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
3523         _ATTRIBUTE_NONNULL_.
3524         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
3525         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
3526         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
3527         ATTRIBUTE_DEPRECATED.
3528         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
3529         ATTRIBUTE_NORETURN.
3530         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3531         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3532         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3533         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3534         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
3535         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
3536         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
3537         ATTRIBUTE_SENTINEL.
3538         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
3539         ATTRIBUTE_RETURN_CHECK.
3540         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
3541         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
3542         ATTRIBUTE_NORETURN.
3543         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
3544         Reported by Paul Eggert.
3545
3546 2011-02-13  Bruno Haible  <bruno@clisp.org>
3547
3548         Don't interfere with a program's definition of __attribute__.
3549         * lib/argp.h (__attribute__): Remove definition.
3550         (_GL_ATTRIBUTE_FORMAT): New macro.
3551         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
3552         * lib/argp-fmtstream.h (__attribute__): Remove definition.
3553         (_GL_ATTRIBUTE_FORMAT): New macro.
3554         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
3555         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
3556         GCC 3 or newer.
3557         * lib/error.h (__attribute__): Remove definition.
3558         (_GL_ATTRIBUTE_FORMAT): New macro.
3559         (error, error_at_line): Use it.
3560         * lib/hash.h (__attribute__): Remove definition.
3561         (ATTRIBUTE_WUR): Update definition. Define always.
3562         * lib/openat.h (__attribute__): Remove definition.
3563         (ATTRIBUTE_NORETURN): Update definition. Define always.
3564         * lib/sigpipe-die.h (__attribute__): Remove definition.
3565         (ATTRIBUTE_NORETURN): Update definition. Define always.
3566         * lib/vasnprintf.h (__attribute__): Remove definition.
3567         (_GL_ATTRIBUTE_FORMAT): New macro.
3568         (asnprintf, vasnprintf): Use it.
3569         * lib/xalloc.h (__attribute__): Remove definition.
3570         (ATTRIBUTE_NORETURN): Update definition. Define always.
3571         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
3572         * lib/xmemdup0.h (__attribute__): Remove definition.
3573         (ATTRIBUTE_NORETURN): Update definition. Define always.
3574         * lib/xprintf.h (__attribute__): Remove definition.
3575         (_GL_ATTRIBUTE_FORMAT): New macro.
3576         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
3577         * lib/xstrtol.h (__attribute__): Remove definition.
3578         (ATTRIBUTE_NORETURN): Update definition. Define always.
3579         * lib/xvasprintf.h (__attribute__): Remove definition.
3580         (_GL_ATTRIBUTE_FORMAT): New macro.
3581         (xasprintf, xvasprintf): Use it.
3582         * tests/test-argmatch.c (__attribute__): Remove definition.
3583         (ATTRIBUTE_NORETURN): Update definition. Define always.
3584         * tests/test-exclude.c (__attribute__): Remove definition.
3585         (ATTRIBUTE_NORETURN): Update definition. Define always.
3586         Reported by Paul Eggert.
3587
3588 2011-02-13  Bruno Haible  <bruno@clisp.org>
3589
3590         mbrtowc: Add more tests for native Windows platforms.
3591         * tests/test-mbrtowc-w32-1.sh: New file.
3592         * tests/test-mbrtowc-w32-2.sh: New file.
3593         * tests/test-mbrtowc-w32-3.sh: New file.
3594         * tests/test-mbrtowc-w32-4.sh: New file.
3595         * tests/test-mbrtowc-w32-5.sh: New file.
3596         * tests/test-mbrtowc-w32.c: New file.
3597         * modules/mbrtowc-tests (Files): Add them.
3598         (Makefile.am): Arrange to run these tests.
3599         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
3600         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
3601
3602 2011-02-13  Bruno Haible  <bruno@clisp.org>
3603
3604         mbrtowc: Work around native Windows bug.
3605         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
3606         guess when no suitable locale for testing was found.
3607         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
3608
3609 2011-02-13  Bruno Haible  <bruno@clisp.org>
3610
3611         mbsinit: Work around mingw bug.
3612         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
3613         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
3614         Windows.
3615         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
3616
3617 2011-02-13  Bruno Haible  <bruno@clisp.org>
3618
3619         mbsinit: Don't crash for a NULL argument.
3620         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
3621         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
3622
3623 2011-02-13  Bruno Haible  <bruno@clisp.org>
3624
3625         Don't interfere with a program's definition of __attribute__.
3626         * lib/stdio.in.h (__attribute__): Remove definition.
3627         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
3628         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
3629         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
3630         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
3631         * lib/string.in.h (__attribute__): Remove definition.
3632         Reported by Paul Eggert.
3633
3634 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3635
3636         stdlib: don't get in the way of non-GCC __attribute__
3637         See thread starting at
3638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
3639         Revert previous stdlib change, installing the following instead:
3640         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
3641         to get in the way of a non-GCC compiler that supports __attribute__.
3642         (_GL_ATTRIBUTE_RETURN): New macro.
3643         (_Exit): Use it instead of __attribute__.
3644
3645 2011-02-12  Bruno Haible  <bruno@clisp.org>
3646
3647         quotearg test: Avoid test failure on mingw.
3648         * tests/test-quotearg.sh: Convert the locale identifier from native
3649         Windows syntax to Unix syntax.
3650
3651 2011-02-12  Bruno Haible  <bruno@clisp.org>
3652
3653         setlocale: Prefer gnulib's override over libintl's override.
3654         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
3655         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
3656         GNULIB_defined_setlocale is set.
3657
3658 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3659
3660         stdlib: support non-GCC __attribute__
3661
3662         Fix a serious and tricky problem encountered when attempting to
3663         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
3664         5.5, but it crashed due to memory corruption on Solaris 10 with
3665         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
3666         bits that are otherwise zero.  This tagging is optional inside
3667         Emacs but is preferred and is used when __attribute__ ((__aligned
3668         (8))) works, as it does with both recent-enough GCC and with Sun C
3669         5.11.  However, Sun C 5.11 is not GCC and does not #define
3670         __GNUC__ and __GNUC_MINOR__.
3671
3672         When I added the getloadavg module to Emacs, it brought in
3673         stdlib.in.h, which contained this fragment:
3674
3675            #ifndef __attribute__
3676            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
3677            #  define __attribute__(Spec)   /* empty */
3678            # endif
3679            #endif
3680
3681         When files that include <stdlib.h> were compiled with Sun C 5.11,
3682         the above code disabled __attribute__ ((__aligned (8))), which
3683         caused variables to not be properly aligned, which eventually led
3684         to the pointer corruption mentioned above.  (This was a bit hard
3685         to diagnose, unfortunately.)
3686
3687         Several "#define __attribute__(X) /* empty */" code snippets need
3688         to be eradicated from Gnulib to work with non-GCC compilers that
3689         support __attribute__.  The Autoconf way to do this is to test for
3690         each kind of attribute that we want support for, and selectively
3691         enable that in source code.
3692
3693         Fix this problem just for stdlib.h, by adding a test for the
3694         __noreturn__ attribute, and change stdlib.in.h to use that test
3695         when needed.  This technique can be easily generalized to the
3696         other *.in.h files and attributes, and a similar technique can be
3697         used for *.h and *.c files.  This patch is enough to solve the
3698         problem for Emacs + getloadavg, and I thought I'd publish it for
3699         feedback before undertaking further, similar fixes in other
3700         modules.
3701
3702         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
3703         because it's not needed for stdlib.h.  It merely substitutes the
3704         value directly into stdlib.h.  We may well need to #define it, or
3705         similar symbols, for other modules, but it's nice to also have an
3706         option to not #define it for applications like Emacs that do not
3707         need it.
3708
3709         * lib/stdlib.in.h (__attribute__): Do not #define.
3710         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
3711         be defined only if the _Exit module is also used.
3712         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
3713         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
3714         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
3715         platforms.
3716         * modules/_Exit (Files): Add m4/attribute.m4.
3717         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
3718         * m4/attribute.m4: New file.
3719
3720 2011-02-12  Bruno Haible  <bruno@clisp.org>
3721
3722         wcsrtombs: Work around bug on native Windows.
3723         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
3724         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
3725         instead of len.
3726         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
3727
3728 2011-02-12  Bruno Haible  <bruno@clisp.org>
3729
3730         mbsrtowcs: Work around bug on native Windows.
3731         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
3732         against mingw bug.
3733         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
3734
3735 2011-02-12  Bruno Haible  <bruno@clisp.org>
3736
3737         Avoid setlocale bugs in tests.
3738         * modules/btowc (Dependencies): Add setlocale.
3739         * modules/c-strcase (Dependencies): Likewise.
3740         * modules/mbmemcasecmp (Dependencies): Likewise.
3741         * modules/mbmemcasecoll (Dependencies): Likewise.
3742         * modules/mbrtowc (Dependencies): Likewise.
3743         * modules/mbscasecmp (Dependencies): Likewise.
3744         * modules/mbscasestr (Dependencies): Likewise.
3745         * modules/mbschr (Dependencies): Likewise.
3746         * modules/mbscspn (Dependencies): Likewise.
3747         * modules/mbsinit (Dependencies): Likewise.
3748         * modules/mbsncasecmp (Dependencies): Likewise.
3749         * modules/mbsnrtowcs (Dependencies): Likewise.
3750         * modules/mbspbrk (Dependencies): Likewise.
3751         * modules/mbspcasecmp (Dependencies): Likewise.
3752         * modules/mbsrchr (Dependencies): Likewise.
3753         * modules/mbsrtowcs (Dependencies): Likewise.
3754         * modules/mbsspn (Dependencies): Likewise.
3755         * modules/mbsstr (Dependencies): Likewise.
3756         * modules/nl_langinfo (Dependencies): Likewise.
3757         * modules/quotearg (Dependencies): Likewise.
3758         * modules/unicase/locale-language (Dependencies): Likewise.
3759         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
3760         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
3761         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
3762         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
3763         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
3764         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
3765         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
3766         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
3767         * modules/vasnprintf-posix (Dependencies): Likewise.
3768         * modules/wcrtomb (Dependencies): Likewise.
3769         * modules/wcsnrtombs (Dependencies): Likewise.
3770         * modules/wcsrtombs (Dependencies): Likewise.
3771
3772 2011-02-12  Bruno Haible  <bruno@clisp.org>
3773
3774         setlocale: Workaround native Windows bug.
3775         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
3776         succeeds but sets LC_CTYPE to "C", report a failure.
3777         * tests/test-setlocale2.sh: New file.
3778         * tests/test-setlocale2.c: New file.
3779         * modules/setlocale-tests (Files): Add the new files.
3780         (Makefile.am): Enable test-setlocale2.sh test.
3781         * doc/posix-functions/setlocale.texi: Mention workaround.
3782
3783 2011-02-11  Bruno Haible  <bruno@clisp.org>
3784
3785         Tests for module 'setlocale'.
3786         * modules/setlocale-tests: New file.
3787         * tests/test-setlocale1.sh: New file.
3788         * tests/test-setlocale1.c: New file.
3789
3790         New module 'setlocale'.
3791         * lib/locale.in.h (setlocale): New declaration.
3792         * lib/setlocale.c: New file, based on
3793         gettext/gettext-runtime/intl/setlocale.c.
3794         * m4/setlocale.m4: New file.
3795         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
3796         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
3797         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
3798         REPLACE_SETLOCALE.
3799         * modules/setlocale: New file.
3800         * tests/test-locale-c++.cc: Test the declaration of setlocale.
3801         * doc/posix-functions/setlocale.texi: Mention the new module.
3802
3803 2011-02-11  Bruno Haible  <bruno@clisp.org>
3804
3805         Prepare for locale dependent tests on mingw.
3806         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
3807         because it has the wrong locale encoding.
3808         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
3809         French_France.1252 instead of "fr".
3810         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
3811         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
3812         because it has the wrong locale encoding.
3813         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
3814         native Windows, try Turkish_Turkey.65001.
3815         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
3816         Chinese_China.54936.
3817
3818         Prepare for locale dependent tests on mingw.
3819         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
3820         differently.
3821         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3822         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3823         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3824         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3825
3826 2011-02-11  Eric Blake  <eblake@redhat.com>
3827
3828         strptime: avoid compiler warnings
3829         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
3830         compiler warnings about dead code.
3831         Reported by Daniel P. Berrange.
3832
3833 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
3834
3835         doc: update users.txt
3836         * users.txt: Add rcs.
3837
3838 2011-02-10  John W. Eaton  <jwe@gnu.org>
3839
3840         doc: update users.txt
3841         * users.txt: Add octave.
3842
3843 2011-02-10  Jim Meyering  <meyering@redhat.com>
3844
3845         doc: update users.txt
3846         * users.txt: Add iwhd.
3847
3848 2011-02-09  Bruno Haible  <bruno@clisp.org>
3849
3850         gnulib-tool: Make copyright notice adjustment more robust.
3851         * gnulib-tool (func_import): In sed_transform_main_lib_file,
3852         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
3853         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
3854         License".
3855         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
3856
3857 2011-02-06  Bruno Haible  <bruno@clisp.org>
3858
3859         New module 'towctrans'.
3860         * modules/towctrans: New file.
3861         * lib/wctype.in.h (towctrans): New declaration.
3862         * lib/towctrans.c: New file.
3863         * lib/towctrans-impl.h: New file.
3864         * m4/towctrans.m4: New file.
3865         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
3866         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
3867         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
3868         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
3869         * doc/posix-functions/towctrans.texi: Mention the new module.
3870
3871 2011-02-06  Bruno Haible  <bruno@clisp.org>
3872
3873         New module 'wctrans'.
3874         * modules/wctrans: New file.
3875         * lib/wctype.in.h (wctrans): New declaration.
3876         * lib/wctrans.c: New file.
3877         * lib/wctrans-impl.h: New file.
3878         * m4/wctrans.m4: New file.
3879         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
3880         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
3881         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
3882         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
3883         * doc/posix-functions/wctrans.texi: Mention the new module.
3884
3885 2011-02-06  Bruno Haible  <bruno@clisp.org>
3886
3887         New module 'iswctype'.
3888         * modules/iswctype: New file.
3889         * lib/wctype.in.h (iswctype): New declaration.
3890         * lib/iswctype.c: New file.
3891         * lib/iswctype-impl.h: New file.
3892         * m4/iswctype.m4: New file.
3893         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
3894         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
3895         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
3896         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
3897         * doc/posix-functions/iswctype.texi: Mention the new module and the
3898         HP-UX 11.00 problem.
3899
3900 2011-02-06  Bruno Haible  <bruno@clisp.org>
3901
3902         New module 'wctype'.
3903         * modules/wctype: Change to represent the wctype() substitute.
3904         * lib/wctype.in.h (wctype): New declaration.
3905         * lib/wctype.c: New file.
3906         * lib/wctype-impl.h: New file.
3907         * m4/wctype.m4: New file.
3908         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
3909         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
3910         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
3911         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
3912         * doc/posix-functions/wctype.texi: Mention the new module and the
3913         HP-UX 11.00 problem.
3914
3915 2011-02-06  Bruno Haible  <bruno@clisp.org>
3916
3917         wctype-h: Ensure wctype_t and wctrans_t are defined.
3918         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
3919         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3920         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3921         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
3922         HAVE_WCTRANS_T.
3923         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
3924
3925 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3926
3927         flock: fix license typo
3928
3929         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
3930         omitted.
3931
3932 2011-02-08  Bruno Haible  <bruno@clisp.org>
3933
3934         Split large sed scripts, for HP-UX sed.
3935         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
3936         to avoid HP-UX limit of 99 commands, in the near future.
3937         * modules/stdlib (Makefile.am): Likewise.
3938         * modules/unistd (Makefile.am): Likewise.
3939         * modules/wchar (Makefile.am): Likewise.
3940         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3941         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
3942         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
3943
3944 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3945             Bruno Haible  <bruno@clisp.org>
3946
3947         stdlib: improve random_r modularization
3948         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
3949         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
3950         you also need the random_r module to get this material right.
3951         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
3952         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
3953         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
3954
3955 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3956
3957         stdlib: don't depend on stdint
3958         * lib/stdlib.in.h: Don't include <stdint.h> merely because
3959         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
3960         be independent of whether stdint.h is needed.
3961         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
3962         here, instead of ...
3963         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
3964         struct random_data should be using the random_r module, not just
3965         the stdlib module (which wouldn't make sense: what package needs
3966         just struct random_data without also needing random_r?).
3967         * modules/stdlib (Depends-on): Remove stdint.
3968
3969         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
3970         See the thread rooted at
3971         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
3972         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
3973         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
3974         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
3975         __VMS)); previously it was always included (via fcntl--.h).
3976         (getloadavg): Do not use c_strtod.  Instead, approximate it by
3977         hand; this is good enough for load averages.  Also, do not use
3978         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
3979         flags directly if available and don't bother otherwise.  (Packages
3980         that need the extra reliability should use the modules that define
3981         these flags on older platforms that lack them.)
3982         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
3983         fcntl-safer.
3984
3985 2011-02-08  Jim Meyering  <meyering@redhat.com>
3986
3987         di-set.h, ino-map.h: add multiple-inclusion guard
3988         Technically, the guard is required only for ino-map.h, due to its
3989         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
3990         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
3991         * lib/ino-map.h: Likewise.
3992
3993 2011-02-06  Bruno Haible  <bruno@clisp.org>
3994
3995         iswblank: Ensure declaration on glibc systems.
3996         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
3997         * modules/iswblank (Dependencies): Add 'extensions'.
3998         * doc/posix-functions/iswblank.texi: Document the glibc problem.
3999
4000 2011-02-06  Bruno Haible  <bruno@clisp.org>
4001
4002         New module 'iswblank'.
4003         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
4004         * modules/iswblank: New file.
4005         * modules/wctype-h (Files): Remove lib/iswblank.c.
4006         (Makefile.am): Substitute GNULIB_ISWBLANK.
4007         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
4008         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
4009         (gl_WCTYPE_H_DEFAULTS): New macro.
4010         (gl_WCTYPE_H): Require it. Remove iswblank related code.
4011         * modules/iswblank-tests: New file.
4012         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
4013         * tests/test-wctype-h.c (main): Remove iswblank tests.
4014         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
4015         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
4016         of 'wctype-h'.
4017         * NEWS: Mention the change.
4018         * modules/mbchar (Depends-on): Add iswblank.
4019
4020 2011-02-08  Bruno Haible  <bruno@clisp.org>
4021
4022         di-set tests: Refactor.
4023         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
4024         unnecessary includes.
4025         (ASSERT): Remove macro.
4026         (main): Make C90 compliant by avoiding variable declaration after
4027         statement.
4028         * modules/di-set-tests (Files): Add tests/macros.h.
4029
4030 2011-02-08  Bruno Haible  <bruno@clisp.org>
4031
4032         ino-map tests: Refactor.
4033         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
4034         unnecessary includes.
4035         (ASSERT): Remove macro.
4036         (main): Make C90 compliant by avoiding variable declaration after
4037         statement.
4038         * modules/ino-map-tests (Files): Add tests/macros.h.
4039
4040 2011-02-08  Jim Meyering  <meyering@redhat.com>
4041
4042         di-set: add "const" to a cast
4043         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
4044         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
4045
4046 2011-02-06  Bruno Haible  <bruno@clisp.org>
4047
4048         Rename module 'wctype' to 'wctype-h'.
4049         * modules/wctype-h: Renamed from modules/wctype.
4050         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
4051         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
4052         (Files, Depends-on, Makefile.am): Update.
4053         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
4054         (Files, Makefile.am): Update.
4055         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
4056         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
4057         * doc/posix-headers/wctype.texi: Update.
4058         * doc/posix-functions/iswalnum.texi: Update.
4059         * doc/posix-functions/iswalpha.texi: Update.
4060         * doc/posix-functions/iswblank.texi: Update.
4061         * doc/posix-functions/iswcntrl.texi: Update.
4062         * doc/posix-functions/iswdigit.texi: Update.
4063         * doc/posix-functions/iswgraph.texi: Update.
4064         * doc/posix-functions/iswlower.texi: Update.
4065         * doc/posix-functions/iswprint.texi: Update.
4066         * doc/posix-functions/iswpunct.texi: Update.
4067         * doc/posix-functions/iswspace.texi: Update.
4068         * doc/posix-functions/iswupper.texi: Update.
4069         * doc/posix-functions/iswxdigit.texi: Update.
4070         * doc/posix-functions/towlower.texi: Update.
4071         * doc/posix-functions/towupper.texi: Update.
4072         * NEWS: Mention the change.
4073         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
4074         * modules/mbchar (Dependencies): Likewise.
4075         * modules/mbswidth (Dependencies): Likewise.
4076         * modules/quotearg (Dependencies): Likewise.
4077         * modules/regex (Dependencies): Likewise.
4078         * modules/wcscasecmp (Dependencies): Likewise.
4079         * modules/wcsncasecmp (Dependencies): Likewise.
4080         * modules/wcwidth (Dependencies): Likewise.
4081
4082 2011-02-06  Bruno Haible  <bruno@clisp.org>
4083
4084         New module 'wcswidth'.
4085         * modules/wcswidth: New file.
4086         * lib/wchar.in.h (wcswidth): New declaration.
4087         * lib/wcswidth.c: New file.
4088         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
4089         * m4/wcswidth.m4: New file.
4090         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
4091         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
4092         REPLACE_WCSWIDTH.
4093         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
4094         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
4095         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
4096         * doc/posix-functions/wcswidth.texi: Mention the new module.
4097
4098 2011-02-06  Bruno Haible  <bruno@clisp.org>
4099
4100         New module 'wcstok'.
4101         * modules/wcstok: New file.
4102         * lib/wchar.in.h (wcstok): New declaration.
4103         * lib/wcstok.c: New file.
4104         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
4105         * m4/wcstok.m4: New file.
4106         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
4107         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
4108         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
4109         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
4110         * doc/posix-functions/wcstok.texi: Mention the new module.
4111
4112 2011-02-06  Bruno Haible  <bruno@clisp.org>
4113
4114         New module 'wcsstr'.
4115         * modules/wcsstr: New file.
4116         * lib/wchar.in.h (wcsstr): New declaration.
4117         * lib/wcsstr.c: New file.
4118         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
4119         * m4/wcsstr.m4: New file.
4120         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
4121         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
4122         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
4123         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
4124         * doc/posix-functions/wcsstr.texi: Mention the new module.
4125
4126 2011-02-06  Bruno Haible  <bruno@clisp.org>
4127
4128         New module 'wcspbrk'.
4129         * modules/wcspbrk: New file.
4130         * lib/wchar.in.h (wcspbrk): New declaration.
4131         * lib/wcspbrk.c: New file.
4132         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
4133         * m4/wcspbrk.m4: New file.
4134         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
4135         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
4136         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
4137         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
4138         * doc/posix-functions/wcspbrk.texi: Mention the new module.
4139
4140 2011-02-06  Bruno Haible  <bruno@clisp.org>
4141
4142         New module 'wcsspn'.
4143         * modules/wcsspn: New file.
4144         * lib/wchar.in.h (wcsspn): New declaration.
4145         * lib/wcsspn.c: New file.
4146         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
4147         * m4/wcsspn.m4: New file.
4148         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
4149         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
4150         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
4151         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
4152         * doc/posix-functions/wcsspn.texi: Mention the new module.
4153
4154 2011-02-06  Bruno Haible  <bruno@clisp.org>
4155
4156         New module 'wcscspn'.
4157         * modules/wcscspn: New file.
4158         * lib/wchar.in.h (wcscspn): New declaration.
4159         * lib/wcscspn.c: New file.
4160         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
4161         * m4/wcscspn.m4: New file.
4162         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
4163         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
4164         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
4165         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
4166         * doc/posix-functions/wcscspn.texi: Mention the new module.
4167
4168 2011-02-06  Bruno Haible  <bruno@clisp.org>
4169
4170         New module 'wcsrchr'.
4171         * modules/wcsrchr: New file.
4172         * lib/wchar.in.h (wcsrchr): New declaration.
4173         * lib/wcsrchr.c: New file.
4174         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
4175         * m4/wcsrchr.m4: New file.
4176         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
4177         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
4178         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
4179         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
4180         * doc/posix-functions/wcsrchr.texi: Mention the new module.
4181
4182 2011-02-06  Bruno Haible  <bruno@clisp.org>
4183
4184         New module 'wcschr'.
4185         * modules/wcschr: New file.
4186         * lib/wchar.in.h (wcschr): New declaration.
4187         * lib/wcschr.c: New file.
4188         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
4189         * m4/wcschr.m4: New file.
4190         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
4191         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
4192         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
4193         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
4194         * doc/posix-functions/wcschr.texi: Mention the new module.
4195
4196 2011-02-06  Bruno Haible  <bruno@clisp.org>
4197
4198         New module 'wcsdup'.
4199         * modules/wcsdup: New file.
4200         * lib/wchar.in.h (wcsdup): New declaration.
4201         * lib/wcsdup.c: New file.
4202         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
4203         * m4/wcsdup.m4: New file.
4204         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
4205         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
4206         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
4207         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
4208         * doc/posix-functions/wcsdup.texi: Mention the new module.
4209
4210 2011-02-06  Bruno Haible  <bruno@clisp.org>
4211
4212         New module 'wcsxfrm'.
4213         * modules/wcsxfrm: New file.
4214         * lib/wchar.in.h (wcsxfrm): New declaration.
4215         * lib/wcsxfrm.c: New file.
4216         * lib/wcsxfrm-impl.h: New file.
4217         * m4/wcsxfrm.m4: New file.
4218         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
4219         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
4220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
4221         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
4222         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
4223
4224 2011-02-06  Bruno Haible  <bruno@clisp.org>
4225
4226         New module 'wcscoll'.
4227         * modules/wcscoll: New file.
4228         * lib/wchar.in.h (wcscoll): New declaration.
4229         * lib/wcscoll.c: New file.
4230         * lib/wcscoll-impl.h: New file.
4231         * m4/wcscoll.m4: New file.
4232         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
4233         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
4234         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
4235         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
4236         * doc/posix-functions/wcscoll.texi: Mention the new module.
4237
4238 2011-02-06  Bruno Haible  <bruno@clisp.org>
4239
4240         New module 'wcsncasecmp'.
4241         * modules/wcsncasecmp: New file.
4242         * lib/wchar.in.h (wcsncasecmp): New declaration.
4243         * lib/wcsncasecmp.c: New file.
4244         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
4245         * m4/wcsncasecmp.m4: New file.
4246         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
4247         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
4248         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
4249         HAVE_WCSNCASECMP.
4250         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
4251         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
4252
4253 2011-02-06  Bruno Haible  <bruno@clisp.org>
4254
4255         New module 'wcscasecmp'.
4256         * modules/wcscasecmp: New file.
4257         * lib/wchar.in.h (wcscasecmp): New declaration.
4258         * lib/wcscasecmp.c: New file.
4259         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
4260         * m4/wcscasecmp.m4: New file.
4261         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
4262         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
4263         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
4264         HAVE_WCSCASECMP.
4265         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
4266         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
4267
4268 2011-02-05  Bruno Haible  <bruno@clisp.org>
4269
4270         New module 'wcsncmp'.
4271         * modules/wcsncmp: New file.
4272         * lib/wchar.in.h (wcsncmp): New declaration.
4273         * lib/wcsncmp.c: New file.
4274         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
4275         * m4/wcsncmp.m4: New file.
4276         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
4277         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
4278         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
4279         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
4280         * doc/posix-functions/wcsncmp.texi: Mention the new module.
4281
4282 2011-02-05  Bruno Haible  <bruno@clisp.org>
4283
4284         New module 'wcscmp'.
4285         * modules/wcscmp: New file.
4286         * lib/wchar.in.h (wcscmp): New declaration.
4287         * lib/wcscmp.c: New file.
4288         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
4289         * m4/wcscmp.m4: New file.
4290         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
4291         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
4292         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
4293         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
4294         * doc/posix-functions/wcscmp.texi: Mention the new module.
4295
4296 2011-02-05  Bruno Haible  <bruno@clisp.org>
4297
4298         New module 'wcsncat'.
4299         * modules/wcsncat: New file.
4300         * lib/wchar.in.h (wcsncat): New declaration.
4301         * lib/wcsncat.c: New file.
4302         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
4303         * m4/wcsncat.m4: New file.
4304         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
4305         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
4306         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
4307         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
4308         * doc/posix-functions/wcsncat.texi: Mention the new module.
4309
4310 2011-02-05  Bruno Haible  <bruno@clisp.org>
4311
4312         New module 'wcscat'.
4313         * modules/wcscat: New file.
4314         * lib/wchar.in.h (wcscat): New declaration.
4315         * lib/wcscat.c: New file.
4316         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
4317         * m4/wcscat.m4: New file.
4318         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
4319         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
4320         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
4321         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
4322         * doc/posix-functions/wcscat.texi: Mention the new module.
4323
4324 2011-02-05  Bruno Haible  <bruno@clisp.org>
4325
4326         New module 'wcpncpy'.
4327         * modules/wcpncpy: New file.
4328         * lib/wchar.in.h (wcpncpy): New declaration.
4329         * lib/wcpncpy.c: New file.
4330         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
4331         * m4/wcpncpy.m4: New file.
4332         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
4333         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
4334         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
4335         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
4336         * doc/posix-functions/wcpncpy.texi: Mention the new module.
4337
4338 2011-02-05  Bruno Haible  <bruno@clisp.org>
4339
4340         New module 'wcsncpy'.
4341         * modules/wcsncpy: New file.
4342         * lib/wchar.in.h (wcsncpy): New declaration.
4343         * lib/wcsncpy.c: New file.
4344         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
4345         * m4/wcsncpy.m4: New file.
4346         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
4347         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
4348         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
4349         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
4350         * doc/posix-functions/wcsncpy.texi: Mention the new module.
4351
4352 2011-02-05  Bruno Haible  <bruno@clisp.org>
4353
4354         New module 'wcpcpy'.
4355         * modules/wcpcpy: New file.
4356         * lib/wchar.in.h (wcpcpy): New declaration.
4357         * lib/wcpcpy.c: New file.
4358         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
4359         * m4/wcpcpy.m4: New file.
4360         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
4361         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
4362         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
4363         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
4364         * doc/posix-functions/wcpcpy.texi: Mention the new module.
4365
4366 2011-02-05  Bruno Haible  <bruno@clisp.org>
4367
4368         New module 'wcscpy'.
4369         * modules/wcscpy: New file.
4370         * lib/wchar.in.h (wcscpy): New declaration.
4371         * lib/wcscpy.c: New file.
4372         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
4373         * m4/wcscpy.m4: New file.
4374         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
4375         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
4376         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
4377         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
4378         * doc/posix-functions/wcscpy.texi: Mention the new module.
4379
4380 2011-02-05  Bruno Haible  <bruno@clisp.org>
4381
4382         New module 'wcsnlen'.
4383         * modules/wcsnlen: New file.
4384         * lib/wchar.in.h (wcsnlen): New declaration.
4385         * lib/wcsnlen.c: New file.
4386         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
4387         * m4/wcsnlen.m4: New file.
4388         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
4389         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
4390         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
4391         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
4392         * doc/posix-functions/wcsnlen.texi: Mention the new module.
4393
4394 2011-02-05  Bruno Haible  <bruno@clisp.org>
4395
4396         New module 'wcslen'.
4397         * modules/wcslen: New file.
4398         * lib/wchar.in.h (wcslen): New declaration.
4399         * lib/wcslen.c: New file.
4400         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
4401         * m4/wcslen.m4: New file.
4402         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
4403         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
4404         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
4405         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
4406         * doc/posix-functions/wcslen.texi: Mention the new module.
4407
4408 2011-02-05  Bruno Haible  <bruno@clisp.org>
4409
4410         New module 'wmemset'.
4411         * modules/wmemset: New file.
4412         * lib/wchar.in.h (wmemset): New declaration.
4413         * lib/wmemset.c: New file.
4414         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
4415         * m4/wmemset.m4: New file.
4416         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
4417         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
4418         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
4419         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
4420         * doc/posix-functions/wmemset.texi: Mention the new module.
4421
4422 2011-02-05  Bruno Haible  <bruno@clisp.org>
4423
4424         New module 'wmemmove'.
4425         * modules/wmemmove: New file.
4426         * lib/wchar.in.h (wmemmove): New declaration.
4427         * lib/wmemmove.c: New file.
4428         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
4429         * m4/wmemmove.m4: New file.
4430         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
4431         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
4432         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
4433         HAVE_WMEMMOVE.
4434         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
4435         * doc/posix-functions/wmemmove.texi: Mention the new module.
4436
4437 2011-02-05  Bruno Haible  <bruno@clisp.org>
4438
4439         New module 'wmemcpy'.
4440         * modules/wmemcpy: New file.
4441         * lib/wchar.in.h (wmemcpy): New declaration.
4442         * lib/wmemcpy.c: New file.
4443         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
4444         * m4/wmemcpy.m4: New file.
4445         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
4446         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
4447         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
4448         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
4449         * doc/posix-functions/wmemcpy.texi: Mention the new module.
4450
4451 2011-02-05  Bruno Haible  <bruno@clisp.org>
4452
4453         New module 'wmemcmp'.
4454         * modules/wmemcmp: New file.
4455         * lib/wchar.in.h (wmemcmp): New declaration.
4456         * lib/wmemcmp.c: New file.
4457         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
4458         * m4/wmemcmp.m4: New file.
4459         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
4460         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
4461         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
4462         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
4463         * doc/posix-functions/wmemcmp.texi: Mention the new module.
4464
4465 2011-02-07  Jim Meyering  <meyering@redhat.com>
4466
4467         di-set, ino-map: new modules, from coreutils
4468         * lib/di-set.c: New file.
4469         * lib/di-set.h: Likewise.
4470         * lib/ino-map.c: Likewise.
4471         * lib/ino-map.h: Likewise.
4472         * modules/di-set: Likewise.
4473         * modules/di-set-tests: Likewise.
4474         * modules/ino-map: Likewise.
4475         * modules/ino-map-tests: Likewise.
4476         * tests/test-di-set.c: Likewise.
4477         * tests/test-ino-map.c: Likewise.
4478
4479 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
4480
4481         getloadavg: merge minor changes from Emacs
4482
4483         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
4484         (getloadavg): Use memset, not bzero.
4485
4486         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
4487         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4488         clash (bug#86).
4489
4490 2010-11-14  Bruno Haible  <bruno@clisp.org>
4491
4492         Allow multiple gnulib generated replacements to coexist.
4493         * lib/getopt.in.h (struct option): Avoid identical redefinition.
4494         * lib/inttypes.in.h (imaxdiv_t): Likewise.
4495         * lib/langinfo.in.h (nl_item): Likewise.
4496         * lib/math.in.h (_NaN, NAN): Likewise.
4497         * lib/netdb.in.h (struct addrinfo): Likewise.
4498         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
4499         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
4500         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
4501         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
4502         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
4503         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
4504         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
4505         pthread_mutexattr_init, pthread_mutexattr_settype,
4506         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
4507         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
4508         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
4509         pthread_spin_trylock, pthread_spin_unlock): Likewise.
4510         * lib/sched.in.h (struct sched_param): Likewise.
4511         * lib/se-selinux.in.h (security_class_t, security_context_t,
4512         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
4513         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
4514         lsetfilecon, fsetfilecon, security_check_context,
4515         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
4516         Likewise.
4517         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
4518         Likewise.
4519         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
4520         _gl_function_taking_int_returning_void_t, union sigval,
4521         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
4522         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
4523         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
4524         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
4525         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
4526         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
4527         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
4528         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
4529         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
4530         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
4531         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
4532         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
4533         socklen_t, rpl_fd_isset): Likewise.
4534         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
4535         * lib/sys_time.in.h (struct timeval): Likewise.
4536         * lib/sys_times.in.h (struct tms): Likewise.
4537         * lib/sys_utsname.in.h (struct utsname):
4538         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
4539         * lib/unistd.in.h (getpagesize): Likewise.
4540         * lib/wchar.in.h (mbstate_t): Likewise.
4541         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4542         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
4543         towlower, towupper): Likewise.
4544         Reported by Sam Steingold <sds@gnu.org>.
4545
4546 2011-02-05  Eric Blake  <eblake@redhat.com>
4547
4548         unsetenv: work around Haiku issues
4549         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
4550         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
4551
4552 2010-12-30  Bruce Korb  <bkorb@gnu.org>
4553
4554         libposix: avoid calling error() within libposix
4555         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
4556         is defined.
4557
4558 2011-02-05  Eric Blake  <eblake@redhat.com>
4559
4560         strerror_r-posix: port to cygwin
4561         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
4562         implementation.
4563         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
4564         * tests/test-strerror_r.c (main): Fix test.
4565         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4566         issue.
4567
4568 2011-02-05  Bruno Haible  <bruno@clisp.org>
4569
4570         New module 'wmemchr'.
4571         * modules/wmemchr: New file.
4572         * lib/wchar.in.h (wmemchr): New declaration.
4573         * lib/wmemchr.c: New file.
4574         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
4575         * m4/wmemchr.m4: New file.
4576         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
4577         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
4578         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
4579         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
4580         * doc/posix-functions/wmemchr.texi: Mention the new module.
4581
4582 2011-02-04  Eric Blake  <eblake@redhat.com>
4583
4584         fdopendir: detect FreeBSD bug
4585         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
4586         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
4587
4588 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
4589
4590         stdbool: do not define HAVE_STDBOOL_H
4591         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
4592         AC_HEADER_STDBOOL.  All uses changed.  Do not define
4593         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
4594         imported from the latest Autoconf git.  It was motivated by Emacs,
4595         which uses gnulib but does not need HAVE_STDBOOL_H.
4596
4597 2011-02-04  Bruno Haible  <bruno@clisp.org>
4598
4599         wcsnrtombs: Prepare for new module wwcsnrtombs.
4600         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
4601         * lib/wcsnrtombs.c: Include it.
4602         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
4603
4604         wcsrtombs: Prepare for new module wwcsrtombs.
4605         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
4606         * lib/wcsrtombs.c: Include it.
4607         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
4608
4609         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
4610         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
4611         * lib/mbsnrtowcs.c: Include it.
4612         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
4613
4614         mbsrtowcs: Prepare for new module mbsrtowwcs.
4615         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
4616         * lib/mbsrtowcs.c: Include it.
4617         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
4618
4619 2011-02-04  Bruno Haible  <bruno@clisp.org>
4620
4621         vasnprintf: Reduce use of malloc for small format strings.
4622         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
4623         (arguments): Add room for the first 7 arguments.
4624         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
4625         (char_directives, u8_directives, u16_directives, u32_directives): Add
4626         room for the first 7 directives.
4627         * lib/printf-parse.c: Include <string.h>.
4628         (PRINTF_PARSE): Change memory handling code so that it uses the first
4629         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
4630         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
4631         Reported by Pádraig Brady <P@draigbrady.com>.
4632
4633 2011-01-31  Eric Blake  <eblake@redhat.com>
4634
4635         dup2: work around Haiku bug
4636         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
4637         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
4638         * doc/posix-functions/dup2.texi (dup2): Document the bug.
4639         * tests/test-dup2.c (main): Enhance test.
4640
4641 2011-01-31  Simon Josefsson  <simon@josefsson.org>
4642
4643         doc: off_t is not available in eglibc 2.11.2 stdio.h.
4644         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
4645         declared by eglibc 2.11.2.
4646         * lib/stdio.in.h: Likewise.
4647
4648 2011-01-31  Eric Blake  <eblake@redhat.com>
4649
4650         ignore-value: add missing test dependency
4651         * tests/test-ignore-value.c: Revert previous change; stdio.h
4652         provides off_t.
4653         * modules/ignore-value-tests (Depends-on): Add missing dependency.
4654
4655 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
4656
4657         mktime: clarify long_int width checking
4658         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
4659         the top level, to make it clearer that the assumption about
4660         long_int width is being checked.  See
4661         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
4662
4663 2011-01-30  Simon Josefsson  <simon@josefsson.org>
4664
4665         ignore-value: Fix self-test.
4666         * tests/test-ignore-value.c: Include sys/types.h for off_t.
4667
4668 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
4669
4670         TYPE_MAXIMUM: avoid theoretically undefined behavior
4671         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
4672         negative number, which the C Standard says has undefined behavior.
4673         In practice this is not a problem, but might as well do it by the book.
4674         Reported by Rich Felker and Eric Blake; see
4675         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
4676         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
4677         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
4678         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4679         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
4680         * m4/stdint.m4 (gl_STDINT_H): Likewise.
4681         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
4682
4683         mktime: #undef mktime before #defining it
4684         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
4685
4686         mktime: systematically normalize tm_isdst comparisons
4687         * lib/mktime.c (isdst_differ): New function.
4688         (__mktime_internal): Use it systematically for all isdst comparisons.
4689         This completes the fix for libc BZ #6723, and removes the need for
4690         normalizing tm_isdst.  See
4691         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
4692         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
4693
4694         mktime: fix some integer overflow issues and sidestep the rest
4695
4696         This was prompted by a bug report by Benjamin Lindner for MinGW
4697         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
4698         His bug is due to signed integer overflow (0 - INT_MIN), and I
4699         I scanned through mktime.c looking for other integer overflow
4700         problems, fixing all the bugs I found.
4701
4702         Although the C Standard says the resulting code is still not safe
4703         in the presence of integer overflow, in practice it should be good
4704         enough for all real-world two's-complement implementations, except
4705         for debugging environments that deliberately trap on integer
4706         overflow (e.g., gcc -ftrapv).
4707
4708         * lib/mktime.c (WRAPV): New macro.
4709         (SHR): Also check that long_int and time_t shift right in the
4710         usual way, before using the fast-but-unportable method.
4711         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
4712         used.  The code already assumed two's complement, so there's
4713         no need to test for alternatives.  All uses removed.
4714         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
4715         the C standard.  Problem reported by Rich Felker in
4716         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
4717         (twos_complement_arithmetic): Also check long_int and time_t.
4718         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
4719         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
4720         (__mktime_internal): Avoid integer overflow with unary subtraction
4721         in two instances where -1 - X is an adequate replacement for -X,
4722         since the calculations are approximate.
4723
4724 2011-01-29  Eric Blake  <eblake@redhat.com>
4725
4726         mktime: avoid infinite loop
4727         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
4728         type; behavior is still undefined but portable to all known targets.
4729         Reported by Rich Felker.
4730
4731 2011-01-29  Simon Josefsson  <simon@josefsson.org>
4732
4733         rename, unlink, same-inode: Relicense.
4734         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
4735         * modules/unlink (License): Likewise.
4736         * modules/same-inode (License): Likewise.
4737
4738 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4739
4740         mktime: avoid problems on NetBSD 5 / i386
4741         * lib/mktime.c (long_int): New type.  This works around a problem
4742         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
4743         but time_t is 64 bits, and where I expect the existing code is
4744         wrong in some cases.
4745         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
4746         (ydhms_diff): Bring back the compile-time check for wide-enough
4747         year and yday.
4748
4749         mktime: fix misspelling in comment
4750         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
4751         This merges all recent glibc changes of importance.
4752
4753 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4754
4755         move-if-change: cope with concurrent mv of identical file.
4756         * build-aux/move-if-change (CMPPROG): Accept environment
4757         variable as an override for `cmp'.
4758         (usage): Document CMPPROG.
4759         Adjust comparison to drop stdout.  Cope with failure of mv if
4760         the target file exists and is identical to the source, for
4761         parallel builds.
4762         Report from H.J. Lu against binutils in PR binutils/12283.
4763
4764 2011-01-28  Bruce Korb  <bkorb@gnu.org>
4765
4766         * users.txt: Mention sharutils.
4767
4768 2011-01-28  Simon Josefsson  <simon@josefsson.org>
4769
4770         * users.txt: Mention OATH Toolkit.
4771
4772 2011-01-27  Bruno Haible  <bruno@clisp.org>
4773
4774         Prepare for supporting FreeBSD 10.
4775         * build-aux/config.libpath: Remove handling of freebsd1*.
4776
4777 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
4778
4779         Prepare for supporting FreeBSD 10.
4780         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
4781         match FreeBSD 10.0.
4782
4783 2011-01-27  Bruno Haible  <bruno@clisp.org>
4784
4785         vma-iter, get-rusage-as: Add OpenBSD support.
4786         * modules/vma-iter (configure.ac): Test for mquery.
4787         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
4788         * lib/vma-iter.c: Include <sys/mman.h>.
4789         (vma_iterate): Add an implementation based on mquery().
4790         * lib/resource-ext.h (get_rusage_as): Update comments.
4791         * lib/get-rusage-as.c: Likewise.
4792         * lib/get-rusage-data.c: Likewise.
4793
4794 2011-01-26  Karl Berry  <karl@gnu.org>
4795
4796         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
4797         variables to make it easier to override the makeinfo program used.
4798
4799 2011-01-26  Eric Blake  <eblake@redhat.com>
4800
4801         fcntl: work around Haiku F_DUPFD bugs
4802         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
4803         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
4804         cloexec bit on duplication.
4805         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
4806
4807 2011-01-26  Bruno Haible  <bruno@clisp.org>
4808
4809         Enable memory leak tests on AIX.
4810         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
4811         * tests/test-fprintf-posix3.c (main): Likewise.
4812
4813 2011-01-26  Bruno Haible  <bruno@clisp.org>
4814
4815         Tests for module 'get-rusage-data'.
4816         * modules/get-rusage-data-tests: New file.
4817         * tests/test-get-rusage-data.c: New file.
4818
4819         New module 'get-rusage-data'.
4820         * lib/resource-ext.h (get_rusage_data): New declaration.
4821         * lib/get-rusage-data.c: New file.
4822         * modules/get-rusage-data: New file.
4823
4824 2011-01-25  Bruno Haible  <bruno@clisp.org>
4825
4826         get-rusage-as: Allow for easier testing.
4827         * lib/resource-ext.h (get_rusage_as): Add comment.
4828         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
4829         (main): New function for interactive testing.
4830
4831 2011-01-25  Bruno Haible  <bruno@clisp.org>
4832
4833         vma-iter: Treat Haiku like BeOS.
4834         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
4835         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
4836
4837 2011-01-25  Eric Blake  <eblake@redhat.com>
4838
4839         c-stack: fix regression on cygwin when libsigsegv is present
4840         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
4841
4842 2011-01-24  Bruno Haible  <bruno@clisp.org>
4843
4844         vma-iter: Avoid empty intervals.
4845         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
4846         on an empty interval.
4847
4848 2011-01-24  Jim Meyering  <meyering@redhat.com>
4849
4850         u64: remove unnecessary #include
4851         * lib/u64.h: Don't include <stddef.h>.  It was not used.
4852
4853 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4854
4855         Allow the user to avoid the HAVE_RAW_DECL_* macros.
4856         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
4857
4858 2011-01-23  Bruno Haible  <bruno@clisp.org>
4859
4860         New module 'vma-iter'.
4861         * lib/vma-iter.h: New file.
4862         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
4863         * modules/vma-iter: New file.
4864         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
4865         for get_rusage_as_via_iterator.
4866         (vma_iterate_callback): New function.
4867         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
4868         * modules/get-rusage-as (Depends-on): Add vma-iter.
4869
4870 2011-01-23  Bruno Haible  <bruno@clisp.org>
4871
4872         uninorm: Tweak includes.
4873         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
4874         Reported by Jim Meyering.
4875
4876 2011-01-23  Bruno Haible  <bruno@clisp.org>
4877
4878         get-rusage-as: Improve on NetBSD.
4879         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
4880         /proc, like on FreeBSD.
4881
4882 2011-01-23  Jim Meyering  <meyering@redhat.com>
4883
4884         xreadlink.h: remove unnecessary #include
4885         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
4886
4887         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
4888         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
4889
4890 2011-01-23  Bruno Haible  <bruno@clisp.org>
4891
4892         get-rusage-as: Fix bug.
4893         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
4894         original limit when aborting the first loop.
4895
4896 2011-01-23  Bruno Haible  <bruno@clisp.org>
4897
4898         wctype: Ensure valid C syntax.
4899         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
4900         unconditionally, instead of gl_NEXT_HEADERS conditionally.
4901
4902 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
4903
4904         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
4905         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
4906         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
4907         as they are needed only for configure's test case.
4908         This removes two unnecessary symbols from config.h.
4909
4910         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
4911         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
4912         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
4913         AC_CHECK_HEADERS_ONCE on a header that we also invoke
4914         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
4915         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
4916         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
4917         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4918         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4919         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4920         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
4921         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4922         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4923         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4924         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4925         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4926         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
4927         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4928
4929 2011-01-21  Eric Blake  <eblake@redhat.com>
4930
4931         maintainer-makefile: work with older git for submodule check
4932         * top/maint.mk (public-submodule-commit): Rewrite to avoid
4933         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
4934         Reported by Matthias Bolte.
4935
4936         bootstrap: minor portability fixes
4937         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
4938         (usage): Omit leading capital and trailing . on help phrases, per
4939         GNU Coding Standards.
4940         (check_versions, top level): Prefix messages with script name.
4941
4942 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
4943
4944         bootstrap: support --no-git option
4945         * build-aux/bootstrap: Add --no-git option, to be used when
4946         --gnulib-srcdir points to the exact desired checkout.
4947
4948 2011-01-21  Eric Blake  <eblake@redhat.com>
4949
4950         strerror_r-posix: work with glibc 2.13
4951         * lib/strerror_r.c (strerror_r): Fix return type.
4952
4953 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4954             Bruno Haible  <bruno@clisp.org>
4955
4956         uN_strstr: New unit tests.
4957         * modules/unistr/u8-strstr-tests: New file.
4958         * modules/unistr/u16-strstr-tests: New file.
4959         * modules/unistr/u32-strstr-tests: New file.
4960         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
4961         * tests/unistr/test-u8-strstr.c: New file.
4962         * tests/unistr/test-u16-strstr.c: New file.
4963         * tests/unistr/test-u32-strstr.c: New file.
4964
4965 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4966             Bruno Haible  <bruno@clisp.org>
4967
4968         Make uN_strstr functions O(n) worst-case.
4969         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
4970         16-bit and 32-bit unit cases, use the unibyte algorithm from
4971         lib/mbsstr.c.
4972         * lib/unistr/u8-strstr.c: Include <string.h>.
4973         (UNIT_IS_UINT8_T): New macro.
4974         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
4975         (U_STRLEN, U_STRNLEN): New macros.
4976         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
4977         (U_STRLEN, U_STRNLEN): New macros.
4978         * modules/unistr/u8-strstr (Depends-on): Add strstr.
4979         (configure.ac): Update required libunistring version.
4980         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
4981         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
4982         malloca.
4983         (configure.ac): Update required libunistring version.
4984         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
4985         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
4986         malloca.
4987         (configure.ac): Update required libunistring version.
4988
4989 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4990             Bruno Haible  <bruno@clisp.org>
4991
4992         Prepare for faster uN_strstr functions.
4993         * lib/str-kmp.h: Support definable UNITs.
4994         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
4995         needle_len argument.
4996         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
4997         * lib/mbscasestr.c (mbscasestr): Likewise.
4998
4999 2011-01-21  Pádraig Brady <P@draigBrady.com>
5000
5001         malloca-tests: make faster by unsetting MALLOC_PERTURB_
5002         * tests/test-malloca.c (main): Unset the environment variable
5003         to greatly speed up the test.
5004         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
5005         * modules/malloca-tests: Depend on unsetenv.
5006
5007 2011-01-21  Pádraig Brady <P@draigBrady.com>
5008
5009         ignore-value: remove stdint dependency
5010         * lib/ignore-value.h: Remove <stdint.h>
5011         * modules/ignore-value: Remove stdint dependency.
5012
5013 2011-01-21  Jim Meyering  <meyering@redhat.com>
5014
5015         maint.mk: adjust variable name to be consistent with other gl_ vars
5016         * top/maint.mk (gl_public_submodule_commit): Rename the variable
5017         to be lower case.
5018
5019 2011-01-20  Jim Meyering  <meyering@redhat.com>
5020
5021         maint.mk: make "check" depend on public-submodule-commit by default
5022         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
5023
5024 2011-01-20  Bruno Haible  <bruno@clisp.org>
5025
5026         mbfile, mbiter: Complete change from 2008-12-21.
5027         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
5028         * m4/mbiter.m4 (gl_MBITER): Likewise.
5029
5030 2011-01-20  Jim Meyering  <meyering@redhat.com>
5031
5032         init.sh: insert space between each function name and "()"
5033         * tests/init.sh: Make it a little easier to see that a function's
5034         name is "warn_", and not "warn" when looking at the first part of
5035         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
5036
5037 2011-01-20  Jim Meyering  <meyering@redhat.com>
5038
5039         mountlist: clean up code formatting
5040         * lib/mountlist.c (read_file_system_list): Split a long line,
5041         correct bracing style, use NULL in place of "(struct statfs *)0",
5042         don't parenthesize return value, add spaces around "=" and after
5043         ";-in-for-stmt".
5044
5045 2011-01-14  Markus Duft <mduft@gentoo.org>
5046
5047         mountlist: add support for Interix
5048         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
5049         Apply statvfs to all entries of /dev/fs.
5050         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
5051         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
5052
5053 2011-01-20  Jim Meyering  <meyering@redhat.com>
5054
5055         maint.mk: improve the public-submodule-commit rule
5056         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
5057         to suppress printing of its commands... unless V=1.
5058         Add git submodule's --quiet option to suppress printing of e.g.,
5059         "Entering gnulib" output.
5060         "cd" into $(srcdir) before running git submodule.
5061
5062 2011-01-20  Bruno Haible  <bruno@clisp.org>
5063
5064         include_next: Fix bug introduced on 2011-01-18.
5065         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
5066         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
5067         ac_cv_header_... variable if the second argument is not 'check'.
5068         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
5069         gl_NEXT_HEADERS_INTERNAL.
5070
5071 2011-01-20  Bruno Haible  <bruno@clisp.org>
5072
5073         Allow the user to avoid the GNULIB_TEST_* macros.
5074         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
5075         Suggested by Paul Eggert.
5076
5077 2011-01-14  Jim Meyering  <meyering@redhat.com>
5078
5079         bootstrap: avoid failure when there is no .gitmodules file
5080         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
5081         has been assigned to, even when its value is the empty string.
5082         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
5083         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
5084         Reported by John W. Eaton <jwe@gnu.org>.
5085
5086 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
5087
5088         assume <ctype.h>, ..., <time.h> exist
5089         For years gnulib has been assuming the existence of the headers
5090         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
5091         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
5092         them, since they don't appear to be needed.
5093         * README (Portability guidelines): Document this.
5094         * lib/flock.c: Assume <fcntl.h> exists.
5095         * lib/regex_internal.h: Assume <locale.h> exists.
5096         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
5097         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
5098         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
5099         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
5100         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
5101         * m4/regex.m4 (gl_REGEX): Likewise.
5102         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
5103         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
5104         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
5105         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
5106         * tests/test-argp.c: Likewise.
5107         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
5108
5109         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
5110         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
5111         AA_APPLE_UNIVERSAL_BUILD.  See
5112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
5113         * NEWS: Document this.
5114
5115 2011-01-19  Eric Blake  <eblake@redhat.com>
5116
5117         c-stack: assume stack overflow if SA_SIGINFO unsupported
5118         * lib/c-stack.c (SIGACTION_WORKS): Rename...
5119         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
5120         sigaction will work.
5121         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
5122         behavior match Linux.
5123         * tests/test-c-stack.c (main): Prefer NULL for pointers.
5124
5125         stdbool-tests: accomodate Haiku
5126         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
5127
5128         binary-io: fix O_TEXT on Haiku
5129         * modules/binary-io (Depends-on): Add fcntl-h.
5130         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
5131         than blindly undefining O_TEXT.
5132         Reported by Scott McCreary.
5133
5134 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
5135
5136         include_next: do not check for standard headers like stddef.h
5137
5138         I found this problem when modifying Emacs to use gnulib.
5139         I noticed that it added HAVE_STDDEF_H to config.h, even though
5140         gnulib always assumes <stddef.h> exists as per README and this
5141         symbol is unnecessary.
5142         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
5143         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
5144         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
5145         faster for headers like stddef.h that are known to exist.
5146         (gl_CHECK_NEXT_HEADERS): Use it.
5147         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
5148         rather than gl_CHECK_NEXT_HEADERS.
5149         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
5150         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
5151
5152 2011-01-18  Eric Blake  <eblake@redhat.com>
5153
5154         ansi-c++-opt: skip C++ dependency style if C++ is unused
5155         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
5156         tests when we know C++ compilation is not desired.
5157         Reported by Scott McCreary.
5158
5159 2011-01-18  Bruno Haible  <bruno@clisp.org>
5160
5161         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
5162         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
5163         (main): Perform test also when getrlimit and setrlimit don't exist or
5164         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
5165         limiting the address space size using setrlimit, compare the address
5166         space size before and after the the test.
5167         * tests/test-dprintf-posix2.c: Likewise.
5168         * tests/test-fprintf-posix3.sh: Update skip messages.
5169         * tests/test-dprintf-posix2.sh: Likewise.
5170         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
5171         * modules/dprintf-posix-tests (Depends-on): Likewise.
5172         Reported by Bruce Korb <bkorb@gnu.org> and
5173         Gary V. Vaughan <gary@gnu.org>.
5174
5175 2011-01-18  Bruno Haible  <bruno@clisp.org>
5176
5177         get-rusage-as: Improvement for Cygwin.
5178         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
5179         areas that are merely reserved.
5180
5181 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
5182
5183         strftime: remove dependencies on multibyte modules
5184
5185         strftime depended on mbrlen, mbsinit, and wchar, but these modules
5186         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
5187         only if __osf__ is defined, and I suspect OSF doesn't need these
5188         other modules.  If my guess is wrong, we'll need to come up with a
5189         variant of strftime that doesn't need the multibyte modules.
5190
5191         I discovered this problem when attempting modify Emacs to use the
5192         strftime module.  With the previous gnulib, this caused Emacs to
5193         need 31 new files, ranging from lib/config.charset to
5194         m4/wint_t.m4.  This was overkill and I expect would be offputting
5195         to the Emacs maintainers.  After this change, only 6 new files are
5196         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
5197         stdbool.m4, and tm_gmtoff.m4.
5198
5199         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
5200         Suggested by Bruno Haible in
5201         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
5202         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
5203         and do not check for wchar.h.
5204         * modules/strftime (Files): Remove m4/mbstate_t.m4.
5205         (Depends-on): Remove mbrlen, mbsinit, wchar.
5206
5207 2011-01-18  Bruno Haible  <bruno@clisp.org>
5208
5209         Tests for module 'get-rusage-as'.
5210         * modules/get-rusage-as-tests: New file.
5211         * tests/test-get-rusage-as.c: New file.
5212
5213         New module 'get-rusage-as'.
5214         * modules/get-rusage-as: New file.
5215         * lib/resource-ext.h: New file.
5216         * lib/get-rusage-as.c: New file.
5217
5218 2011-01-17  Eric Blake  <eblake@redhat.com>
5219
5220         sigaction: relax license from LGPLv3+ to LGPLv2+
5221         * modules/sigaction (License): Relax to LGPLv2+.
5222
5223 2011-01-14  Bruno Haible  <bruno@clisp.org>
5224
5225         filemode: Make function declarations usable in C++ mode.
5226         * lib/filemode.h: Enclose function declarations in extern "C" block.
5227         Reported by John W. Eaton <jwe@gnu.org>.
5228
5229 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
5230
5231         save-cwd: no longer include "xgetcwd.h"
5232         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
5233         This avoids a compilation failure in projects that use save-cwd
5234         without also using the xgetcwd module.
5235
5236 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5237
5238         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
5239         This is so that a program like Emacs, which needs only dtoastr,
5240         does not have to bother with distributing and compiling ftoastr
5241         and ldtoastr.
5242         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
5243         * modules/dtoastr, modules/ldtoastr: New files.
5244         * modules/ftoastr: Now works just for 'float'.
5245         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
5246         (Makefile.am): Remove ftoastr.h (not needed and no effect),
5247         dtoastr.c, ldtoastr.c.
5248
5249 2011-01-11  Jim Meyering  <meyering@redhat.com>
5250
5251         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
5252         There is no need to work around the lack of the fchdir function,
5253         since gnulib can now provide a replacement when required.
5254         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
5255         * modules/save-cwd (Depends-on): Add fchdir.
5256
5257 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5258
5259         openat, save-cwd: avoid xmalloc
5260
5261         This removes a direct (but undocumented) dependency of openat on
5262         xalloc, along with an indirect dependency via save-cwd.  It also
5263         removes a dependency of save-cwd on xgetcwd, and thereby
5264         indirectly on xalloc.  This change causes the openat substitute
5265         to fall back on save_cwd when memory is tight, and for save_cwd to
5266         fail instead of dying when memory is tight, but that's good enough.
5267         Problem and initial idea for fix reported by Bastien Roucaries in
5268         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
5269
5270         * lib/openat-proc.c: Include stdlib.h (for malloc), not
5271         xalloc.h (for xmalloc).
5272         (openat_proc_name): Use malloc, not xmalloc.
5273         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
5274         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
5275
5276         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
5277         This avoids heap allocation for file names whose lengths are in
5278         the range 512..1023, with the upper bound increasing to at most
5279         4031 depending on the platform's PATH_MAX.  (We do not want
5280         pathmax.h here as it might supply a non-constant PATH_MAX.)
5281         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
5282         Perhaps they should be moved to malloca.h?
5283         (OPENAT_BUFFER_SIZE): Use them.
5284
5285 2011-01-10  Bruno Haible  <bruno@clisp.org>
5286
5287         doc: Update users.txt.
5288         * users.txt: Add recutils.
5289
5290 2011-01-09  Karl Berry  <karl@gnu.org>
5291
5292         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
5293
5294         * doc/configmake.texi: New file.
5295         * doc/gnulib.texi: Include it.
5296         * modules/configmake: Move documentation from here.
5297
5298 2011-01-09  Bruno Haible  <bruno@clisp.org>
5299
5300         Update to Unicode 6.0.0.
5301         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
5302         (get_lbp): Update for Unicode 6.0.0.
5303         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
5304         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
5305         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
5306         U+11001, U+11038..U+11046. Remove U+06DE.
5307         (uc_width): Fix bounds of planes.
5308         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5309         lib/uniwidth/width.c.
5310         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
5311         trailing whitespace removed.
5312         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
5313         without comments, but with the original copyright notice.
5314         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
5315         * lib/unicase/ignorable.h: Likewise.
5316         * lib/unicase/tocasefold.h: Likewise.
5317         * lib/unicase/tolower.h: Likewise.
5318         * lib/unicase/totitle.h: Likewise.
5319         * lib/unicase/toupper.h: Likewise.
5320         * lib/unictype/bidi_of.h: Likewise.
5321         * lib/unictype/blocks.h: Likewise.
5322         * lib/unictype/categ_C.h: Likewise.
5323         * lib/unictype/categ_Cn.h: Likewise.
5324         * lib/unictype/categ_L.h: Likewise.
5325         * lib/unictype/categ_Ll.h: Likewise.
5326         * lib/unictype/categ_Lm.h: Likewise.
5327         * lib/unictype/categ_Lo.h: Likewise.
5328         * lib/unictype/categ_Lu.h: Likewise.
5329         * lib/unictype/categ_M.h: Likewise.
5330         * lib/unictype/categ_Mc.h: Likewise.
5331         * lib/unictype/categ_Me.h: Likewise.
5332         * lib/unictype/categ_Mn.h: Likewise.
5333         * lib/unictype/categ_N.h: Likewise.
5334         * lib/unictype/categ_Nd.h: Likewise.
5335         * lib/unictype/categ_No.h: Likewise.
5336         * lib/unictype/categ_P.h: Likewise.
5337         * lib/unictype/categ_Po.h: Likewise.
5338         * lib/unictype/categ_S.h: Likewise.
5339         * lib/unictype/categ_Sc.h: Likewise.
5340         * lib/unictype/categ_Sk.h: Likewise.
5341         * lib/unictype/categ_Sm.h: Likewise.
5342         * lib/unictype/categ_So.h: Likewise.
5343         * lib/unictype/categ_of.h: Likewise.
5344         * lib/unictype/combining.h: Likewise.
5345         * lib/unictype/ctype_alnum.h: Likewise.
5346         * lib/unictype/ctype_alpha.h: Likewise.
5347         * lib/unictype/ctype_graph.h: Likewise.
5348         * lib/unictype/ctype_lower.h: Likewise.
5349         * lib/unictype/ctype_print.h: Likewise.
5350         * lib/unictype/ctype_punct.h: Likewise.
5351         * lib/unictype/ctype_upper.h: Likewise.
5352         * lib/unictype/decdigit.h: Likewise.
5353         * lib/unictype/digit.h: Likewise.
5354         * lib/unictype/numeric.h: Likewise.
5355         * lib/unictype/pr_alphabetic.h: Likewise.
5356         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5357         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5358         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5359         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5360         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5361         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5362         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5363         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5364         * lib/unictype/pr_case_ignorable.h: Likewise.
5365         * lib/unictype/pr_cased.h: Likewise.
5366         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
5367         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
5368         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
5369         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
5370         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
5371         * lib/unictype/pr_combining.h: Likewise.
5372         * lib/unictype/pr_composite.h: Likewise.
5373         * lib/unictype/pr_currency_symbol.h: Likewise.
5374         * lib/unictype/pr_decimal_digit.h: Likewise.
5375         * lib/unictype/pr_deprecated.h: Likewise.
5376         * lib/unictype/pr_format_control.h: Likewise.
5377         * lib/unictype/pr_grapheme_base.h: Likewise.
5378         * lib/unictype/pr_grapheme_extend.h: Likewise.
5379         * lib/unictype/pr_grapheme_link.h: Likewise.
5380         * lib/unictype/pr_id_continue.h: Likewise.
5381         * lib/unictype/pr_id_start.h: Likewise.
5382         * lib/unictype/pr_ideographic.h: Likewise.
5383         * lib/unictype/pr_lowercase.h: Likewise.
5384         * lib/unictype/pr_math.h: Likewise.
5385         * lib/unictype/pr_numeric.h: Likewise.
5386         * lib/unictype/pr_other_alphabetic.h: Likewise.
5387         * lib/unictype/pr_other_id_continue.h: Likewise.
5388         * lib/unictype/pr_other_math.h: Likewise.
5389         * lib/unictype/pr_punctuation.h: Likewise.
5390         * lib/unictype/pr_sentence_terminal.h: Likewise.
5391         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5392         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5393         * lib/unictype/pr_unified_ideograph.h: Likewise.
5394         * lib/unictype/pr_uppercase.h: Likewise.
5395         * lib/unictype/pr_xid_continue.h: Likewise.
5396         * lib/unictype/pr_xid_start.h: Likewise.
5397         * lib/unictype/scripts.h: Likewise.
5398         * lib/unictype/scripts_byname.gperf: Likewise.
5399         * lib/unictype/sy_java_ident.h: Likewise.
5400         * lib/unigbrk/gbrkprop.h: Likewise.
5401         * lib/unilbrk/lbrkprop1.h: Likewise.
5402         * lib/unilbrk/lbrkprop2.h: Likewise.
5403         * lib/uninorm/decomposition-table2.h: Likewise.
5404         * lib/uniwbrk/wbrkprop.h: Likewise.
5405         * tests/unicase/test-cased.c: Likewise.
5406         * tests/unicase/test-ignorable.c: Likewise.
5407         * tests/unicase/test-uc_tolower.c: Likewise.
5408         * tests/unicase/test-uc_totitle.c: Likewise.
5409         * tests/unicase/test-uc_toupper.c: Likewise.
5410         * tests/unictype/test-categ_C.c: Likewise.
5411         * tests/unictype/test-categ_Cn.c: Likewise.
5412         * tests/unictype/test-categ_L.c: Likewise.
5413         * tests/unictype/test-categ_Ll.c: Likewise.
5414         * tests/unictype/test-categ_Lm.c: Likewise.
5415         * tests/unictype/test-categ_Lo.c: Likewise.
5416         * tests/unictype/test-categ_Lu.c: Likewise.
5417         * tests/unictype/test-categ_M.c: Likewise.
5418         * tests/unictype/test-categ_Mc.c: Likewise.
5419         * tests/unictype/test-categ_Me.c: Likewise.
5420         * tests/unictype/test-categ_Mn.c: Likewise.
5421         * tests/unictype/test-categ_N.c: Likewise.
5422         * tests/unictype/test-categ_Nd.c: Likewise.
5423         * tests/unictype/test-categ_No.c: Likewise.
5424         * tests/unictype/test-categ_P.c: Likewise.
5425         * tests/unictype/test-categ_Po.c: Likewise.
5426         * tests/unictype/test-categ_S.c: Likewise.
5427         * tests/unictype/test-categ_Sc.c: Likewise.
5428         * tests/unictype/test-categ_Sk.c: Likewise.
5429         * tests/unictype/test-categ_Sm.c: Likewise.
5430         * tests/unictype/test-categ_So.c: Likewise.
5431         * tests/unictype/test-ctype_alnum.c: Likewise.
5432         * tests/unictype/test-ctype_alpha.c: Likewise.
5433         * tests/unictype/test-ctype_graph.c: Likewise.
5434         * tests/unictype/test-ctype_lower.c: Likewise.
5435         * tests/unictype/test-ctype_print.c: Likewise.
5436         * tests/unictype/test-ctype_punct.c: Likewise.
5437         * tests/unictype/test-ctype_upper.c: Likewise.
5438         * tests/unictype/test-decdigit.h: Likewise.
5439         * tests/unictype/test-digit.h: Likewise.
5440         * tests/unictype/test-numeric.h: Likewise.
5441         * tests/unictype/test-pr_alphabetic.c: Likewise.
5442         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5443         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
5444         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
5445         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5446         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5447         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5448         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5449         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5450         * tests/unictype/test-pr_case_ignorable.c: Likewise.
5451         * tests/unictype/test-pr_cased.c: Likewise.
5452         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
5453         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
5454         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
5455         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
5456         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
5457         * tests/unictype/test-pr_combining.c: Likewise.
5458         * tests/unictype/test-pr_composite.c: Likewise.
5459         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5460         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5461         * tests/unictype/test-pr_deprecated.c: Likewise.
5462         * tests/unictype/test-pr_format_control.c: Likewise.
5463         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5464         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5465         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5466         * tests/unictype/test-pr_id_continue.c: Likewise.
5467         * tests/unictype/test-pr_id_start.c: Likewise.
5468         * tests/unictype/test-pr_ideographic.c: Likewise.
5469         * tests/unictype/test-pr_lowercase.c: Likewise.
5470         * tests/unictype/test-pr_math.c: Likewise.
5471         * tests/unictype/test-pr_numeric.c: Likewise.
5472         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5473         * tests/unictype/test-pr_other_id_continue.c: Likewise.
5474         * tests/unictype/test-pr_other_math.c: Likewise.
5475         * tests/unictype/test-pr_punctuation.c: Likewise.
5476         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5477         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5478         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5479         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5480         * tests/unictype/test-pr_uppercase.c: Likewise.
5481         * tests/unictype/test-pr_xid_continue.c: Likewise.
5482         * tests/unictype/test-pr_xid_start.c: Likewise.
5483         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5484         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5485         changes.
5486         * lib/unictype/categ_Cc.h: Likewise.
5487         * lib/unictype/categ_Cf.h: Likewise.
5488         * lib/unictype/categ_Co.h: Likewise.
5489         * lib/unictype/categ_Cs.h: Likewise.
5490         * lib/unictype/categ_Lt.h: Likewise.
5491         * lib/unictype/categ_Nl.h: Likewise.
5492         * lib/unictype/categ_Pc.h: Likewise.
5493         * lib/unictype/categ_Pd.h: Likewise.
5494         * lib/unictype/categ_Pe.h: Likewise.
5495         * lib/unictype/categ_Pf.h: Likewise.
5496         * lib/unictype/categ_Pi.h: Likewise.
5497         * lib/unictype/categ_Ps.h: Likewise.
5498         * lib/unictype/categ_Z.h: Likewise.
5499         * lib/unictype/categ_Zl.h: Likewise.
5500         * lib/unictype/categ_Zp.h: Likewise.
5501         * lib/unictype/categ_Zs.h: Likewise.
5502         * lib/unictype/ctype_blank.h: Likewise.
5503         * lib/unictype/ctype_cntrl.h: Likewise.
5504         * lib/unictype/ctype_digit.h: Likewise.
5505         * lib/unictype/ctype_space.h: Likewise.
5506         * lib/unictype/ctype_xdigit.h: Likewise.
5507         * lib/unictype/mirror.h: Likewise.
5508         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5509         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5510         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5511         * lib/unictype/pr_bidi_control.h: Likewise.
5512         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5513         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5514         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5515         * lib/unictype/pr_bidi_pdf.h: Likewise.
5516         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5517         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5518         * lib/unictype/pr_dash.h: Likewise.
5519         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5520         * lib/unictype/pr_diacritic.h: Likewise.
5521         * lib/unictype/pr_extender.h: Likewise.
5522         * lib/unictype/pr_hex_digit.h: Likewise.
5523         * lib/unictype/pr_hyphen.h: Likewise.
5524         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5525         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5526         * lib/unictype/pr_ignorable_control.h: Likewise.
5527         * lib/unictype/pr_iso_control.h: Likewise.
5528         * lib/unictype/pr_join_control.h: Likewise.
5529         * lib/unictype/pr_left_of_pair.h: Likewise.
5530         * lib/unictype/pr_line_separator.h: Likewise.
5531         * lib/unictype/pr_logical_order_exception.h: Likewise.
5532         * lib/unictype/pr_non_break.h: Likewise.
5533         * lib/unictype/pr_not_a_character.h: Likewise.
5534         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5535         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5536         * lib/unictype/pr_other_id_start.h: Likewise.
5537         * lib/unictype/pr_other_lowercase.h: Likewise.
5538         * lib/unictype/pr_other_uppercase.h: Likewise.
5539         * lib/unictype/pr_paired_punctuation.h: Likewise.
5540         * lib/unictype/pr_paragraph_separator.h: Likewise.
5541         * lib/unictype/pr_pattern_syntax.h: Likewise.
5542         * lib/unictype/pr_pattern_white_space.h: Likewise.
5543         * lib/unictype/pr_private_use.h: Likewise.
5544         * lib/unictype/pr_quotation_mark.h: Likewise.
5545         * lib/unictype/pr_radical.h: Likewise.
5546         * lib/unictype/pr_soft_dotted.h: Likewise.
5547         * lib/unictype/pr_space.h: Likewise.
5548         * lib/unictype/pr_titlecase.h: Likewise.
5549         * lib/unictype/pr_variation_selector.h: Likewise.
5550         * lib/unictype/pr_white_space.h: Likewise.
5551         * lib/unictype/pr_zero_width.h: Likewise.
5552         * lib/unictype/sy_c_ident.h: Likewise.
5553         * lib/unictype/sy_c_whitespace.h: Likewise.
5554         * lib/unictype/sy_java_whitespace.h: Likewise.
5555         * lib/uninorm/composition-table.gperf: Likewise.
5556         * lib/uninorm/decomposition-table1.h: Likewise.
5557         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
5558         LB8.
5559         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5560         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5561         * modules/unictype/*: Bump version number of expected libunistring
5562         version.
5563
5564 2011-01-09  Bruno Haible  <bruno@clisp.org>
5565
5566         Update to Unicode 5.2.0.
5567         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
5568         trailing whitespace removed.
5569
5570 2011-01-09  Bruno Haible  <bruno@clisp.org>
5571
5572         New Unicode character properties, from Unicode 5.2.0.
5573         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
5574         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
5575         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
5576         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
5577         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
5578         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
5579         uc_is_property_cased, uc_is_property_case_ignorable,
5580         uc_is_property_changes_when_lowercased,
5581         uc_is_property_changes_when_uppercased,
5582         uc_is_property_changes_when_titlecased,
5583         uc_is_property_changes_when_casefolded,
5584         uc_is_property_changes_when_casemapped): New declarations.
5585         * lib/unictype/pr_byname.gperf: Add the new properties.
5586         * modules/unictype/property-byname (Depends-on): Depend on the new
5587         properties modules.
5588         * modules/unictype/property-all (Depends-on): Likewise.
5589         * MODULES.html.sh (Unicode string functions): Add
5590         unictype/property-case-ignorable, unictype/property-cased,
5591         unictype/property-changes-when-casefolded,
5592         unictype/property-changes-when-casemapped,
5593         unictype/property-changes-when-lowercased,
5594         unictype/property-changes-when-titlecased,
5595         unictype/property-changes-when-uppercased.
5596
5597         New module 'unictype/property-changes-when-casemapped'.
5598         * modules/unictype/property-changes-when-casemapped: New file.
5599         * lib/unictype/pr_changes_when_casemapped.c: New file.
5600         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
5601         generated by gen-uni-tables.
5602         * modules/unictype/property-changes-when-casemapped-tests: New file.
5603         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
5604         automatically generated by gen-uni-tables.
5605
5606         New module 'unictype/property-changes-when-casefolded'.
5607         * modules/unictype/property-changes-when-casefolded: New file.
5608         * lib/unictype/pr_changes_when_casefolded.c: New file.
5609         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
5610         generated by gen-uni-tables.
5611         * modules/unictype/property-changes-when-casefolded-tests: New file.
5612         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
5613         automatically generated by gen-uni-tables.
5614
5615         New module 'unictype/property-changes-when-titlecased'.
5616         * modules/unictype/property-changes-when-titlecased: New file.
5617         * lib/unictype/pr_changes_when_titlecased.c: New file.
5618         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
5619         generated by gen-uni-tables.
5620         * modules/unictype/property-changes-when-titlecased-tests: New file.
5621         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
5622         automatically generated by gen-uni-tables.
5623
5624         New module 'unictype/property-changes-when-uppercased'.
5625         * modules/unictype/property-changes-when-uppercased: New file.
5626         * lib/unictype/pr_changes_when_uppercased.c: New file.
5627         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
5628         generated by gen-uni-tables.
5629         * modules/unictype/property-changes-when-uppercased-tests: New file.
5630         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
5631         automatically generated by gen-uni-tables.
5632
5633         New module 'unictype/property-changes-when-lowercased'.
5634         * modules/unictype/property-changes-when-lowercased: New file.
5635         * lib/unictype/pr_changes_when_lowercased.c: New file.
5636         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
5637         generated by gen-uni-tables.
5638         * modules/unictype/property-changes-when-lowercased-tests: New file.
5639         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
5640         automatically generated by gen-uni-tables.
5641
5642         New module 'unictype/property-case-ignorable'.
5643         * modules/unictype/property-case-ignorable: New file.
5644         * lib/unictype/pr_case_ignorable.c: New file.
5645         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
5646         by gen-uni-tables.
5647         * modules/unictype/property-case-ignorable-tests: New file.
5648         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
5649         generated by gen-uni-tables.
5650
5651         New module 'unictype/property-cased'.
5652         * modules/unictype/property-cased: New file.
5653         * lib/unictype/pr_cased.c: New file.
5654         * lib/unictype/pr_cased.h: New file, automatically generated by
5655         gen-uni-tables.
5656         * modules/unictype/property-cased-tests: New file.
5657         * tests/unictype/test-pr_cased.c: New file, automatically generated by
5658         gen-uni-tables.
5659
5660 2011-01-09  Bruno Haible  <bruno@clisp.org>
5661
5662         Update to Unicode 5.2.0.
5663         * lib/gen-uni-tables.c (output_predicate, output_category,
5664         output_combclass, output_bidi_category, output_decimal_digit_test,
5665         output_decimal_digit, output_digit_test, output_digit,
5666         output_numeric_test, output_numeric, output_mirror, output_scripts,
5667         output_scripts_byname, output_blocks, output_ident_category): Fix
5668         comment header.
5669         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
5670         get_wbp.
5671         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
5672         items.
5673         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
5674         Changes_When_Lowercased, Changes_When_Uppercased,
5675         Changes_When_Titlecased, Changes_When_Casefolded,
5676         Changes_When_Casemapped.
5677         (is_property_alphabetic, is_property_default_ignorable_code_point):
5678         Update for Unicode 5.2.0.
5679         (is_property_cased, is_property_case_ignorable,
5680         is_property_changes_when_lowercased,
5681         is_property_changes_when_uppercased,
5682         is_property_changes_when_titlecased,
5683         is_property_changes_when_casefolded,
5684         is_property_changes_when_casemapped): New functions.
5685         (output_properties): Output also the properties cased, case_ignorable,
5686         changes_when_lowercased, changes_when_uppercased,
5687         changes_when_titlecased, changes_when_casefolded,
5688         changes_when_casemapped.
5689         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
5690         Unicode TR#11 revision 17 -> 19.
5691         (LBP_CP): New enumeration value.
5692         (LBP_*): Adjust values accordingly.
5693         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5694         TR#14 revision 22 -> 24.
5695         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
5696         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
5697         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5698         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
5699         is_WBP_MIDLETTER.
5700         (output_composition_tables): Allow for 24 bits instead of 16 bits in
5701         the code1 and code2 of each composition rule.
5702         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
5703         * lib/unicase/ignorable.h: Likewise.
5704         * lib/unicase/tocasefold.h: Likewise.
5705         * lib/unicase/tolower.h: Likewise.
5706         * lib/unicase/totitle.h: Likewise.
5707         * lib/unicase/toupper.h: Likewise.
5708         * lib/unictype/bidi_of.h: Likewise.
5709         * lib/unictype/blocks.h: Likewise.
5710         * lib/unictype/categ_C.h: Likewise.
5711         * lib/unictype/categ_Cf.h: Likewise.
5712         * lib/unictype/categ_Cn.h: Likewise.
5713         * lib/unictype/categ_L.h: Likewise.
5714         * lib/unictype/categ_Ll.h: Likewise.
5715         * lib/unictype/categ_Lm.h: Likewise.
5716         * lib/unictype/categ_Lo.h: Likewise.
5717         * lib/unictype/categ_Lu.h: Likewise.
5718         * lib/unictype/categ_M.h: Likewise.
5719         * lib/unictype/categ_Mc.h: Likewise.
5720         * lib/unictype/categ_Mn.h: Likewise.
5721         * lib/unictype/categ_N.h: Likewise.
5722         * lib/unictype/categ_Nd.h: Likewise.
5723         * lib/unictype/categ_Nl.h: Likewise.
5724         * lib/unictype/categ_No.h: Likewise.
5725         * lib/unictype/categ_P.h: Likewise.
5726         * lib/unictype/categ_Pd.h: Likewise.
5727         * lib/unictype/categ_Po.h: Likewise.
5728         * lib/unictype/categ_S.h: Likewise.
5729         * lib/unictype/categ_Sc.h: Likewise.
5730         * lib/unictype/categ_So.h: Likewise.
5731         * lib/unictype/categ_of.h: Likewise.
5732         * lib/unictype/combining.h: Likewise.
5733         * lib/unictype/ctype_alnum.h: Likewise.
5734         * lib/unictype/ctype_alpha.h: Likewise.
5735         * lib/unictype/ctype_graph.h: Likewise.
5736         * lib/unictype/ctype_lower.h: Likewise.
5737         * lib/unictype/ctype_print.h: Likewise.
5738         * lib/unictype/ctype_punct.h: Likewise.
5739         * lib/unictype/ctype_upper.h: Likewise.
5740         * lib/unictype/decdigit.h: Likewise.
5741         * lib/unictype/digit.h: Likewise.
5742         * lib/unictype/numeric.h: Likewise.
5743         * lib/unictype/pr_alphabetic.h: Likewise.
5744         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5745         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5746         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5747         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5748         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5749         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5750         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5751         * lib/unictype/pr_combining.h: Likewise.
5752         * lib/unictype/pr_composite.h: Likewise.
5753         * lib/unictype/pr_currency_symbol.h: Likewise.
5754         * lib/unictype/pr_dash.h: Likewise.
5755         * lib/unictype/pr_decimal_digit.h: Likewise.
5756         * lib/unictype/pr_deprecated.h: Likewise.
5757         * lib/unictype/pr_diacritic.h: Likewise.
5758         * lib/unictype/pr_extender.h: Likewise.
5759         * lib/unictype/pr_grapheme_base.h: Likewise.
5760         * lib/unictype/pr_grapheme_extend.h: Likewise.
5761         * lib/unictype/pr_grapheme_link.h: Likewise.
5762         * lib/unictype/pr_id_continue.h: Likewise.
5763         * lib/unictype/pr_id_start.h: Likewise.
5764         * lib/unictype/pr_ideographic.h: Likewise.
5765         * lib/unictype/pr_ignorable_control.h: Likewise.
5766         * lib/unictype/pr_logical_order_exception.h: Likewise.
5767         * lib/unictype/pr_lowercase.h: Likewise.
5768         * lib/unictype/pr_numeric.h: Likewise.
5769         * lib/unictype/pr_other_alphabetic.h: Likewise.
5770         * lib/unictype/pr_punctuation.h: Likewise.
5771         * lib/unictype/pr_sentence_terminal.h: Likewise.
5772         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5773         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5774         * lib/unictype/pr_unified_ideograph.h: Likewise.
5775         * lib/unictype/pr_uppercase.h: Likewise.
5776         * lib/unictype/pr_xid_continue.h: Likewise.
5777         * lib/unictype/pr_xid_start.h: Likewise.
5778         * lib/unictype/pr_zero_width.h: Likewise.
5779         * lib/unictype/scripts.h: Likewise.
5780         * lib/unictype/scripts_byname.gperf: Likewise.
5781         * lib/unictype/sy_java_ident.h: Likewise.
5782         * lib/unigbrk/gbrkprop.h: Likewise.
5783         * lib/unilbrk/lbrkprop1.h: Likewise.
5784         * lib/unilbrk/lbrkprop2.h: Likewise.
5785         * lib/unilbrk/lbrktables.h: Likewise.
5786         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
5787         LBP_CP. Implement rule LB30.
5788         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
5789         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
5790         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
5791         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
5792         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
5793         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
5794         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
5795         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
5796         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
5797         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
5798         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
5799         bits instead of 16 bits in the code1 and code2 of each composition
5800         rule.
5801         (uc_composition): Update for Unicode 5.2.0.
5802         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
5803         * lib/uninorm/decomposition-table2.h: Likewise.
5804         * lib/uniwbrk/wbrkprop.h: Likewise.
5805         * tests/unicase/test-cased.c: Likewise.
5806         * tests/unicase/test-ignorable.c: Likewise.
5807         * tests/unicase/test-uc_tolower.c: Likewise.
5808         * tests/unicase/test-uc_totitle.c: Likewise.
5809         * tests/unicase/test-uc_toupper.c: Likewise.
5810         * tests/unictype/test-categ_C.c: Likewise.
5811         * tests/unictype/test-categ_Cf.c: Likewise.
5812         * tests/unictype/test-categ_Cn.c: Likewise.
5813         * tests/unictype/test-categ_L.c: Likewise.
5814         * tests/unictype/test-categ_Ll.c: Likewise.
5815         * tests/unictype/test-categ_Lm.c: Likewise.
5816         * tests/unictype/test-categ_Lo.c: Likewise.
5817         * tests/unictype/test-categ_Lu.c: Likewise.
5818         * tests/unictype/test-categ_M.c: Likewise.
5819         * tests/unictype/test-categ_Mc.c: Likewise.
5820         * tests/unictype/test-categ_Mn.c: Likewise.
5821         * tests/unictype/test-categ_N.c: Likewise.
5822         * tests/unictype/test-categ_Nd.c: Likewise.
5823         * tests/unictype/test-categ_Nl.c: Likewise.
5824         * tests/unictype/test-categ_No.c: Likewise.
5825         * tests/unictype/test-categ_P.c: Likewise.
5826         * tests/unictype/test-categ_Pd.c: Likewise.
5827         * tests/unictype/test-categ_Po.c: Likewise.
5828         * tests/unictype/test-categ_S.c: Likewise.
5829         * tests/unictype/test-categ_Sc.c: Likewise.
5830         * tests/unictype/test-categ_So.c: Likewise.
5831         * tests/unictype/test-ctype_alnum.c: Likewise.
5832         * tests/unictype/test-ctype_alpha.c: Likewise.
5833         * tests/unictype/test-ctype_graph.c: Likewise.
5834         * tests/unictype/test-ctype_lower.c: Likewise.
5835         * tests/unictype/test-ctype_print.c: Likewise.
5836         * tests/unictype/test-ctype_punct.c: Likewise.
5837         * tests/unictype/test-ctype_upper.c: Likewise.
5838         * tests/unictype/test-decdigit.h: Likewise.
5839         * tests/unictype/test-digit.h: Likewise.
5840         * tests/unictype/test-numeric.h: Likewise.
5841         * tests/unictype/test-pr_alphabetic.c: Likewise.
5842         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5843         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5844         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
5845         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5846         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5847         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5848         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5849         * tests/unictype/test-pr_combining.c: Likewise.
5850         * tests/unictype/test-pr_composite.c: Likewise.
5851         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5852         * tests/unictype/test-pr_dash.c: Likewise.
5853         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5854         * tests/unictype/test-pr_deprecated.c: Likewise.
5855         * tests/unictype/test-pr_diacritic.c: Likewise.
5856         * tests/unictype/test-pr_extender.c: Likewise.
5857         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5858         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5859         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5860         * tests/unictype/test-pr_id_continue.c: Likewise.
5861         * tests/unictype/test-pr_id_start.c: Likewise.
5862         * tests/unictype/test-pr_ideographic.c: Likewise.
5863         * tests/unictype/test-pr_ignorable_control.c: Likewise.
5864         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
5865         * tests/unictype/test-pr_lowercase.c: Likewise.
5866         * tests/unictype/test-pr_numeric.c: Likewise.
5867         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5868         * tests/unictype/test-pr_punctuation.c: Likewise.
5869         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5870         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5871         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5872         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5873         * tests/unictype/test-pr_uppercase.c: Likewise.
5874         * tests/unictype/test-pr_xid_continue.c: Likewise.
5875         * tests/unictype/test-pr_xid_start.c: Likewise.
5876         * tests/unictype/test-pr_zero_width.c: Likewise.
5877         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5878         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
5879         changed behaviour: line breaking is now disallowed between a letter
5880         or '=' and '('.
5881         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5882         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5883         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
5884         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
5885         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5886         lib/uniwidth/width.c.
5887         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
5888         without comments, but with the original copyright notice.
5889         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5890         changes.
5891         * lib/unictype/categ_Cc.h: Likewise.
5892         * lib/unictype/categ_Co.h: Likewise.
5893         * lib/unictype/categ_Cs.h: Likewise.
5894         * lib/unictype/categ_Lt.h: Likewise.
5895         * lib/unictype/categ_Me.h: Likewise.
5896         * lib/unictype/categ_Pc.h: Likewise.
5897         * lib/unictype/categ_Pe.h: Likewise.
5898         * lib/unictype/categ_Pf.h: Likewise.
5899         * lib/unictype/categ_Pi.h: Likewise.
5900         * lib/unictype/categ_Ps.h: Likewise.
5901         * lib/unictype/categ_Sk.h: Likewise.
5902         * lib/unictype/categ_Sm.h: Likewise.
5903         * lib/unictype/categ_Z.h: Likewise.
5904         * lib/unictype/categ_Zl.h: Likewise.
5905         * lib/unictype/categ_Zp.h: Likewise.
5906         * lib/unictype/categ_Zs.h: Likewise.
5907         * lib/unictype/ctype_blank.h: Likewise.
5908         * lib/unictype/ctype_cntrl.h: Likewise.
5909         * lib/unictype/ctype_digit.h: Likewise.
5910         * lib/unictype/ctype_space.h: Likewise.
5911         * lib/unictype/ctype_xdigit.h: Likewise.
5912         * lib/unictype/mirror.h: Likewise.
5913         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5914         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5915         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5916         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5917         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5918         * lib/unictype/pr_bidi_control.h: Likewise.
5919         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5920         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5921         * lib/unictype/pr_bidi_pdf.h: Likewise.
5922         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5923         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5924         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5925         * lib/unictype/pr_format_control.h: Likewise.
5926         * lib/unictype/pr_hex_digit.h: Likewise.
5927         * lib/unictype/pr_hyphen.h: Likewise.
5928         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5929         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5930         * lib/unictype/pr_iso_control.h: Likewise.
5931         * lib/unictype/pr_join_control.h: Likewise.
5932         * lib/unictype/pr_left_of_pair.h: Likewise.
5933         * lib/unictype/pr_line_separator.h: Likewise.
5934         * lib/unictype/pr_math.h: Likewise.
5935         * lib/unictype/pr_non_break.h: Likewise.
5936         * lib/unictype/pr_not_a_character.h: Likewise.
5937         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5938         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5939         * lib/unictype/pr_other_id_continue.h: Likewise.
5940         * lib/unictype/pr_other_id_start.h: Likewise.
5941         * lib/unictype/pr_other_lowercase.h: Likewise.
5942         * lib/unictype/pr_other_math.h: Likewise.
5943         * lib/unictype/pr_other_uppercase.h: Likewise.
5944         * lib/unictype/pr_paired_punctuation.h: Likewise.
5945         * lib/unictype/pr_paragraph_separator.h: Likewise.
5946         * lib/unictype/pr_pattern_syntax.h: Likewise.
5947         * lib/unictype/pr_pattern_white_space.h: Likewise.
5948         * lib/unictype/pr_private_use.h: Likewise.
5949         * lib/unictype/pr_quotation_mark.h: Likewise.
5950         * lib/unictype/pr_radical.h: Likewise.
5951         * lib/unictype/pr_soft_dotted.h: Likewise.
5952         * lib/unictype/pr_space.h: Likewise.
5953         * lib/unictype/pr_titlecase.h: Likewise.
5954         * lib/unictype/pr_variation_selector.h: Likewise.
5955         * lib/unictype/pr_white_space.h: Likewise.
5956         * lib/unictype/sy_c_ident.h: Likewise.
5957         * lib/unictype/sy_c_whitespace.h: Likewise.
5958         * lib/unictype/sy_java_whitespace.h: Likewise.
5959         * modules/uni*/*: Bump version number of expected libunistring version.
5960         Reported by Simon Josefsson.
5961
5962 2011-01-09  Karl Heuer  <kwzh@gnu.org>
5963
5964         useless-if-before-free: fix typo in --help and make the internal,
5965         automatic version date update process work once again.
5966         --help output contained a NUL character instead of the
5967         backslash-zero that was intended.  Also, the "must lie within
5968         the first 8 lines" line is on line 9, and hence not getting
5969         automatically updated.
5970         * build-aux/useless-if-before-free: Fix the former by adding a
5971         backslash, and the latter by condensing the three lines of what-it-does
5972         to a single line, leaving one line of slack for the future.
5973
5974 2011-01-09  Bruno Haible  <bruno@clisp.org>
5975
5976         uniwidth/width: Fix width of U+1D173..U+1D17A.
5977         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
5978         symbolic_width, output_width_property_test): New functions.
5979         (main): Invoke output_nonspacing_property, output_width_property_test.
5980         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
5981         U+1D173..U+1D17A.
5982         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
5983         1.
5984         * modules/uniwidth/*: Bump version number of expected libunistring
5985         version.
5986         * modules/unilbrk/*: Likewise.
5987
5988 2011-01-08  Bruno Haible  <bruno@clisp.org>
5989
5990         uninorm tests: Preserve copyright of Unicode data file.
5991         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
5992         Mention modifications.
5993
5994 2011-01-08  Bruno Haible  <bruno@clisp.org>
5995
5996         gen-uni-tables: Prepare for Unicode 5.2.0.
5997         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
5998         (debug_output_lbp, output_lbp): Update.
5999
6000 2011-01-08  Bruno Haible  <bruno@clisp.org>
6001
6002         unilbrk: Clarify gen-uni-tables.c code.
6003         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
6004         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
6005         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
6006
6007 2011-01-07  Bruno Haible  <bruno@clisp.org>
6008
6009         strtod: Restore errno when successfully parsing Infinity or NaN.
6010         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
6011         restore the original errno.
6012
6013 2011-01-07  Bruno Haible  <bruno@clisp.org>
6014
6015         remove test: Avoid failure on HP-UX 11.
6016         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
6017
6018 2011-01-07  Bruno Haible  <bruno@clisp.org>
6019
6020         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
6021         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
6022         error code.
6023
6024 2011-01-07  Pádraig Brady <P@draigBrady.com>
6025
6026         ignore-value: fixup comments, and add Eric Blake
6027         as an author since he rewrote the macros.
6028         * lib/ignore-value.h (ignore_value):  State that
6029         we now support aggregates.  Also specify exactly
6030         when the GCC warn_unused_result feature was added.
6031
6032 2011-01-06  Eric Blake  <eblake@redhat.com>
6033
6034         ignore-value: support aggregate types
6035         * lib/ignore-value.h (ignore_value): Provide separate gcc
6036         definition.
6037         * modules/ignore-value-tests: New test module.
6038         * tests/test-ignore-value.c: New test.
6039
6040         maint.mk: improve sc_prohibit_strcmp regex
6041         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
6042         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
6043         definition of STRNEQ.
6044
6045         signal: work around Haiku issue with SIGBUS
6046         * lib/siglist.h: Add comment.
6047         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
6048         strsignal's favoring of SIGSEGV.
6049         * tests/test-signal.c (main): Avoid test failure.
6050         * doc/posix-headers/signal.texi (signal.h): Document the issue.
6051         Reported by Scott McCreary.
6052
6053         maint.mk: add pre-release check to ensure submodule commits are public
6054         * top/maint.mk (public-submodule-commit): New rule.
6055         (submodule-checks): New variable.
6056         (alpha beta stable): Depend on the variable.
6057
6058 2011-01-05  Pádraig Brady <P@draigBrady.com>
6059         and Jim Meyering  <meyering@redhat.com>
6060
6061         ignore-value: make ignore_value more generic; deprecate ignore_ptr
6062         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
6063         (ATTRIBUTE_DEPRECATED): Define.
6064         (_ignore_case): New function.
6065         (ignore_value): New macro, to replace the old function.
6066         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
6067         * modules/ignore-value (Depends-on): Add stdint.
6068
6069 2011-01-04  Eric Blake  <eblake@redhat.com>
6070
6071         doc: regenerate INSTALL
6072         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
6073         @firstparagraphindent support, now that autoconf dropped it.
6074         (INSTALL_PRELUDE): Reinstate old macro.
6075         * doc/install.texi: Resync from autoconf.
6076         * doc/INSTALL: Reflect recent autoconf update.
6077         * doc/INSTALL.ISO: Likewise.
6078         * doc/INSTALL.UTF-8: Likewise.
6079         Reported by Karl Berry.
6080
6081 2011-01-04  Bruce Korb  <address@hidden>
6082
6083         git-version-gen: avoid a sub-shell
6084         * build-aux/git-version-gen: Redirect stderr in `...` via
6085         "exec 2>...", rather than via an added sub-shell.
6086
6087 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
6088
6089         git-version-gen: use (...) rather than sh -c '...'
6090         * build-aux/git-version-gen: Rather than hard-coding a shell's name
6091         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
6092
6093 2011-01-03  Jim Meyering  <meyering@redhat.com>
6094
6095         git-version-gen: convert leading TABs to spaces
6096         * build-aux/git-version-gen: Expand leading TABs.
6097
6098         git-version-gen: handle failed "git rev-list"
6099         * build-aux/git-version-gen: Rather than leaking a "fatal" error
6100         from git and proceeding as if it had succeeded but printed no SHA1
6101         checksums, suppress the diagnostic and handle the failure.
6102         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
6103
6104         git-version-gen: include command name in one more diagnostic
6105         * build-aux/git-version-gen: When the required .tarball-version file
6106         was missing or unreadable, you might see the diagnostic from "cat",
6107         but no trace of the name of the invoking script.  Now, you still see
6108         the diagnostic from cat, but also get one from "git-version-gen: ".
6109         Inspired by a patch from Bruce Korb.
6110
6111         update-copyright: adjust test to match changed code
6112         * tests/test-update-copyright.sh: Change test's expected output
6113         to match new actual output.
6114
6115 2011-01-02  Bruno Haible  <bruno@clisp.org>
6116
6117         getlogin_r: Avoid test failure on HP-UX 11.
6118         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
6119         ERANGE when the second argument is zero.
6120         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
6121         portability problem.
6122
6123 2011-01-02  Bruce Korb  <bkorb@gnu.org>
6124
6125         * build-aux/update-copyright: doc Simon's changes
6126
6127 2011-01-02  Simon Josefsson  <simon@josefsson.org>
6128
6129         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
6130         environment variable.
6131
6132 2011-01-02  Bruno Haible  <bruno@clisp.org>
6133
6134         unigbrk: Avoid gcc warnings.
6135         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
6136         unused variable.
6137         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
6138         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
6139         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
6140         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
6141         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
6142         Change type of first argument to 'const char *'.
6143         (main): Remove unused variable.
6144         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
6145         type of first argument to 'const char *'.
6146         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
6147         Likewise.
6148         (main): Change type of variable 's'.
6149         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
6150         to 'int'.
6151
6152 2011-01-02  Bruno Haible  <bruno@clisp.org>
6153
6154         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
6155         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
6156         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
6157         bug.
6158         * lib/pwrite.c: Undo 2010-12-31 patch.
6159         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
6160
6161 2011-01-02  Bruno Haible  <bruno@clisp.org>
6162
6163         pread: Fix test whether it works.
6164         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
6165
6166 2011-01-02  Bruno Haible  <bruno@clisp.org>
6167
6168         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
6169         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
6170         ends in "6". Don't require a specific month name. Try also the locale
6171         names found on HP-UX 11 and Solaris 7.
6172
6173 2011-01-02  Bruno Haible  <bruno@clisp.org>
6174
6175         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
6176         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
6177         C linkage.
6178         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
6179
6180 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6181
6182         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
6183         for consistency, since the "cluster" term is not used elsewhere.
6184         * lib/unigbrk.in.h: Update name.
6185         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
6186         * lib/unigbrk/u16-grapheme-next.c: Update name.
6187         * lib/unigbrk/u16-grapheme-prev.c: Update name.
6188         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
6189         * lib/unigbrk/u32-grapheme-next.c: Update name.
6190         * lib/unigbrk/u32-grapheme-prev.c: Update name.
6191         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
6192         * lib/unigbrk/u8-grapheme-next.c: Update name.
6193         * lib/unigbrk/u8-grapheme-prev.c: Update name.
6194         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
6195         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
6196         Suggested by Bruno Haible.
6197
6198 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6199
6200         Remove module 'u8-grapheme-len' as too redundant with
6201         'u8-grapheme-next'.
6202         * modules/unigbrk/u8-grapheme-len: Delete file.
6203         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
6204         * lib/unigbrk.in.h: Remove prototype for deleted function.
6205         * lib/unigbrk/u8-grapheme-len.c: Delete file.
6206         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
6207
6208         Remove module 'u16-grapheme-len' as too redundant with
6209         'u16-grapheme-next'.
6210         * modules/unigbrk/u16-grapheme-len: Delete file.
6211         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
6212         * lib/unigbrk.in.h: Remove prototype for deleted function.
6213         * lib/unigbrk/u16-grapheme-len.c: Delete file.
6214         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
6215
6216         Remove module 'u32-grapheme-len' as too redundant with
6217         'u32-grapheme-next'.
6218         * modules/unigbrk/u32-grapheme-len: Delete file.
6219         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
6220         * lib/unigbrk.in.h: Remove prototype for deleted function.
6221         * lib/unigbrk/u32-grapheme-len.c: Delete file.
6222         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
6223
6224         Suggested by Bruno Haible.
6225
6226 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6227
6228         * unigbrk.in.h: Fix typo: "ben" => "been".
6229         Reported by Bruno Haible.
6230
6231 2011-01-01  Jim Meyering  <meyering@redhat.com>
6232
6233         maint: update almost all copyright ranges to include 2011
6234         Run the new "make update-copyright" rule.
6235
6236 2011-01-01  Jim Meyering  <meyering@redhat.com>
6237
6238         maint: update-copyright: exempt doc/INSTALL*
6239         * Makefile (update-copyright): Also exclude doc/INSTALL*,
6240         since they are generated.  Suggested by Bruno Haible.
6241
6242 2011-01-01  Jim Meyering  <meyering@redhat.com>
6243
6244         maint: refine the update-copyright rule
6245         * Makefile (update-copyright): Also exclude any file that includes
6246         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
6247         code that merely generates the comment.
6248
6249 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
6250
6251         New module 'u8-grapheme-len'.
6252         * modules/unigbrk/u8-grapheme-len: New file.
6253         * modules/unigbrk/u8-grapheme-len-tests: New file.
6254         * lib/unigbrk.in.h: Add prototype for new function.
6255         * lib/unigbrk/u8-grapheme-len.c: New file.
6256         * tests/unigbrk/test-u8-grapheme-len.c: New file.
6257
6258         New module 'u16-grapheme-len'.
6259         * modules/unigbrk/u16-grapheme-len: New file.
6260         * modules/unigbrk/u16-grapheme-len-tests: New file.
6261         * lib/unigbrk.in.h: Add prototype for new function.
6262         * lib/unigbrk/u16-grapheme-len.c: New file.
6263         * tests/unigbrk/test-u16-grapheme-len.c: New file.
6264
6265         New module 'u32-grapheme-len'.
6266         * modules/unigbrk/u32-grapheme-len: New file.
6267         * modules/unigbrk/u32-grapheme-len-tests: New file.
6268         * lib/unigbrk.in.h: Add prototype for new function.
6269         * lib/unigbrk/u32-grapheme-len.c: New file.
6270         * tests/unigbrk/test-u32-grapheme-len.c: New file.
6271
6272         New module 'u8-grapheme-next'.
6273         * modules/unigbrk/u8-grapheme-next: New file.
6274         * modules/unigbrk/u8-grapheme-next-tests: New file.
6275         * lib/unigbrk.in.h: Add prototype for new function.
6276         * lib/unigbrk/u8-grapheme-next.c: New file.
6277         * tests/unigbrk/test-u8-grapheme-next.c: New file.
6278
6279         New module 'u16-grapheme-next'.
6280         * modules/unigbrk/u16-grapheme-next: New file.
6281         * modules/unigbrk/u16-grapheme-next-tests: New file.
6282         * lib/unigbrk.in.h: Add prototype for new function.
6283         * lib/unigbrk/u16-grapheme-next.c: New file.
6284         * tests/unigbrk/test-u16-grapheme-next.c: New file.
6285
6286         New module 'u32-grapheme-next'.
6287         * modules/unigbrk/u32-grapheme-next: New file.
6288         * modules/unigbrk/u32-grapheme-next-tests: New file.
6289         * lib/unigbrk.in.h: Add prototype for new function.
6290         * lib/unigbrk/u32-grapheme-next.c: New file.
6291         * tests/unigbrk/test-u32-grapheme-next.c: New file.
6292
6293         New module 'u8-grapheme-prev'.
6294         * modules/unigbrk/u8-grapheme-prev: New file.
6295         * modules/unigbrk/u8-grapheme-prev-tests: New file.
6296         * lib/unigbrk.in.h: Add prototype for new function.
6297         * lib/unigbrk/u8-grapheme-prev.c: New file.
6298         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
6299
6300         New module 'u16-grapheme-prev'.
6301         * modules/unigbrk/u16-grapheme-prev: New file.
6302         * modules/unigbrk/u16-grapheme-prev-tests: New file.
6303         * lib/unigbrk.in.h: Add prototype for new function.
6304         * lib/unigbrk/u16-grapheme-prev.c: New file.
6305         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
6306
6307         New module 'u32-grapheme-prev'.
6308         * modules/unigbrk/u32-grapheme-prev: New file.
6309         * modules/unigbrk/u32-grapheme-prev-tests: New file.
6310         * lib/unigbrk.in.h: Add prototype for new function.
6311         * lib/unigbrk/u32-grapheme-prev.c: New file.
6312         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
6313
6314         New module 'u8-grapheme-breaks'.
6315         * modules/unigbrk/u8-grapheme-breaks: New file.
6316         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
6317         * lib/unigbrk.in.h: Add prototype for new function.
6318         * lib/unigbrk/u8-grapheme-breaks.c: New file.
6319         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
6320
6321         New module 'u16-grapheme-breaks'.
6322         * modules/unigbrk/u16-grapheme-breaks: New file.
6323         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
6324         * lib/unigbrk.in.h: Add prototype for new function.
6325         * lib/unigbrk/u16-grapheme-breaks.c: New file.
6326         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
6327
6328         New module 'u32-grapheme-breaks'.
6329         * modules/unigbrk/u32-grapheme-breaks: New file.
6330         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
6331         * lib/unigbrk.in.h: Add prototype for new function.
6332         * lib/unigbrk/u32-grapheme-breaks.c: New file.
6333         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
6334
6335         New module 'ulc-grapheme-breaks'.
6336         * modules/unigbrk/ulc-grapheme-breaks: New file.
6337         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
6338         * m4/locale-ar.m4: New file.
6339         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
6340         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
6341         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
6342
6343 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
6344
6345         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
6346         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
6347         modified how this file was generated before I initially submitted
6348         the module, but failed to regenerate it.  This meant that several
6349         of the level2 entries were wrong.
6350         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
6351         Remove the division-by-2 that is folded into the table now that
6352         gbrkprop.h has been regenerated properly.  Now -1 entries are
6353         handled correctly.
6354
6355         New module 'unigbrk/uc-gbrk-prop-tests'.
6356         * modules/unigbrk/uc-gbrk-prop-tests: New file.
6357         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
6358         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
6359         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
6360
6361 2011-01-01  Bruno Haible  <bruno@clisp.org>
6362
6363         Avoid use of hexadecimal escapes.
6364         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
6365         instead of hexadecimal escapes.
6366
6367 2011-01-01  Jim Meyering  <meyering@redhat.com>
6368
6369         maint: new rule to update copyright year ranges
6370         * Makefile (update-copyright): New rule.
6371
6372         maint: indent with TABs in Makefile
6373         * Makefile: Expand leading sequences of spaces to TABs
6374
6375         version-etc: update the copyright year it reports
6376         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
6377
6378 2010-12-31  Bruno Haible  <bruno@clisp.org>
6379
6380         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
6381         * lib/isfinite.c (zerof, zerod, zerol): New variables.
6382         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
6383         zero.
6384
6385 2010-12-31  Bruno Haible  <bruno@clisp.org>
6386
6387         pwrite: Work around HP-UX 11.11 bug.
6388         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
6389         works and set REPLACE_PWRITE if not.
6390         * lib/pwrite.c (pwrite): Add an implementation that uses the system
6391         function.
6392         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
6393
6394 2010-12-31  Bruno Haible  <bruno@clisp.org>
6395
6396         pread: Work around HP-UX 11 bugs.
6397         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
6398         and set REPLACE_PREAD if not.
6399         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
6400
6401 2010-12-31  Eric Blake  <eblake@redhat.com>
6402
6403         nl_langinfo: fix YESEXPR on Irix 6.5
6404         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
6405         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
6406         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
6407         it.
6408
6409 2010-12-31  Bruno Haible  <bruno@clisp.org>
6410
6411         iconv: Document HP-UX 11 bug.
6412         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
6413
6414 2010-12-31  Bruno Haible  <bruno@clisp.org>
6415
6416         ldexpl: Fix link error on HP-UX 11.
6417         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
6418         LDEXPL_LIBM, using $ISNANL_LIBM.
6419
6420 2010-12-31  Eric Blake  <eblake@redhat.com>
6421
6422         ftello: avoid compilation failure with SunStudio c89
6423         * lib/ftello.c (ftello): Use lseek, not llseek.
6424
6425         tests: avoid failing coreutils tests on cygwin
6426         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
6427         (create_exe_shims_): Return 0 when skipping.
6428
6429 2010-12-31  Bruno Haible  <bruno@clisp.org>
6430
6431         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
6432         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
6433
6434 2010-12-31  Bruno Haible  <bruno@clisp.org>
6435
6436         waitpid: Fix link error in C++ mode.
6437         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
6438
6439 2010-12-31  Bruno Haible  <bruno@clisp.org>
6440
6441         isnan: Use GCC built-ins when possible.
6442         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
6443         __builtin_isnan.
6444         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
6445         (isnan): Define using GCC built-ins for GCC >= 4.0.
6446
6447 2010-12-31  Bruno Haible  <bruno@clisp.org>
6448
6449         isnand: Fix mistake.
6450         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
6451         __builtin_isnand.
6452
6453 2010-12-31  Bruno Haible  <bruno@clisp.org>
6454
6455         open: Avoid C++ error on HP-UX 11.
6456         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
6457
6458 2010-12-31  Bruno Haible  <bruno@clisp.org>
6459
6460         time_r: Add missing declarations on HP-UX 11.
6461         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
6462         instead of HAVE_LOCALTIME_R.
6463         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
6464         HAVE_LOCALTIME_R always.
6465         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
6466         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
6467         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
6468         HAVE_LOCALTIME_R.
6469         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
6470         * doc/posix-functions/localtime_r.texi: Likewise.
6471
6472 2010-12-29  Eric Blake  <eblake@redhat.com>
6473
6474         mountlist: tweak previous commit
6475         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
6476         Reported by Paul Eggert.
6477
6478         mountlist: fix local drive detection on cygwin
6479         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
6480         that works for cygwin.
6481
6482 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
6483
6484         ftoastr, snprintf: ftoastr + snprintf module
6485         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
6486         since the snprintf module now should be good enough here.
6487         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
6488         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
6489         and gl_MODULE_INDICATOR([snprintf]), but the former enables
6490         GNULIB_SNPRINTF only for the test directory, and the latter
6491         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
6492         seems to suffice by itself.
6493
6494 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
6495
6496         alloca: one step towards thread-safety
6497         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
6498         need for a static variable.  All callers changed.  This does not
6499         make the alloca replacement thread-safe, but it's one step.
6500
6501         tests: minor indenting change
6502         * tests/init.sh: Sync from coreutils housekeeping patch
6503         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
6504         to keep lines within 80 columns.
6505
6506 2010-12-28  Jim Meyering  <meyering@redhat.com>
6507
6508         regex: don't infloop on persistent failing calloc
6509         * lib/regexec.c (build_trtable): Return failure indication upon
6510         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
6511         In glibc, this was fixed for version 2.13:
6512         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
6513
6514 2010-12-28  Bruno Haible  <bruno@clisp.org>
6515             Paul Eggert <eggert@cs.ucla.edu>
6516
6517         linkat: Make implementation robust against system behaviour variations.
6518         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
6519         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
6520         way, and to -2 if it needs a generic runtime test.
6521         * lib/linkat.c (solaris_optimized_link_immediate,
6522         solaris_optimized_link_follow): New functions.
6523         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
6524         (check_same_link): Use it.
6525
6526 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
6527
6528         New module 'unigbrk/base'.
6529         * modules/unigbrk/base: New file.
6530         * lib/unigbrk.in.h: New file.
6531
6532         New module 'unigbrk/uc-gbrk-prop'.
6533         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
6534         * modules/unigbrk/uc-gbrk-prop: New file.
6535         * lib/unigbrk/gbrkprop.h: New file.
6536         * lib/unigbrk/uc-gbrk-prop.c: New file.
6537
6538         New module 'unigbrk/uc-is-grapheme-break'.
6539         * modules/unigbrk/uc-is-grapheme-break: New file.
6540         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
6541         * lib/unigbrk/uc-is-grapheme-break.c: New file.
6542         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
6543         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
6544         * tests/unigbrk/GraphemeBreakTest.txt: New file.
6545
6546         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
6547
6548 2010-12-27  Bruno Haible  <bruno@clisp.org>
6549
6550         linkat test: Avoid failure on Solaris 11 2010-11.
6551         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
6552
6553 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6554
6555         utimens: work around glibc rounding bug on more platforms
6556         * lib/utimens.c (fdutimens): Work around rounding bug even if
6557         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
6558         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
6559
6560 2010-12-27  Bruno Haible  <bruno@clisp.org>
6561
6562         select tests: Improve comments.
6563         * tests/test-select.c (do_select): Add comments.
6564
6565 2010-12-27  Bruno Haible  <bruno@clisp.org>
6566
6567         select tests: Safer way of handling timeout.
6568         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
6569         at every invocation.
6570
6571 2010-12-27  Bruno Haible  <bruno@clisp.org>
6572
6573         select tests: Use 'bool' where appropriate.
6574         * tests/test-select.c (connect_to_socket): Change argument type to
6575         'bool'.
6576
6577 2010-12-27  Bruno Haible  <bruno@clisp.org>
6578
6579         select tests: Use existing modules.
6580         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
6581         (configure.ac): Don't test for unistd.h.
6582         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
6583         declared in <unistd.h>.
6584
6585 2010-12-27  Bruno Haible  <bruno@clisp.org>
6586
6587         mbrtowc: Work around a Solaris 7 bug.
6588         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
6589         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
6590         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
6591         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
6592         MBRTOWC_NULL_ARG1_BUG.
6593         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
6594         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
6595         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
6596         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
6597
6598 2010-12-27  Jim Meyering  <meyering@redhat.com>
6599
6600         read-file.c: tweak syntax
6601         * lib/read-file.c (fread_file): Remove space after "*" in function
6602         definitions.
6603
6604 2010-12-27  Bruno Haible  <bruno@clisp.org>
6605
6606         times test: Avoid gcc warnings on OSF/1.
6607         * tests/test-times.c (main): Cast printf arguments from clock_t to
6608         'long int'.
6609
6610 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6611
6612         utimens: work around glibc rounding bug on older Linux kernels
6613         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
6614         on Linux with a glibc whose utimes might not work, then work
6615         around a longstanding glibc bug involving rounding rather than
6616         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
6617         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6618
6619 2010-12-26  Bruno Haible  <bruno@clisp.org>
6620
6621         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
6622         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
6623         _GL_CXXALIAS_SYS.
6624         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6625
6626 2010-12-26  Bruno Haible  <bruno@clisp.org>
6627
6628         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
6629         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
6630         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6631         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
6632         looking for the declaration.
6633         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
6634         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
6635         problem.
6636         * doc/posix-functions/inet_pton.texi: Likewise.
6637
6638 2010-12-26  Bruno Haible  <bruno@clisp.org>
6639
6640         arpa_inet: Use the common idioms with C++ support.
6641         * lib/arpa_inet.in.h: Include c++defs.h.
6642         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
6643         support.
6644         * modules/arpa_inet (Depends-on): Add c++defs.
6645         (Makefile.am): Substitute the contents of c++defs.h.
6646         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
6647         * modules/arpa_inet-c++-tests: New file.
6648         * tests/test-arpa_inet-c++.cc: New file.
6649
6650 2010-12-25  Bruno Haible  <bruno@clisp.org>
6651
6652         Fix more C++ link errors on Solaris 8.
6653         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
6654         $(LIB_EACCESS).
6655         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
6656         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
6657         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
6658         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
6659         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
6660
6661 2010-12-25  Bruno Haible  <bruno@clisp.org>
6662
6663         printf-posix: Fix link error when a non-GCC compiler is used.
6664         * lib/stdio.in.h (printf): When not using GCC, override printf
6665         correctly.
6666         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6667
6668 2010-12-25  Bruno Haible  <bruno@clisp.org>
6669
6670         strerror_r-posix: Update doc.
6671         * doc/posix-functions/strerror_r.texi: Update doc about the return
6672         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
6673
6674 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6675
6676         utimens: simplify the logic of the previous change
6677         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
6678         This should not affect whether the test succeeds or fails.
6679
6680         utimens: configure better on hosts with NFS clock skew
6681         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
6682         uses the clock of the local host.  It might use the clock of the
6683         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
6684         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6685
6686 2010-12-25  Bruno Haible  <bruno@clisp.org>
6687
6688         ptsname test: Avoid failure on Solaris.
6689         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
6690         open a pseudo-terminal; don't use BSD-style ptys.
6691         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
6692
6693 2010-12-25  Bruno Haible  <bruno@clisp.org>
6694
6695         ptsname: Avoid ERANGE failure on some systems.
6696         * lib/ptsname.c (buffer): Increase size.
6697
6698 2010-12-25  Bruno Haible  <bruno@clisp.org>
6699
6700         rename, renameat: Avoid test failures at NFS mounted locations.
6701         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
6702         so that subsequent mkdir calls succeed.
6703
6704 2010-12-25  Bruno Haible  <bruno@clisp.org>
6705
6706         iswblank: Fix C++ link error on Solaris 8.
6707         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
6708         _GL_FUNCDECL_SYS.
6709
6710 2010-12-25  Bruno Haible  <bruno@clisp.org>
6711
6712         unistd: Fix C++ link error on Solaris 8.
6713         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
6714
6715 2010-12-25  Bruno Haible  <bruno@clisp.org>
6716
6717         readlink doc: Mention an old glibc bug.
6718         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
6719
6720 2010-12-25  Bruno Haible  <bruno@clisp.org>
6721
6722         fcntl-h: Fix for use of C++ on glibc systems.
6723         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6724         also on glibc systems in C++ mode.
6725         Reported by Gary V. Vaughan <gary@gnu.org>.
6726
6727 2010-12-25  Bruno Haible  <bruno@clisp.org>
6728
6729         roundl-ieee: Make it work on OSF/1 5.1 with cc.
6730         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
6731
6732 2010-12-25  Bruno Haible  <bruno@clisp.org>
6733
6734         truncl-ieee: Make it work on OSF/1 5.1 with cc.
6735         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
6736         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
6737         test whether truncl works according to ISO C 99 with IEC 60559.
6738         * m4/truncl-ieee.m4: New file.
6739         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
6740         m4/signbit.m4.
6741         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
6742
6743 2010-12-25  Bruno Haible  <bruno@clisp.org>
6744
6745         ceill-ieee: Make it work on OSF/1 5.1 with cc.
6746         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
6747         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
6748         test whether ceill works according to ISO C 99 with IEC 60559.
6749         * m4/ceill-ieee.m4: New file.
6750         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
6751         m4/signbit.m4.
6752         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
6753
6754 2010-12-25  Bruno Haible  <bruno@clisp.org>
6755
6756         Ensure all prerequisites of <wchar.h> are included.
6757         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
6758         before <wchar.h>.
6759         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
6760         gl_MBRLEN_NUL_RETVAL): Likewise.
6761         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6762         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
6763         AC_FUNC_MBRTOWC): Likewise.
6764         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6765         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
6766         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6767         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6768         Likewise.
6769         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6770         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
6771         (gl_WCHAR_H): Improve comments.
6772         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6773
6774 2010-12-25  Bruno Haible  <bruno@clisp.org>
6775
6776         strtok_r: Fix C syntax error in autoconf macro.
6777         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
6778         characters in test program.
6779
6780 2010-12-24  Bruno Haible  <bruno@clisp.org>
6781
6782         ceil, trunc, round: Fix gcc warnings.
6783         * lib/ceil.c (MIN): Undefine before redefining.
6784         * lib/trunc.c (MIN): Likewise.
6785         * lib/round.c (MIN): Likewise.
6786         Include <math.h> first.
6787
6788 2010-12-24  Bruno Haible  <bruno@clisp.org>
6789
6790         select tests: Avoid failures on OSF/1 5.1.
6791         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
6792         failure of closing the last socket; it may fail with ECONNRESET.
6793
6794 2010-12-24  Eric Blake  <eblake@redhat.com>
6795
6796         stdint: avoid HP-UX 10.20 preprocessor bug
6797         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
6798         than #if.
6799         * tests/test-floor2.c (main): Likewise.
6800         Reported by Peter O'Gorman.
6801
6802         pipe: make obsoletion transition easier
6803         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
6804         * modules/pipe (Files): Include revived file.
6805         (Include): Drop reference, to mirror getdate's behavior.
6806
6807 2010-12-24  Bruno Haible  <bruno@clisp.org>
6808
6809         sys_socket: Hide mismatch of declarations on NonStop Kernel.
6810         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
6811         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
6812         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6813
6814 2010-12-24  Bruno Haible  <bruno@clisp.org>
6815
6816         gethostname: Ensure declaration on NonStop Kernel.
6817         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
6818         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6819
6820 2010-12-24  Bruno Haible  <bruno@clisp.org>
6821
6822         sys_select: Ensure all necessary types on NonStop Kernel.
6823         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
6824         include <sys/time.h>.
6825         * doc/posix-headers/sys_select.texi: Mention that it's missing on
6826         NonStop Kernel.
6827         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6828
6829 2010-12-24  Bruno Haible  <bruno@clisp.org>
6830
6831         sys_select: Remove unneeded include.
6832         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
6833         have <sys/select.h>.
6834
6835 2010-12-24  Bruno Haible  <bruno@clisp.org>
6836
6837         gethostname: Provide a fallback for HOST_NAME_MAX.
6838         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
6839         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
6840         instead.
6841         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6842
6843 2010-12-24  Bruno Haible  <bruno@clisp.org>
6844
6845         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
6846         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
6847         (SA_RESTART): Likewise.
6848         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6849
6850 2010-12-24  Bruno Haible  <bruno@clisp.org>
6851
6852         signal: Define NSIG.
6853         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
6854         * tests/test-signal.c (nsig): New variable.
6855         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6856
6857 2010-12-24  Bruno Haible  <bruno@clisp.org>
6858
6859         rename, renameat: Avoid test failures on OSF/1 5.1.
6860         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
6861         alternative error codes.
6862         * tests/test-renameat.c (main): Likewise.
6863
6864 2010-12-24  Bruno Haible  <bruno@clisp.org>
6865
6866         *printf: Detect large precisions bug on Solaris 10/SPARC.
6867         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
6868         by Paul Eggert.
6869         * tests/test-snprintf-posix.h (test_function): Add this test code here
6870         too.
6871         * tests/test-sprintf-posix.h (test_function): Likewise.
6872         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6873         * tests/test-vasprintf-posix.c (test_function): Likewise.
6874         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
6875         around by gnulib.
6876         * doc/posix-functions/printf.texi: Likewise.
6877         * doc/posix-functions/snprintf.texi: Likewise.
6878         * doc/posix-functions/sprintf.texi: Likewise.
6879         * doc/posix-functions/vfprintf.texi: Likewise.
6880         * doc/posix-functions/vprintf.texi: Likewise.
6881         * doc/posix-functions/vsnprintf.texi: Likewise.
6882         * doc/posix-functions/vsprintf.texi: Likewise.
6883         * doc/posix-functions/dprintf.texi: Undo last commit.
6884         * doc/posix-functions/vdprintf.texi: Likewise.
6885
6886 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
6887
6888         tests: port test-fdutimensat.c to Solaris 8
6889         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
6890         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
6891         On Solaris 8, it fails with errno == ENOSYS, because there is no
6892         futimens (so it can't use the fd), and there is no lutimens (so it
6893         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
6894
6895         vsnprintf: make more consistent with snprintf; doc fixes
6896
6897         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
6898         the byte count return problem was promoted from the snprintf-posix
6899         to the snprintf module.
6900         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
6901         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
6902         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
6903         * tests/test-snprintf.c (main): Check the byte count returned.
6904         * tests/test-vsnprintf.c (main): Likewise.
6905
6906 2010-12-23  Eric Blake  <eblake@redhat.com>
6907
6908         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
6909         * modules/sigpipe (License): Relax license.
6910
6911 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
6912
6913         doc: document Solaris printf bug with large float precisions
6914         * doc/posix-functions/dprintf.texi (dprintf):
6915         * doc/posix-functions/fprintf.texi (fprintf):
6916         * doc/posix-functions/printf.texi (printf):
6917         * doc/posix-functions/snprintf.texi (snprintf):
6918         * doc/posix-functions/sprintf.texi (sprintf):
6919         * doc/posix-functions/vdprintf.texi (vdprintf):
6920         * doc/posix-functions/vfprintf.texi (vfprintf):
6921         * doc/posix-functions/vprintf.texi (vprintf):
6922         * doc/posix-functions/vsnprintf.texi (vsnprintf):
6923         * doc/posix-functions/vsprintf.texi (vsprintf):
6924         Mention that these functions mishandle large floating point
6925         precisions on Solaris 10.  The same bug is also present in Solaris
6926         8, and I assume earlier.  This causes "cd gnulib-tests; make
6927         check" to fail on Solaris 8 (and I assume, later) when building
6928         the latest coreutils, in test-vasprintf-posix's call to
6929         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
6930         the wide flavors (e.g., wprintf) so this patch just updates the
6931         documentation for the narrow ones.
6932
6933         test-posixtm.c: add two tests
6934         * tests/test-posixtm.c: Add two tests, to highlight the
6935         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
6936         around this bug; this is merely to document it.
6937
6938 2010-12-22  Bruno Haible  <bruno@clisp.org>
6939
6940         getlogin_r: Work around portability problem on OSF/1.
6941         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
6942         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
6943         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
6944         test for a truncated result.
6945         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
6946         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
6947         * modules/getlogin_r (Depends-on): Add memchr.
6948         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
6949
6950 2010-12-22  Bruno Haible  <bruno@clisp.org>
6951
6952         ptsname: Avoid test failure on OSF/1 5.1.
6953         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
6954         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
6955         (same_slave): New function.
6956         (main): Use it to compare ptsname's result with the expected file name.
6957
6958 2010-12-22  Bruno Haible  <bruno@clisp.org>
6959
6960         Port extended stdio modules to HP NonStop Kernel.
6961         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
6962         macros.
6963         * lib/fbufmode.c: Update comments.
6964         * lib/fflush.c: Likewise.
6965         * lib/fpurge.c: Likewise.
6966         * lib/freadable.c: Likewise.
6967         * lib/freadahead.c: Likewise.
6968         * lib/freading.c: Likewise.
6969         * lib/freadptr.c: Likewise.
6970         * lib/freadseek.c: Likewise.
6971         * lib/fseeko.c: Likewise.
6972         * lib/fseterr.c: Likewise.
6973         * lib/fwritable.c: Likewise.
6974         * lib/fwriting.c: Likewise.
6975         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6976
6977 2010-12-22  Bruno Haible  <bruno@clisp.org>
6978
6979         ttyname_r: Work around bug on OSF/1 5.1.
6980         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
6981         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
6982         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
6983         present.
6984         * lib/ttyname_r.c (ttyname_r): Update comments.
6985
6986 2010-12-22  Bruno Haible  <bruno@clisp.org>
6987
6988         round: Implement result sign according to IEEE 754.
6989         * lib/round.c (MIN, MINUS_ZERO): New macros.
6990         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
6991         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
6992         * tests/test-round-ieee.c (main): Likewise.
6993         * tests/test-roundl-ieee.c (main): Likewise.
6994
6995         trunc: Implement result sign according to IEEE 754.
6996         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
6997         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
6998         * tests/test-trunc2.c: Include minus-zero.h.
6999         (MINUS_ZERO): New macro.
7000         (trunc_reference): Keep in sync with lib/trunc.c.
7001         * tests/test-truncf2.c: Include minus-zero.h.
7002         (MINUS_ZERO): New macro.
7003         (truncf_reference): Keep in sync with lib/trunc.c.
7004         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
7005         * tests/test-trunc-ieee.c (main): Likewise.
7006         * tests/test-truncl-ieee.c (main): Likewise.
7007
7008         ceil: Implement result sign according to IEEE 754.
7009         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
7010         (FUNC): Return -0.0 for -1 < x < 0.
7011         * tests/test-ceil2.c: Include minus-zero.h.
7012         (MINUS_ZERO): New macro.
7013         (ceil_reference): Keep in sync with lib/ceil.c.
7014         * tests/test-ceilf2.c: Include minus-zero.h.
7015         (MINUS_ZERO): New macro.
7016         (ceilf_reference): Keep in sync with lib/ceil.c.
7017         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
7018         * tests/test-ceil-ieee.c (main): Likewise.
7019         * tests/test-ceill-ieee.c (main): Likewise.
7020
7021         floor: Implement result sign according to IEEE 754.
7022         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
7023         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
7024         * tests/test-floorf2.c (floorf_reference): Likewise.
7025         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
7026         * tests/test-floor-ieee.c (main): Likewise.
7027         * tests/test-floorl-ieee.c (main): Likewise.
7028
7029 2010-12-22  Bruno Haible  <bruno@clisp.org>
7030
7031         getaddrinfo: Update doc.
7032         * doc/posix-functions/gai_strerror.texi: Return type is also different
7033         on AIX and HP-UX.
7034
7035 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7036
7037         getaddrinfo, inet_ntop: Update doc for Solaris.
7038         * doc/posix-functions/gai_strerror.texi: Return type is also an
7039         issue on Solaris 9 and earlier.
7040         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
7041         on Solaris 10 and earlier.
7042
7043 2010-12-21  Bruno Haible  <bruno@clisp.org>
7044
7045         New module 'roundl-ieee'.
7046         * modules/roundl-ieee: New file.
7047         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
7048         test whether roundl works according to ISO C 99 with IEC 60559.
7049         * m4/roundl-ieee.m4: New file.
7050         * modules/roundl-ieee-tests: New file.
7051         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
7052         * tests/test-roundl.c (main): Remove signbit tests.
7053         * modules/roundl-tests (Depends-on): Remove signbit.
7054         * doc/posix-functions/roundl.texi: Mention the new module.
7055
7056 2010-12-21  Bruno Haible  <bruno@clisp.org>
7057
7058         New module 'truncl-ieee'.
7059         * modules/truncl-ieee: New file.
7060         * modules/truncl-ieee-tests: New file.
7061         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
7062         * tests/test-truncl.c (main): Remove signbit tests.
7063         * modules/truncl-tests (Depends-on): Remove signbit.
7064         * doc/posix-functions/truncl.texi: Mention the new module.
7065
7066 2010-12-21  Bruno Haible  <bruno@clisp.org>
7067
7068         New module 'ceill-ieee'.
7069         * modules/ceill-ieee: New file.
7070         * modules/ceill-ieee-tests: New file.
7071         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
7072         * tests/test-ceill.c (main): Remove signbit tests.
7073         * modules/ceill-tests (Depends-on): Remove signbit.
7074         * doc/posix-functions/ceill.texi: Mention the new module.
7075
7076 2010-12-21  Bruno Haible  <bruno@clisp.org>
7077
7078         New module 'floorl-ieee'.
7079         * modules/floorl-ieee: New file.
7080         * modules/floorl-ieee-tests: New file.
7081         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
7082         * tests/test-floorl.c (main): Remove signbit tests.
7083         * modules/floorl-tests (Depends-on): Remove signbit.
7084         * doc/posix-functions/floorl.texi: Mention the new module.
7085
7086 2010-12-21  Bruno Haible  <bruno@clisp.org>
7087
7088         New module 'round-ieee'.
7089         * modules/round-ieee: New file.
7090         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
7091         whether round works according to ISO C 99 with IEC 60559.
7092         * m4/round-ieee.m4: New file.
7093         * modules/round-ieee-tests: New file.
7094         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
7095         * tests/test-round1.c (main): Remove signbit tests.
7096         * modules/round-tests (Depends-on): Remove 'signbit'.
7097         * doc/posix-functions/round.texi: Mention the new module.
7098
7099 2010-12-21  Bruno Haible  <bruno@clisp.org>
7100
7101         New module 'trunc-ieee'.
7102         * modules/trunc-ieee: New file.
7103         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
7104         whether trunc works according to ISO C 99 with IEC 60559.
7105         * m4/trunc-ieee.m4: New file.
7106         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
7107         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
7108         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
7109         * modules/trunc-ieee-tests: New file.
7110         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
7111         * tests/test-trunc1.c (main): Remove signbit tests.
7112         * modules/trunc-tests (Depends-on): Remove 'signbit'.
7113         * doc/posix-functions/trunc.texi: Mention the new module.
7114
7115 2010-12-21  Bruno Haible  <bruno@clisp.org>
7116
7117         New module 'ceil-ieee'.
7118         * modules/ceil-ieee: New file.
7119         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
7120         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
7121         ISO C 99 with IEC 60559.
7122         * m4/ceil-ieee.m4: New file.
7123         * modules/ceil (Files): Add lib/ceil.c.
7124         (Depends-on): Add 'float'.
7125         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7126         * lib/math.in.h (ceil): New declaration.
7127         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
7128         REPLACE_CEIL.
7129         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
7130         * modules/ceil-ieee-tests: New file.
7131         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
7132         * tests/test-math-c++.cc: Check the signature of 'ceil'.
7133         * doc/posix-functions/ceil.texi: Mention the new module.
7134
7135 2010-12-21  Bruno Haible  <bruno@clisp.org>
7136
7137         New module 'floor-ieee'.
7138         * modules/floor-ieee: New file.
7139         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
7140         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
7141         ISO C 99 with IEC 60559.
7142         * m4/floor-ieee.m4: New file.
7143         * modules/floor (Files): Add lib/floor.c.
7144         (Depends-on): Add 'float'.
7145         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7146         * lib/math.in.h (floor): New declaration.
7147         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
7148         REPLACE_FLOOR.
7149         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
7150         * modules/floor-ieee-tests: New file.
7151         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
7152         * tests/test-math-c++.cc: Check the signature of 'floor'.
7153         * doc/posix-functions/floor.texi: Mention the new module.
7154
7155 2010-12-21  Bruno Haible  <bruno@clisp.org>
7156
7157         New module 'roundf-ieee'.
7158         * modules/roundf-ieee: New file.
7159         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
7160         test whether roundf works according to ISO C 99 with IEC 60559.
7161         * m4/roundf-ieee.m4: New file.
7162         * modules/roundf-ieee-tests: New file.
7163         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
7164         * tests/test-roundf1.c (main): Remove signbit tests.
7165         * modules/roundf-tests (Depends-on): Remove 'signbit'.
7166         * doc/posix-functions/roundf.texi: Mention the new module.
7167
7168 2010-12-21  Bruno Haible  <bruno@clisp.org>
7169
7170         New module 'truncf-ieee'.
7171         * modules/truncf-ieee: New file.
7172         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
7173         test whether truncf works according to ISO C 99 with IEC 60559.
7174         * m4/truncf-ieee.m4: New file.
7175         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
7176         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
7177         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
7178         * modules/truncf-ieee-tests: New file.
7179         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
7180         * tests/test-truncf1.c (main): Remove signbit tests.
7181         * modules/truncf-tests (Depends-on): Remove 'signbit'.
7182         * doc/posix-functions/truncf.texi: Mention the new module.
7183
7184 2010-12-21  Bruno Haible  <bruno@clisp.org>
7185
7186         New module 'ceilf-ieee'.
7187         * modules/ceilf-ieee: New file.
7188         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
7189         test whether ceilf works according to ISO C 99 with IEC 60559.
7190         * m4/ceilf-ieee.m4: New file.
7191         * modules/ceilf-ieee-tests: New file.
7192         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
7193         * tests/test-ceilf1.c (main): Remove signbit tests.
7194         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
7195         * doc/posix-functions/ceilf.texi: Mention the new module.
7196
7197 2010-12-21  Bruno Haible  <bruno@clisp.org>
7198
7199         New module 'floorf-ieee'.
7200         * modules/floorf-ieee: New file.
7201         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
7202         test whether floorf works according to ISO C 99 with IEC 60559.
7203         * m4/floorf-ieee.m4: New file.
7204         * modules/floorf-ieee-tests: New file.
7205         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
7206         * tests/test-floorf1.c (main): Remove signbit tests.
7207         * modules/floorf-tests (Depends-on): Remove 'signbit'.
7208         * doc/posix-functions/floorf.texi: Mention the new module.
7209
7210 2010-12-21  Bruno Haible  <bruno@clisp.org>
7211
7212         Support for minus zero in autoconf macros.
7213         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
7214         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
7215         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
7216         * tests/minus-zero.h: Update comments.
7217
7218 2010-12-21  Bruno Haible  <bruno@clisp.org>
7219
7220         Tests for module 'ceil'.
7221         * modules/ceil-tests: New file.
7222         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
7223         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
7224
7225 2010-12-21  Bruno Haible  <bruno@clisp.org>
7226
7227         Tests for module 'floor'.
7228         * modules/floor-tests: New file.
7229         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
7230         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
7231
7232 2010-12-21  Bruno Haible  <bruno@clisp.org>
7233
7234         math: Fix indentation.
7235         * lib/math.in.h (floorf): Fix indentation.
7236
7237 2010-12-21  Bruno Haible  <bruno@clisp.org>
7238
7239         Fix cross-compilation guesses on Solaris.
7240         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
7241         not match "solaris2.10".
7242         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7243         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
7244         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
7245
7246 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
7247
7248         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
7249         This fixes a problem observed with the latest coreutils snapshot
7250         that caused a test to fail on Solaris 8.  src/csplit.c's call
7251         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
7252         earlier, instead of returning the number of bytes that would have
7253         been generated; this causes csplit to incorrectly report memory
7254         exhaustion.
7255         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
7256         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
7257         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
7258         comments to match.
7259         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
7260         Fix typo in matching older versions of Solaris: "solaris2.10"
7261         is matched by the shell pattern "solaris2.[0-9]*".  This matters
7262         only for guessing while cross-compiling.
7263         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
7264
7265 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
7266
7267         ftoastr: fix comment again
7268         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
7269         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
7270         Also, simplify example a bit by using flags = 0.
7271
7272 2010-12-20  Bruno Haible  <bruno@clisp.org>
7273
7274         round*, trunc*: Update documentation regarding glibc.
7275         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
7276         * doc/posix-functions/round.texi: Likewise.
7277         * doc/posix-functions/roundl.texi: Likewise.
7278         * doc/posix-functions/truncf.texi: Likewise.
7279         * doc/posix-functions/trunc.texi: Likewise.
7280         * doc/posix-functions/truncl.texi: Likewise.
7281
7282 2010-12-20  Bruno Haible  <bruno@clisp.org>
7283
7284         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
7285         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
7286         * doc/posix-functions/round.texi: Likewise.
7287         * doc/posix-functions/roundl.texi: Likewise.
7288
7289 2010-12-20  Bruno Haible  <bruno@clisp.org>
7290
7291         ttyname_r: Add missing declaration on HP-UX 11.
7292         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
7293         HAVE_TTYNAME_R.
7294         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
7295         declared. Set HAVE_TTYNAME_R always.
7296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7297         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
7298         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
7299         HAVE_TTYNAME_R.
7300         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
7301
7302 2010-12-20  Bruno Haible  <bruno@clisp.org>
7303
7304         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
7305         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
7306         * doc/posix-functions/getlogin_r.texi: Likewise.
7307         * tests/test-getlogin.c: Include <errno.h>.
7308         (main): Avoid test failure on HP-UX 11.11.
7309         * tests/test-getlogin_r.c (main): Likewise.
7310
7311 2010-12-20  Bruno Haible  <bruno@clisp.org>
7312
7313         getlogin_r: Add missing declaration on HP-UX 11.
7314         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
7315         declared also when it exists as a function.
7316         * doc/posix-functions/getlogin_r.texi: Document this workaround.
7317
7318 2010-12-20  Bruno Haible  <bruno@clisp.org>
7319
7320         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
7321         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
7322         through wcrtomb.
7323
7324 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
7325
7326         ftoastr: fix comment
7327         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
7328         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
7329
7330 2010-12-19  Bruno Haible  <bruno@clisp.org>
7331
7332         isnan: Ensure it is a macro.
7333         * lib/math.in.h (isnan): Define as a macro if not already a macro.
7334         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
7335         Solaris.
7336
7337 2010-12-19  Bruno Haible  <bruno@clisp.org>
7338
7339         ldexpl test: Fix link error on OSF/1 5.1.
7340         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
7341
7342 2010-12-19  Bruno Haible  <bruno@clisp.org>
7343
7344         wctype: Make it work in C++ mode on OSF/1 5.1.
7345         * lib/wctype.in.h (iswblank): Declare but not define here.
7346         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
7347         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
7348         * modules/wctype (Files): Add lib/iswblank.c.
7349
7350 2010-12-19  Bruno Haible  <bruno@clisp.org>
7351
7352         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
7353         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
7354         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
7355
7356 2010-12-19  Bruno Haible  <bruno@clisp.org>
7357
7358         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
7359         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
7360         _POSIX_PII_SOCKET.
7361         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
7362         * doc/posix-functions/recvfrom.texi: Likewise.
7363         * doc/posix-functions/send.texi: Likewise.
7364         * doc/posix-functions/sendto.texi: Likewise.
7365
7366 2010-12-19  Bruno Haible  <bruno@clisp.org>
7367
7368         tcgetsid: Add missing declaration on OSF/1 5.1.
7369         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
7370         HAVE_TCGETSID.
7371         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
7372         Don't set HAVE_TCGETSID.
7373         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
7374         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
7375         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
7376         HAVE_TCGETSID.
7377         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
7378
7379 2010-12-19  Bruno Haible  <bruno@clisp.org>
7380
7381         stdio: Fix problem with popen() declaration on OSF/1 5.1.
7382         * lib/stdio.in.h: During the include_next statement, let recursive
7383         includes of this file include only the system header file.
7384
7385 2010-12-19  Bruno Haible  <bruno@clisp.org>
7386
7387         iconv_open: Fix regression from 2010-12-04.
7388         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
7389         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
7390
7391 2010-12-19  Bruno Haible  <bruno@clisp.org>
7392
7393         stdbool test: Avoid a gcc warning.
7394         * tests/test-stdbool.c (main): Fail if e1 is false.
7395         Reported by Jim Meyering.
7396
7397 2010-12-19  Jim Meyering  <meyering@redhat.com>
7398
7399         setenv: restore to working order
7400         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
7401         mistakenly removed.
7402         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
7403         HAVE_SETENV.
7404         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
7405         HAVE_SETENV.
7406
7407 2010-12-19  Bruno Haible  <bruno@clisp.org>
7408
7409         Document some different function declarations on OSF/1 5.1.
7410         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
7411         * doc/posix-functions/inet_ntop.texi: Likewise.
7412         * doc/posix-functions/gethostname.texi: Likewise.
7413         * lib/unistd.in.h (gethostname): Update comment.
7414
7415 2010-12-19  Bruno Haible  <bruno@clisp.org>
7416
7417         doc: Mention vasprintf-posix module.
7418         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
7419         the 'vasprintf-posix' module.
7420         * doc/glibc-functions/vasprintf.texi: Likewise.
7421
7422 2010-12-19  Bruno Haible  <bruno@clisp.org>
7423
7424         unsetenv: Add missing declaration on OSF/1 5.1.
7425         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
7426         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
7427         Don't set HAVE_UNSETENV. In the test program, set _BSD.
7428         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
7429         not HAVE_UNSETENV.
7430         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
7431         HAVE_UNSETENV.
7432         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
7433
7434 2010-12-19  Bruno Haible  <bruno@clisp.org>
7435
7436         setenv: Add missing declaration on OSF/1 5.1.
7437         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
7438         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
7439         declared. Don't set HAVE_SETENV.
7440         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
7441         not HAVE_SETENV.
7442         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
7443         HAVE_SETENV.
7444         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
7445
7446 2010-12-19  Bruno Haible  <bruno@clisp.org>
7447
7448         nl_langinfo tests: Avoid gcc warning.
7449         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
7450
7451 2010-12-19  Bruno Haible  <bruno@clisp.org>
7452
7453         mknod: Avoid error in C++ mode on OSF/1 with GCC.
7454         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
7455         _GL_CXXALIAS_SYS.
7456
7457 2010-12-19  Bruno Haible  <bruno@clisp.org>
7458
7459         stdbool: Relax test.
7460         * tests/test-stdbool.c (e): Don't require that casts from a variable's
7461         address to 'bool' work in static initializer, for compilers other than
7462         GCC.
7463
7464 2010-12-19  Bruno Haible  <bruno@clisp.org>
7465
7466         ftello: Add missing declaration on OSF/1 5.1.
7467         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
7468         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
7469         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
7470         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
7471         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
7472
7473 2010-12-19  Bruno Haible  <bruno@clisp.org>
7474
7475         fseeko: Add missing declaration on OSF/1 5.1.
7476         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
7477         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
7478         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
7479         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
7480         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
7481
7482 2010-12-19  Bruno Haible  <bruno@clisp.org>
7483
7484         fchdir: Add missing declaration on OSF/1 5.1.
7485         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
7486         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
7487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
7488         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
7489         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
7490
7491 2010-12-19  Bruno Haible  <bruno@clisp.org>
7492
7493         relocatable-prog-wrapper: Separate from relocatable-prog.
7494         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
7495         uninstall-relocwrapper rule here.
7496         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
7497         Reported by Ian Beckwith <ianb@erislabs.net>.
7498
7499 2010-12-19  Bruno Haible  <bruno@clisp.org>
7500
7501         unistr/u8-mbsnlen: Add missing dependency.
7502         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
7503         Reported by Ian Beckwith <ianb@erislabs.net>.
7504
7505 2010-12-19  Bruno Haible  <bruno@clisp.org>
7506
7507         iconv: Make it possible again to use this module without 'iconv-h'.
7508         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
7509         if it is not defined.
7510         Reported by Ian Beckwith <ianb@erislabs.net>.
7511
7512 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7513
7514         acl: port to Solaris 8 when copying from tmpfs to ufs
7515         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
7516         error number.  Problem observed on Solaris 8 with latest
7517         coreutils, with "mv A B", where A is on a tmpfs file system and B
7518         is on a ufs file system.  This caused coreutils' mv/part-symlink
7519         test to fail.
7520
7521         tests: set fail=0 at start
7522         * tests/init.sh (setup_): Move fail=0 initialization here ...
7523         (mktempd_): ... from here, so that tests can rely on fail being
7524         set to 0 initially.  This fixes a problem in coreutils; see:
7525         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
7526
7527 2010-12-18  Bruno Haible  <bruno@clisp.org>
7528
7529         memmem-simple: Stylistic changes.
7530         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
7531         Fix preprocessor directive indentation.
7532
7533 2010-12-15  Pádraig Brady <P@draigBrady.com>
7534
7535         memmem, memmem-simple: reorganize and expand empty needle check
7536         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
7537         functional checks to memmem-simple so that one has a fully functional
7538         memmem by using just this module.
7539         Restrict the performance only check to the memmem module.
7540         Also expand the empty needle check to ensure the correct
7541         pointer is returned, not just a non NULL pointer.
7542         * doc/glibc-functions/memmem.texi: Rearrange the portability
7543         documentation to correlate with the rearranged checks.
7544         Clarify exactly how the memmem and memmem-simple modules
7545         relate to each other.
7546
7547 2010-12-15  Pádraig Brady <P@draigBrady.com>
7548             Bruno Haible  <bruno@clisp.org>
7549
7550         Improve cross-compilation guesses for uClibc.
7551         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
7552         that uClibc does not have the glibc bug.
7553         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
7554         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
7555
7556 2010-12-14  Eric Blake  <eblake@redhat.com>
7557
7558         configmake: provide fallbacks for oldest supported autotools
7559         * m4/configmake.m4: New file.
7560         * modules/configmake (Files): Ship it.
7561         (configure.ac): Use it to guarantee fallbacks.
7562
7563 2010-12-13  Pádraig Brady <P@draigBrady.com>
7564
7565         read-file: Improve handling of large files
7566         * lib/read-file.c (fread_file): Minimize realloc()s
7567         for regular files, and better manage sizes around SIZE_MAX.
7568
7569 2010-12-13  Eric Blake  <eblake@redhat.com>
7570
7571         cloexec, fcntl: relax license
7572         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
7573         consent from all contributors.
7574         * modules/fcntl (License): Likewise.
7575
7576 2010-12-10  Bruno Haible  <bruno@clisp.org>
7577
7578         Tests for module 'pipe-posix'.
7579         * modules/pipe-posix-tests: New file.
7580         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
7581
7582 2010-12-10  Bruno Haible  <bruno@clisp.org>
7583
7584         pipe-posix: Make it work in C++ mode.
7585         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
7586         (pipe): Use common idiom, not a macro definition.
7587         * lib/pipe.c: New file.
7588         * m4/pipe.m4: New file.
7589         * modules/pipe-posix (Description): Enhance.
7590         (Files): Add lib/pipe.c, m4/pipe.m4.
7591         (configure.ac): Invoke gl_FUNC_PIPE.
7592         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
7593         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
7594         * tests/test-unistd-c++.cc: Check the signature of pipe.
7595
7596 2010-12-10  Bruno Haible  <bruno@clisp.org>
7597
7598         Rename module 'pipe' to 'spawn-pipe'.
7599         * modules/spawn-pipe: New file, renamed from modules/pipe.
7600         (Files, configure.ac, Makefile.am): Update.
7601         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
7602         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
7603         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
7604         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
7605         "spawn-pipe.h" instead of "pipe.h".
7606         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
7607         to gl_SPAWN_PIPE.
7608         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
7609         (Files, Makefile.am): Update.
7610         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
7611         Update.
7612         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
7613         Include "spawn-pipe.h" instead of "pipe.h".
7614         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
7615         * lib/javacomp.c: Likewise.
7616         * lib/javaversion.c: Likewise.
7617         * lib/pipe-filter-gi.c: Likewise.
7618         * lib/pipe-filter-ii.c: Likewise.
7619         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
7620         * modules/javacomp (Depends-on): Likewise.
7621         * modules/javaversion (Depends-on): Likewise.
7622         * modules/pipe-filter-gi (Depends-on): Likewise.
7623         * modules/pipe-filter-ii (Depends-on): Likewise.
7624         * MODULES.html.sh (Executing programs): Update.
7625         * NEWS: Mention the change.
7626
7627 2010-12-10  Eric Blake  <eblake@redhat.com>
7628
7629         pipe-posix: new module
7630         * modules/pipe-posix: New file.
7631         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
7632         (gl_UNISTD_H): Check for declaration.
7633         * modules/unistd (Makefile.am): Substitute it.
7634         * lib/unistd.in.h (pipe): Provide it for mingw.
7635         * doc/posix-functions/pipe.texi (pipe): Update documentation.
7636         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
7637
7638 2010-12-07  Bruno Haible  <bruno@clisp.org>
7639
7640         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
7641         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
7642         u8_strcmp_gnu.
7643         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
7644
7645 2010-12-06  Bruno Haible  <bruno@clisp.org>
7646
7647         Update internal documentation.
7648         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
7649
7650 2010-12-04  Bruno Haible  <bruno@clisp.org>
7651
7652         Put more information about failed tests into the test return codes.
7653         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
7654         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
7655         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
7656         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7657         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
7658         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7659         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7660         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
7661         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
7662         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7663         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
7664         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
7665         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7666         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7667         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
7668         returns a bit mask.
7669         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
7670         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
7671         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
7672         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
7673         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7674         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
7675         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
7676         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
7677         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
7678         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
7679         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7680         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
7681         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
7682         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
7683         * m4/link.m4 (gl_FUNC_LINK): Likewise.
7684         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
7685         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
7686         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
7687         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7688         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
7689         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
7690         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
7691         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
7692         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7693         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7694         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
7695         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
7696         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
7697         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
7698         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
7699         gl_PRINTF_PRECISION): Likewise.
7700         * m4/regex.m4 (gl_REGEX): Likewise.
7701         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
7702         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
7703         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
7704         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7705         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
7706         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
7707         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
7708         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
7709         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
7710         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7711         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
7712         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
7713         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
7714         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
7715         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7716         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7717         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
7718         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7719         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7720         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
7721         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
7722         enumerated value.
7723         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
7724
7725 2010-12-04  Bruno Haible  <bruno@clisp.org>
7726
7727         Update for Solaris 11 2010-11.
7728         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
7729         Express, released in November 2010.
7730
7731 2010-12-04  Bruno Haible  <bruno@clisp.org>
7732
7733         nproc: Relax license.
7734         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
7735         and Paul Eggert.
7736         Requested by Ludovic Courtès <ludo@gnu.org>.
7737
7738 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7739
7740         utimecmp: fine-grained src to nearby coarse-grained dest
7741
7742         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
7743         and the source is on a file system with higher-resolution time
7744         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
7745         not work, and the time stamps are close together, the algorithm to
7746         determine the exact resolution from the read-back mtime was buggy:
7747         it had a "!=" where it should have had an "==".  This bug has been
7748         in the code ever since it was introduced to gnulib.
7749         Problem reported by Dan Jacobson in
7750         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
7751
7752 2010-11-30  Bruno Haible  <bruno@clisp.org>
7753
7754         strerror_r-posix: Fix autoconf test.
7755         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
7756
7757 2010-11-28  Bruno Haible  <bruno@clisp.org>
7758             Paul Eggert  <eggert@cs.ucla.edu>
7759
7760         Tests for module 'getdomainname'.
7761         * modules/getdomainname-tests: New file.
7762         * tests/test-getdomainname.c: New file, based on
7763         tests/test-gethostname.c.
7764
7765 2010-11-28  Bruno Haible  <bruno@clisp.org>
7766             Paul Eggert  <eggert@cs.ucla.edu>
7767
7768         getdomainname: Use the system function when possible.
7769         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
7770         (getdomainname): Replace if needed. Provide the declaration if it is
7771         missing. Don't use _GL_CXXALIAS_SYS_CAST.
7772         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
7773         (getdomainname): When the system has getdomainname, call the system
7774         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
7775         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
7776         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
7777         found in libnsl. Look for the declaration also in <netdb.h>. Replace
7778         the function if its second argument is of type 'int' or if it is found
7779         in libnsl.
7780         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
7781         <sys/systeminfo.h> and sysinfo().
7782         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
7783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7784         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
7785         HAVE_GETDOMAINNAME.
7786         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
7787         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
7788         * doc/glibc-functions/getdomainname.texi: Document the problems with
7789         the getdomainname declaration.
7790
7791 2010-11-28  Bruno Haible  <bruno@clisp.org>
7792
7793         sys_socket: Ensure ss_family field on AIX.
7794         * lib/sys_socket.in.h (ss_family): New macro definition.
7795         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
7796         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
7797         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
7798         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7799         * modules/sys_socket (Makefile.am): Substitute
7800         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7801         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
7802
7803 2010-11-27  Bruno Haible  <bruno@clisp.org>
7804
7805         readline: Improve configure output.
7806         * m4/readline.m4 (gl_FUNC_READLINE): Make the
7807         "checking for readline..." result understandable.
7808
7809 2010-11-27  Bruno Haible  <bruno@clisp.org>
7810
7811         *printf-posix: Detect a bug on Solaris 10/x86.
7812         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
7813         for floating-point output.
7814         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
7815         directive.
7816         * tests/test-snprintf-posix.h (test_function): Likewise.
7817         * tests/test-sprintf-posix.h (test_function): Likewise.
7818         * tests/test-vasprintf-posix.c (test_function): Likewise.
7819         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
7820         * doc/posix-functions/printf.texi: Likewise.
7821         * doc/posix-functions/snprintf.texi: Likewise.
7822         * doc/posix-functions/sprintf.texi: Likewise.
7823         * doc/posix-functions/vfprintf.texi: Likewise.
7824         * doc/posix-functions/vprintf.texi: Likewise.
7825         * doc/posix-functions/vsnprintf.texi: Likewise.
7826         * doc/posix-functions/vsprintf.texi: Likewise.
7827         * doc/glibc-functions/obstack_printf.texi: Likewise.
7828         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7829
7830 2010-11-27  Bruno Haible  <bruno@clisp.org>
7831
7832         Fix link error when module libunistring-optional is in use.
7833         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
7834         * modules/striconveha-tests (Makefile.am): Likewise.
7835
7836 2010-11-27  Bruno Haible  <bruno@clisp.org>
7837
7838         regex: Mention link dependencies.
7839         * modules/regex (Link): New section.
7840         * modules/rpmatch (Link): Likewise.
7841         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
7842
7843 2010-11-27  Bruno Haible  <bruno@clisp.org>
7844
7845         ftoastr: Fix compilation error on Solaris.
7846         * lib/ftoastr.c: Include <config.h>.
7847
7848 2010-11-27  Bruno Haible  <bruno@clisp.org>
7849
7850         getloadavg: Update documentation.
7851         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
7852
7853 2010-11-27  Bruno Haible  <bruno@clisp.org>
7854
7855         sys_socket: Fix test whether the functions are declared.
7856         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
7857         not <sys/select.h>.
7858
7859 2010-11-27  Bruno Haible  <bruno@clisp.org>
7860
7861         getpass: Make sure to get system declaration on some platforms.
7862         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
7863         gl_USE_SYSTEM_EXTENSIONS.
7864         * modules/getpass (Depends-on): Add extensions.
7865
7866 2010-11-26  Bruno Haible  <bruno@clisp.org>
7867
7868         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
7869         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
7870         'iconv' module is present.
7871         (ICONV_CONST): New macro.
7872         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
7873         ICONV_CONST.
7874         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
7875         set ICONV_CONST.
7876         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
7877         here.
7878         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
7879         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
7880         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
7881         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
7882         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
7883         present.
7884
7885 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7886
7887         ftoastr: comment fix
7888         * lib/ftoastr.c: "little" -> "little or no" in comment
7889
7890 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7891
7892         stdint: port to GCC 4.3 + OSX + Octave
7893         On this platform, stdint.h is buggy and defines int64_t to long
7894         long int.  The replacement defined it to long int, causing
7895         problems with C++ style name mangling.  Instead, trust the system
7896         definition if INT64_MAX is defined, and likewise for the unsigned
7897         variant.   Problem reported by Jarno Rajahalme in
7898         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
7899         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
7900         and don't mess with int64_t and INT64_MAX in this case.
7901         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
7902
7903 2010-11-24  Bruno Haible  <bruno@clisp.org>
7904
7905         doc: Corrections regarding MacOS X 10.4 and 10.5.
7906         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
7907         MacOS X.
7908         Reported by Simon Josefsson.
7909
7910 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
7911
7912         Uninstall ".bin" files installed by relocwrapper.
7913         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
7914         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
7915         unless it is already there.
7916
7917 2010-11-21  Bruno Haible  <bruno@clisp.org>
7918
7919         Update for NetBSD 5.0.
7920         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7921         NetBSD; the test fails on NetBSD 5.0.
7922         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7923         about NetBSD.
7924
7925 2010-11-21  Bruno Haible  <bruno@clisp.org>
7926
7927         Update for HP-UX 11.23 and HP-UX 11.31.
7928         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
7929         HP-UX.
7930
7931 2010-11-21  Bruno Haible  <bruno@clisp.org>
7932
7933         Update for MacOS X 10.5.
7934         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7935         MacOS X; the test fails on MacOS X 10.5.8.
7936         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7937         about MacOS X.
7938
7939 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
7940
7941         bootstrap: add bootstrap_sync option.
7942         See discussion at
7943         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
7944         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
7945         * build-aux/bootstrap: Accept --bootstrap-sync to update
7946         bootstrap if it is not identical to the local gnulib's
7947         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
7948         enable this by default.  Accept --no-bootstrap-sync to disable
7949         it.
7950
7951 2010-11-20  Bruno Haible  <bruno@clisp.org>
7952
7953         Ensure that <features.h> is included before __GLIBC__ is tested.
7954         * lib/printf-parse.h: Include <features.h>.
7955         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
7956         Reported by Mike Frysinger <vapier@gentoo.org>.
7957
7958         Ensure that <features.h> is included before __GLIBC__ is tested.
7959         * lib/wchar.in.h: Include <features.h>.
7960         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
7961         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
7962         Reported by Mike Frysinger <vapier@gentoo.org>.
7963
7964         Ensure that <features.h> is included before __GLIBC__ is tested.
7965         * lib/arpa_inet.in.h: Include <features.h>.
7966         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
7967         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
7968         Reported by Mike Frysinger <vapier@gentoo.org>.
7969
7970         Ensure that <features.h> is included before __GLIBC__ is tested.
7971         * build-aux/link-warning.h: Include <features.h>.
7972         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
7973         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
7974         Reported by Mike Frysinger <vapier@gentoo.org>.
7975
7976         Ensure that <features.h> is included before __GLIBC__ is tested.
7977         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
7978         Reported by Mike Frysinger <vapier@gentoo.org>.
7979
7980 2010-11-20  Bruno Haible  <bruno@clisp.org>
7981
7982         memmem: Fix autoconf test.
7983         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
7984
7985 2010-11-20  Bruno Haible  <bruno@clisp.org>
7986
7987         Port to uClibc.
7988         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
7989         * lib/fcntl.in.h: Likewise.
7990         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
7991         * lib/mbrtowc.c (mbrtowc): Likewise.
7992         * lib/relocatable.c (find_shared_library_fullname): Likewise.
7993         * lib/strerror_r.c: Likewise.
7994         * lib/unistr/u8-strnlen.c: Likewise.
7995         * lib/vasnprintf.c (decimal_point_char): Likewise.
7996         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7997         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
7998         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
7999         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
8000         * tests/test-sigaction.c (handler, main): Likewise.
8001         * lib/freading.h: Treat uClibc like a non-glibc platform.
8002         * lib/freading.c: Likewise.
8003         * lib/gettext.h: Likewise.
8004         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
8005         Likewise.
8006         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
8007         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
8008         * lib/propername.c (proper_name_utf8): Likewise.
8009         * lib/spawn.in.h: Likewise.
8010         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
8011         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
8012         mem_cd_iconveh_internal): Likewise.
8013         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
8014         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
8015         strstr, strcasestr): Likewise.
8016         * lib/unicodeio.c (unicode_to_mb): Likewise.
8017         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
8018         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
8019         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
8020         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
8021         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
8022         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
8023         * lib/unistr/u8-stpncpy.c: Likewise.
8024         * lib/vasnprintf.c (VASNPRINTF): Likewise.
8025         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
8026         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8027         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8028         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
8029         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
8030         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
8031         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
8032         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
8033         Likewise.
8034         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8035         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8036         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
8037         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8038         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8039         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8040         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8041         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8042         * tests/test-getopt.h (OPTIND_MIN): Likewise.
8043         * tests/test-striconveha.c (main): Likewise.
8044         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8045         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
8046         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
8047         * doc/posix-functions/getline.texi: Likewise.
8048         Reported by Mike Frysinger <vapier@gentoo.org>.
8049
8050 2010-11-20  Bruno Haible  <bruno@clisp.org>
8051
8052         nproc: Fix condition.
8053         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
8054         HAVE_PTHREAD_AFFINITY_NP.
8055
8056 2010-11-20  Bruno Haible  <bruno@clisp.org>
8057
8058         Fix a comment.
8059         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
8060
8061 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8062
8063         ftoastr: don't assume snprintf
8064         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
8065         Implement a subset of snprintf here, by using sprintf safely.
8066         * modules/ftoastr (Depends-on): Remove snprintf.
8067
8068 2010-11-19  Jim Meyering  <meyering@redhat.com>
8069
8070         test-rename.h: fix compilation failure
8071         * tests/test-rename.h (test_rename): Add omitted "}".
8072
8073 2010-11-17  Jim Meyering  <meyering@redhat.com>
8074
8075         maint.mk: add a URL discussing the no-@acronym policy
8076         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
8077
8078 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8079
8080         ftoastr: depend on snprintf, improve comments
8081         * lib/ftoastr.c: Also mention Loitsch's draft.
8082         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
8083         needed in the current implementation, but it might simplify
8084         speeding up the code later.
8085         * modules/ftoastr: Depend on snprintf; this improves portability.
8086         Suggested by Bruno Haible in the same email.
8087
8088         ftoastr: port to hosts lacking strtof and strtold
8089         Problem reported by Bruno Haible in
8090         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
8091         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
8092         environment and strtold (and presumably strtof) are not available.
8093         * modules/ftoastr (Files): Add m4/c-strtod.m4.
8094         (configure.ac): Require gl_C99_STRTOLD.
8095
8096 2010-11-18  Bruno Haible  <bruno@clisp.org>
8097
8098         c-strtold: Avoid link error on AIX 7.
8099         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
8100         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
8101         (gl_C_STRTOLD): Test whether strtold_l exists.
8102         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8103
8104 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8105
8106         intprops: new macro INT_BITS_STRLEN_BOUND
8107         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
8108         ftoastr.h.  This exposes an internal of intprops.h that was formerly
8109         not exposed.  Also, it uses a slightly tighter bound than before;
8110         though this makes no practical difference, we might as well be as
8111         tight as we easily can.
8112
8113         ftoastr: new module, for lossless conversion of floats to short strings
8114         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
8115         * modules/ftoastr: New files.
8116
8117 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8118
8119         bootstrap: port to Solaris sed
8120         * build-aux/bootstrap (get_version): Port to Solaris sed.
8121         See Ralf Wildenhues's note in
8122         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
8123
8124 2010-11-14  Jim Meyering  <meyering@redhat.com>
8125
8126         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
8127         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
8128         and move definition closer to sole use.
8129
8130 2010-11-13  Jim Meyering  <meyering@redhat.com>
8131
8132         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
8133         Now we require at least autoconf-2.59, which means the work-around
8134         is no longer needed.
8135         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
8136         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8137         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
8138         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
8139         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
8140
8141 2010-11-13  Bruno Haible  <bruno@clisp.org>
8142
8143         rename, renameat: Avoid test failures at NFS mounted locations.
8144         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
8145         functions.
8146         (test_rename): Use assert_nonexistent.
8147         * tests/test-rename.c: Include <dirent.h>.
8148         * tests/test-renameat.c: Likewise.
8149         Reported by Gary V. Vaughan <gary@gnu.org>.
8150
8151         rename, renameat: Document Linux bug with NFS
8152         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
8153         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
8154         * doc/posix-functions/renameat.texi: Likewise.
8155         Suggested by Eric Blake.
8156
8157 2010-11-13  Bruno Haible  <bruno@clisp.org>
8158
8159         rename test: Add comments.
8160         * tests/test-rename.h (test_rename): Add structure and comments.
8161
8162 2010-11-13  Eric Blake  <eblake@redhat.com>
8163
8164         maintainer-makefile: cover a few more files
8165         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
8166         scripts generated within C files, for libvirt.
8167
8168 2010-11-13  Bruno Haible  <bruno@clisp.org>
8169
8170         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
8171         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
8172         character, return the number of bytes that belong together, not always
8173         1.
8174         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
8175         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
8176         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
8177         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
8178         number of bytes of an invalid character.
8179         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
8180         (main): Invoke it.
8181         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
8182         results.
8183         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
8184         malformed byte sequences.
8185         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
8186         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
8187         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
8188         Reported by Ben Pfaff and Paolo Bonzini.
8189
8190 2010-11-13  Bruno Haible  <bruno@clisp.org>
8191
8192         openat: Work around glibc bug with fchownat() and empty file names.
8193         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
8194         (gl_FUNC_FCHOWNAT): Invoke it.
8195         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
8196         * doc/posix-functions/fchownat.texi: Document the glibc bug.
8197         Reported by Gary V. Vaughan <gary@gnu.org>.
8198
8199 2010-11-13  Bruno Haible  <bruno@clisp.org>
8200
8201         openat: Ensure autoconf macro ordering.
8202         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
8203         gl_USE_SYSTEM_EXTENSIONS.
8204         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
8205
8206 2010-11-13  Bruno Haible  <bruno@clisp.org>
8207
8208         Update comments.
8209         * lib/unistr/u8-check.c: Update file name in comments.
8210         * lib/unistr/u8-mblen.c: Likewise.
8211         * lib/unistr/u8-prev.c: Likewise.
8212         * lib/unistr/u8-strmblen.c: Likewise.
8213         * lib/unistr/u8-strmbtouc.c: Likewise.
8214
8215 2010-11-13  Jim Meyering  <meyering@redhat.com>
8216
8217         tests: avoid test failure on Solaris 10 due to lack of PATH export
8218         * tests/test-update-copyright.sh: Don't forget to export PATH.
8219
8220         init.sh: ensure that IFS is defined, just in case...
8221         * tests/init.sh (setup_): Ensure that IFS is defined,
8222         so that saving and restoring it works as expected.  This
8223         appears to be useful at least for an old version of dash
8224         from a long time ago (RH 6).  See here for details:
8225         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
8226
8227         maint.mk: tighten "test a == b" check
8228         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
8229         test to files that contain something like #!/bin/sh.
8230         Without this, coreutils would get two false positives in
8231         the comments of C source files.
8232
8233 2010-11-12  Eric Blake  <eblake@redhat.com>
8234
8235         bootstrap: fix typo in previous attempt
8236         * build-aux/bootstrap (buildreq): Correct the grouping.
8237         Reported by Paul Eggert.
8238
8239         maintainer-makefile: prohibit test x == x
8240         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
8241         Based on a report by Matthias Bolte.
8242
8243         bootstrap: allow FreeBSD gzip
8244         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
8245         which has no '.' and goes to stderr.
8246         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
8247         Reported by Matthias Bolte.
8248
8249         maintainer-makefile: check for i18n setup
8250         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
8251         will likely work.
8252
8253 2010-11-12  Bruno Haible  <bruno@clisp.org>
8254
8255         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
8256         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
8257         * lib/nanosleep.c (nanosleep): Likewise.
8258
8259 2010-11-11  Bruno Haible  <bruno@clisp.org>
8260
8261         fcntl-h: Fix for use of C++ on glibc systems.
8262         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
8263         also on glibc systems in C++ mode.
8264         Reported by Gary V. Vaughan <gary@gnu.org>.
8265
8266 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8267
8268         mknod: avoid false failure with dash
8269         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
8270
8271 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
8272
8273         unlink: Fix "is it should" typo in diagnostic.
8274         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
8275         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
8276
8277 2010-11-11  Bruno Haible  <bruno@clisp.org>
8278
8279         Tests for module 'strerror_r-posix'.
8280         * modules/strerror_r-posix-tests: New file.
8281         * tests/test-strerror_r.c: New file.
8282         * tests/test-string-c++.cc: Check the signature of strerror_r.
8283
8284         New module 'strerror_r-posix'.
8285         * lib/string.in.h (strerror_r): New declaration.
8286         * lib/strerror_r.c: New file.
8287         * m4/strerror_r.m4: New file.
8288         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
8289         of strerror_r.
8290         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
8291         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
8292         * modules/strerror_r-posix: New file.
8293         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
8294         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
8295         * doc/posix-functions/strerror_r.texi: Mention the new module and the
8296         portability problems.
8297
8298 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
8299
8300         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
8301         line is also considered for output. Quoted function name in shell
8302         command, so temporary files for functions like MyClass::operator()
8303         are removed correctly without errors.
8304
8305 2010-11-09  Bruno Haible  <bruno@clisp.org>
8306
8307         * doc/posix-functions/strerror.texi: List more failing platforms.
8308
8309         * doc/posix-functions/strerror.texi: Add a comment.
8310
8311 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8312
8313         fdopendir: fix bug on MacOS X when low on file descriptors
8314
8315         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
8316         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
8317         All callers changed.
8318         (fdopendir): Invoke save_cwd at the top level, not after using
8319         multiple dup() calls to use up file descriptors.  Then retry
8320         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
8321         less than the maximum number of open file descriptors, because
8322         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
8323         on Mac OS X 10.6.4 for tar 1.24
8324         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
8325         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
8326         and for tar 1.25
8327         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
8328
8329 2010-11-07  Bruno Haible  <bruno@clisp.org>
8330
8331         vasnprintf: Support I flag on glibc systems.
8332         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
8333         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
8334         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
8335         snprintf function.
8336         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
8337         glibc systems.
8338         * tests/test-vasnprintf-posix3.c: New file.
8339         * modules/vasnprintf-posix-tests (Files): Add it.
8340         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
8341
8342 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
8343
8344         [html] Fix copy/paste bug: Use unique name for compiler warnings.
8345         * MODULES.html.sh: For compiler warnings, use name
8346         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
8347
8348 2010-11-05  Eric Blake  <eblake@redhat.com>
8349
8350         ceil, floor: avoid spurious failure with icc
8351         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
8352         [denormals-as-zero] when optimizing without -mieee-fp option.
8353         * tests/test-floorf2.c (floorf_reference): Likewise.
8354         * tests/test-ceilf1.c (dummy): New function.
8355         (main): Use it to outsmart icc's optimization.
8356         * tests/test-floorf1.c (dummy, main): Likewise.
8357
8358         tests: require working signbit
8359         * modules/ceilf-tests (Depends-on): Add signbit.
8360         * modules/ceill-tests (Depends-on): Likewise.
8361         * modules/floorf-tests (Depends-on): Likewise.
8362         * modules/floorl-tests (Depends-on): Likewise.
8363         * modules/round-tests (Depends-on): Likewise.
8364         * modules/roundf-tests (Depends-on): Likewise.
8365         * modules/roundl-tests (Depends-on): Likewise.
8366         * modules/trunc-tests (Depends-on): Likewise.
8367         * modules/truncf-tests (Depends-on): Likewise.
8368         * modules/truncl-tests (Depends-on): Likewise.
8369
8370         strtod: work around icc bug
8371         * lib/strtod.c (minus_zero): Define to working value.
8372         (strtod): Use it to avoid icc bug.
8373
8374         copysign: enhance tests
8375         * modules/copysign-tests (Files): Add minus-zero.h.
8376         * tests/test-copysign.c (main): Also test zeros.
8377
8378 2010-11-04  Eric Blake  <eblake@redhat.com>
8379
8380         ceil, floor, round, trunc: enhance tests of -0
8381         * tests/test-ceilf1.c (main): Ensure correct sign of result.
8382         * tests/test-ceill.c (main): Likewise.
8383         * tests/test-floorf1.c (main): Likewise.
8384         * tests/test-floorl.c (main): Likewise.
8385         * tests/test-round1.c (main): Likewise.
8386         * tests/test-roundf1.c (main): Likewise.
8387         * tests/test-roundl.c (main): Likewise.
8388         * tests/test-trunc1.c (main): Likewise.
8389         * tests/test-truncf1.c (main): Likewise.
8390         * tests/test-truncl.c (main): Likewise.
8391
8392 2010-11-04  Eric Blake  <eblake@redhat.com>
8393
8394         frexp, tests: work around ICC bug with -zero
8395         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
8396         works with more compilers.
8397         * tests/minus-zero.h: New file.
8398         * modules/ceilf-tests (Files): Include it.
8399         * modules/ceill-tests (Files): Likewise.
8400         * modules/floorf-tests (Files): Likewise.
8401         * modules/floorl-tests (Files): Likewise.
8402         * modules/frexp-nolibm-tests (Files): Likewise.
8403         * modules/frexp-tests (Files): Likewise.
8404         * modules/frexpl-nolibm-tests (Files): Likewise.
8405         * modules/frexpl-tests (Files): Likewise.
8406         * modules/isnan-tests (Files): Likewise.
8407         * modules/isnand-nolibm-tests (Files): Likewise.
8408         * modules/isnand-tests (Files): Likewise.
8409         * modules/isnanf-nolibm-tests (Files): Likewise.
8410         * modules/isnanf-tests (Files): Likewise.
8411         * modules/isnanl-nolibm-tests (Files): Likewise.
8412         * modules/isnanl-tests (Files): Likewise.
8413         * modules/round-tests (Files): Likewise.
8414         * modules/roundf-tests (Files): Likewise.
8415         * modules/roundl-tests (Files): Likewise.
8416         * modules/ldexpl-tests (Files): Likewise.
8417         * modules/signbit-tests (Files): Likewise.
8418         * modules/snprintf-posix-tests (Files): Likewise.
8419         * modules/sprintf-posix-tests (Files): Likewise.
8420         * modules/strtod-tests (Files): Likewise.
8421         * modules/trunc-tests (Files): Likewise.
8422         * modules/truncf-tests (Files): Likewise.
8423         * modules/truncl-tests (Files): Likewise.
8424         * modules/vsnprintf-posix-tests (Files): Likewise.
8425         * modules/vsprintf-posix-tests (Files): Likewise.
8426         * modules/vasnprintf-posix-tests (Files): Likewise.
8427         * modules/vasprintf-posix-tests (Files): Likewise.
8428         * tests/test-ceilf1.c (main): Use it.
8429         * tests/test-ceill.c (main): Likewise.
8430         * tests/test-floorf1.c (main): Likewise.
8431         * tests/test-floorl.c (main): Likewise.
8432         * tests/test-frexp.c (main): Likewise.
8433         * tests/test-frexpl.c (main): Likewise.
8434         * tests/test-isnan.c (main): Likewise.
8435         * tests/test-isnand.h (main): Likewise.
8436         * tests/test-isnanf.h (main): Likewise.
8437         * tests/test-isnanl.h (main): Likewise.
8438         * tests/test-ldexpl.c (main): Likewise.
8439         * tests/test-round.c (main): Likewise.
8440         * tests/test-roundf.c (main): Likewise.
8441         * tests/test-roundl.c (main): Likewise.
8442         * tests/test-signbit.c (test_signbitf, test_signbitd)
8443         (test_signbitl): Likewise.
8444         * tests/test-snprintf-posix.h (test_function): Likewise.
8445         * tests/test-sprintf-posix.h (test_function): Likewise.
8446         * tests/test-strtod.c (main): Likewise.
8447         * tests/test-trunc1.c (main): Likewise.
8448         * tests/test-truncf1.c (main): Likewise.
8449         * tests/test-truncl.c (main): Likewise.
8450
8451         isnanl: work around icc bug
8452         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
8453
8454 2010-11-03  Eric Blake  <eblake@redhat.com>
8455
8456         tests: fix compiler warnings
8457         * tests/test-getopt.h (test_getopt): Fix condition.
8458         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8459         * tests/test-pipe2.c (main): Likewise.
8460         * tests/test-quotearg-simple.c (main): Avoid icc warning.
8461
8462         utimens: fix broken m4 test
8463         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
8464
8465 2010-10-28  Bruno Haible  <bruno@clisp.org>
8466
8467         posix_spawn*, getdtablesize: Relax license.
8468         * modules/posix_spawn (License): Change to LGPLv2+.
8469         * modules/posix_spawnp (License): Likewise.
8470         * modules/posix_spawn-internal (License): Likewise.
8471         * modules/posix_spawnattr_init (License): Likewise.
8472         * modules/posix_spawnattr_getflags (License): Likewise.
8473         * modules/posix_spawnattr_setflags (License): Likewise.
8474         * modules/posix_spawnattr_getpgroup (License): Likewise.
8475         * modules/posix_spawnattr_setpgroup (License): Likewise.
8476         * modules/posix_spawnattr_getschedparam (License): Likewise.
8477         * modules/posix_spawnattr_setschedparam (License): Likewise.
8478         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
8479         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
8480         * modules/posix_spawnattr_getsigdefault (License): Likewise.
8481         * modules/posix_spawnattr_setsigdefault (License): Likewise.
8482         * modules/posix_spawnattr_getsigmask (License): Likewise.
8483         * modules/posix_spawnattr_setsigmask (License): Likewise.
8484         * modules/posix_spawnattr_destroy (License): Likewise.
8485         * modules/posix_spawn_file_actions_init (License): Likewise.
8486         * modules/posix_spawn_file_actions_addclose (License): Likewise.
8487         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
8488         * modules/posix_spawn_file_actions_addopen (License): Likewise.
8489         * modules/posix_spawn_file_actions_destroy (License): Likewise.
8490         * modules/getdtablesize (License): Likewise.
8491         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
8492
8493 2010-10-26  Bruno Haible  <bruno@clisp.org>
8494
8495         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
8496         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
8497         Cygwin and mingw.
8498         Suggested by Eric Blake.
8499
8500 2010-10-26  Bruno Haible  <bruno@clisp.org>
8501
8502         stdio: Work around compilation error due to renameat() on Solaris 10.
8503         * lib/stdio.in.h: Include <unistd.h> on Solaris.
8504         * lib/renameat.c: Don't include <unistd.h> here.
8505         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
8506         Reported by Paul Eggert and Eric Blake.
8507
8508 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8509
8510         renameat: port to Solaris 10, which declares renameat in unistd.h
8511
8512         * lib/renameat.c: Include unistd.h before stdio.h, because
8513         Solaris 10 declares renameat in unistd.h.  Problem encountered
8514         when building GNU tar 1.24 on Solaris 10.
8515
8516 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8517
8518         fdopendir: fix C89 compilation
8519         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
8520         compilers.
8521
8522 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
8523
8524         inttostr: simplify by removing unnecessary redundancy
8525         * lib/anytostr.c: Don't include verify.h.
8526         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
8527         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
8528         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
8529         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
8530         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
8531         Likewise.
8532         * modules/inttostr (Depends-on): Remove 'verify'.
8533
8534 2010-10-23  Bruno Haible  <bruno@clisp.org>
8535
8536         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
8537         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
8538         Reported by Eric Blake.
8539
8540 2010-10-23  Bruno Haible  <bruno@clisp.org>
8541
8542         Tests: Fix LOCALE_JA on MirBSD 10.
8543         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
8544         to an UTF-8 locale.
8545         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
8546         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
8547         Reported by Eric Blake.
8548
8549 2010-10-21  Bruno Haible  <bruno@clisp.org>
8550
8551         nl_langinfo test: Avoid test failure on NetBSD 5.
8552         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
8553         Reported by Eric Blake.
8554
8555 2010-10-21  Eric Blake  <eblake@redhat.com>
8556
8557         c-stack: work around libsigsegv 2.8 bug
8558         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
8559         overflow on at least PowerPC64.
8560
8561 2010-10-17  Bruno Haible  <bruno@clisp.org>
8562
8563         userspec: Drop redundant file.
8564         * modules/userspec (Files): Remove lib/inttostr.h.
8565
8566 2010-10-17  Bruno Haible  <bruno@clisp.org>
8567
8568         nl_langinfo tests: Silence some warnings.
8569         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
8570         Reported by Jim Meyering.
8571
8572 2010-10-17  Bruno Haible  <bruno@clisp.org>
8573
8574         Make use of GCC's attribute __alloc_size__.
8575         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
8576         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
8577         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
8578         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
8579         __alloc_size__.
8580         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
8581         Suggested by Jim Meyering.
8582
8583 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
8584
8585         bootstrap: anchor .gitignore entries.
8586         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
8587         with...
8588         (insert_vc_ignore): ... this new function, which prepends `/' to
8589         all .gitignore entries before passing them to
8590         insert_sorted_if_absent.
8591
8592 2010-10-16  Bruno Haible  <bruno@clisp.org>
8593
8594         nextafter: Fix configure check.
8595         * modules/nextafter (configure.ac): Correct expected prototype.
8596
8597 2010-10-16  Bruno Haible  <bruno@clisp.org>
8598
8599         termios: Update documentation.
8600         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
8601
8602 2010-10-16  Bruno Haible  <bruno@clisp.org>
8603
8604         tests: Make them compile with TinyCC.
8605         * tests/test-strstr.c (main): Remove parentheses around array
8606         initializer.
8607
8608 2010-10-15  Eric Blake  <eblake@redhat.com>
8609
8610         ignore-value: make header idempotent
8611         * lib/ignore-value.h: Add double-inclusion guards.
8612         Reported by Stefan Berger.
8613
8614 2010-10-15  Jim Meyering  <meyering@redhat.com>
8615
8616         GNUmakefile: handle "stable" target, not "major"
8617         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
8618         lists in maint.mk and announce-gen.  Without this, "make stable"
8619         would fail to ensure that $(VERSION) is up to date.
8620
8621 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
8622
8623         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
8624         & co.
8625
8626 2010-10-14  Bruno Haible  <bruno@clisp.org>
8627
8628         vasnprintf: Don't set errno to 0.
8629         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
8630         block that sets it to 0.
8631         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
8632
8633 2010-10-14  Bruno Haible  <bruno@clisp.org>
8634
8635         socketlib: Fix.
8636         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
8637         gl_PREREQ_SYS_H_WINSOCK2.
8638         Reported by Ian Beckwith <ianb@erislabs.net>.
8639
8640 2010-10-13  Jim Meyering  <meyering@redhat.com>
8641
8642         test-select-stdin.c: avoid warn_unused_result warnings
8643         * tests/test-select-stdin.c: Include "macros.h".
8644         ASSERT that read and fflush succeed.
8645
8646 2010-10-13  Jim Meyering  <meyering@redhat.com>
8647
8648         git-version-gen: do require git-VC'd files in cwd
8649         * build-aux/git-version-gen: Reject a git version string
8650         if there are no commits associated with the current directory.
8651         This avoids an unlikely false-positive (unrelated dir whose parent
8652         repository also contains a tag matching v*), as pointed out
8653         by Giuseppe Scrivano in
8654         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
8655
8656 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8657
8658         argv-iter: omit nonconforming declaration
8659         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
8660         enum arg_iter_err declaration, which doesn't conform to C99.
8661         Solaris 10 cc warns about this.
8662
8663 2010-10-13  Eric Blake  <eblake@redhat.com>
8664
8665         termios: fix compilation on mingw
8666         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
8667         (gl_TERMIOS_H): Adjust it on mingw.
8668         * modules/termios (Makefile.am): Substitute new key.
8669         * lib/termios.in.h (includes): Make include_next conditional.
8670         * doc/posix-headers/termios.texi (termios.h): Update
8671         documentation.
8672         Reported by Daniel P. Berrange.
8673
8674 2010-10-13  Jim Meyering  <meyering@redhat.com>
8675
8676         git-version-gen: don't require that .git/ be in the current dir
8677         * build-aux/git-version-gen: Adjust this script so that it works
8678         when run from any working directory beneath the top-level .git/-
8679         containing directory.  Inspired by a patch from Giuseppe Scrivano,
8680         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
8681
8682         test-select: avoid warn_unused_result warnings
8683         * tests/test-select.c: Include "macros.h".
8684         ASSERT that each call to read, write, and pipe succeeds.
8685         While not technically required, also check each "close".
8686         * modules/select-tests (Files): Add tests/macros.h.
8687
8688         test-symlinkat: remove declaration of unused local
8689         * tests/test-symlinkat.c (main): Remove unused local, "buf".
8690
8691         test-inttostr: avoid shadowing warnings
8692         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
8693         and use malloc rather than the stack for the same reason as
8694         mentioned in the comment justifying the other allocation.
8695
8696 2010-10-11  Bruno Haible  <bruno@clisp.org>
8697
8698         stdlib: Allow multiple gnulib generated replacements to coexist.
8699         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
8700         Reported by Sam Steingold <sds@gnu.org>.
8701
8702 2010-10-11  Jim Meyering  <meyering@redhat.com>
8703
8704         fix a documentation typo
8705         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
8706
8707 2010-10-11  Eric Blake  <eblake@redhat.com>
8708
8709         futimens: work around Solaris 11 bug
8710         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
8711         * tests/test-futimens.h (test_futimens): Enhance, rather than
8712         weaken test.
8713         * doc/posix-functions/futimens.texi (futimens): Document the bug.
8714
8715 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
8716
8717         Indentation.
8718         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
8719         higher-level operators more to the left.
8720
8721 2010-10-11  Jim Meyering  <meyering@redhat.com>
8722
8723         test-futimens: avoid unwarranted test failure on Solaris 5.11
8724         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
8725         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
8726         because it tries to dereference the NULL name argument.
8727
8728 2010-10-11  Bruno Haible  <bruno@clisp.org>
8729
8730         Indentation.
8731         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
8732         indentation.
8733
8734 2010-10-11  Jim Meyering  <meyering@redhat.com>
8735
8736         spawn.in.h: make indentation consistent with parentheses
8737         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
8738         Make indentation consistent with parentheses.
8739
8740 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
8741
8742         Fix mismatched parens in previous commit
8743         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
8744         parens.
8745
8746 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8747
8748         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
8749
8750         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
8751         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
8752         * lib/malloca.c: Include "verify.h".
8753         (verify1): Remove, replacing with a verify call.
8754         * lib/relocwrapper.c (verify1): Likewise.
8755         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
8756         Likewise.
8757         * modules/malloca (Depends-on): Add 'verify'.
8758         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
8759         * modules/vasnprintf (Depends-on): Add 'verify'.
8760         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
8761         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8762         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8763         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8764         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8765         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8766         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8767
8768         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
8769
8770         Formerly the style was sometimes 2*X - 1, because the C standard
8771         was wrongly thought to disallow ?: in integral constant expressions.
8772         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
8773         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
8774         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
8775         * lib/stdint.in.h (_verify_intmax_size): Likewise.
8776         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
8777         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
8778         verify that time_t cannot be floating.
8779
8780 2010-10-08  Eric Blake  <eblake@redhat.com>
8781
8782         time: enforce recent POSIX ruling that time_t is integral
8783         * lib/time.in.h (__time_t_must_be_integral): Detect any
8784         problematic systems, allowing the rest of gnulib to assume POSIX.
8785
8786 2010-10-08  Jim Meyering  <meyering@redhat.com>
8787
8788         fdopendir: fix a bug on systems lacking openat and /proc support
8789         OpenBSD 4.7 is one such system.  The most noticeable effect was
8790         failure of any application making nontrivial use of fts: rm, du,
8791         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
8792           ./rm: traversal failed: `a': Bad file descriptor
8793         Debugging that, you see that even though FD 6 was closed just
8794         prior to the opendir call in fd_clone_opendir, its resulting
8795         dir->dd_fd was 8, rather than the expected value of 6:
8796
8797         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
8798         93                close (fd);
8799         (gdb) n
8800         94                dir = fd_clone_opendir (dupfd);
8801         (gdb) n
8802         95                saved_errno = errno;
8803         (gdb) p dir->dd_fd
8804         $11 = 8
8805
8806         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
8807         The problem is that on OpenBSD, fd_clone_opendir has to resort
8808         to using the old-style save/restore CWD mechanism, due to its
8809         lack of openat/proc support, and *that* would steal the FD (6)
8810         that opendir was supposed to use.
8811
8812         The fix is to squirrel away the desired FD so that save_cwd uses a
8813         different one, and then free the dest FD right before calling opendir.
8814         That guarantees opendir will use the required file descriptor.
8815
8816         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
8817
8818 2010-10-08  Bruno Haible  <bruno@clisp.org>
8819
8820         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
8821         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
8822
8823 2010-10-08  Bruno Haible  <bruno@clisp.org>
8824
8825         nanosleep: Make replacement POSIX compliant.
8826         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
8827         is out of range.
8828         Reported by Jim Meyering.
8829
8830 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8831
8832         bootstrap: add hook for altering gnulib.mk, for Bison
8833         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
8834         the Bison bootstrapping process can rewrite file names and variables
8835         in this file before later parts of 'bootstrap' use the file.
8836         Bison wants to include lib/gnulib.mk from the top-level makefile,
8837         so it needs the file names in this file to be relative to the top
8838         level, not relative to lib; plus it needs variable names to be
8839         rewritten.
8840         (slurp): Use the new function.
8841
8842         bootstrap: reformat for readability
8843         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
8844
8845 2010-10-08  Eric Blake  <eblake@redhat.com>
8846
8847         docs: update cygwin progress
8848         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
8849         1.7.7.
8850         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
8851         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
8852         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
8853         * doc/posix-functions/carg.texi (carg): Likewise.
8854         * doc/posix-functions/cargf.texi (cargf): Likewise.
8855         * doc/posix-functions/casin.texi (casin): Likewise.
8856         * doc/posix-functions/casinf.texi (casinf): Likewise.
8857         * doc/posix-functions/casinh.texi (casinh): Likewise.
8858         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
8859         * doc/posix-functions/catan.texi (catan): Likewise.
8860         * doc/posix-functions/catanf.texi (catanf): Likewise.
8861         * doc/posix-functions/catanh.texi (catanh): Likewise.
8862         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
8863         * doc/posix-functions/ccos.texi (ccos): Likewise.
8864         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
8865         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
8866         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
8867         * doc/posix-functions/cexp.texi (cexp): Likewise.
8868         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
8869         * doc/posix-functions/cimag.texi (cimag): Likewise.
8870         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
8871         * doc/posix-functions/clog.texi (clog): Likewise.
8872         * doc/posix-functions/clogf.texi (clogf): Likewise.
8873         * doc/posix-functions/conj.texi (conj): Likewise.
8874         * doc/posix-functions/conjf.texi (conjf): Likewise.
8875         * doc/posix-functions/cpow.texi (cpow): Likewise.
8876         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
8877         * doc/posix-functions/cproj.texi (cproj): Likewise.
8878         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
8879         * doc/posix-functions/creal.texi (creal): Likewise.
8880         * doc/posix-functions/crealf.texi (crealf): Likewise.
8881         * doc/posix-functions/csin.texi (csin): Likewise.
8882         * doc/posix-functions/csinf.texi (csinf): Likewise.
8883         * doc/posix-functions/csinh.texi (csinh): Likewise.
8884         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
8885         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
8886         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
8887         * doc/posix-functions/ctan.texi (ctan): Likewise.
8888         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
8889         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
8890         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
8891         * doc/posix-headers/complex.texi (complex.h): Likewise.
8892
8893 2010-10-07  Jim Meyering  <meyering@redhat.com>
8894
8895         parse-datetime: avoid compilation failure on OpenBSD 4.7
8896         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
8897         This works around a compilation failure on OpenBSD 4.7:
8898         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
8899
8900 2010-10-07  Eric Blake  <eblake@redhat.com>
8901
8902         docs: update cygwin progress
8903         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
8904         1.7.6.
8905         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
8906         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
8907         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
8908         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
8909         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
8910         Likewise.
8911         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
8912         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
8913         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
8914         Likewise.
8915         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
8916         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
8917         Likewise.
8918         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
8919         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
8920         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
8921         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
8922         Likewise.
8923         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
8924         Likewise.
8925         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
8926
8927         docs: update parse-datetime history
8928         * doc/parse-datetime.texi (Authors of parse_datetime): Better
8929         documentation of this function's history and alternatives.
8930
8931         cygwin: use more robust version check
8932         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
8933         exclude an eventual cygwin 1.9.1.
8934         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8935         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8936         (gl_FUNC_STRCASESTR): Likewise.
8937         Reported by Bruno Haible.
8938
8939 2010-10-06  Bruno Haible  <bruno@clisp.org>
8940
8941         string, sys_select: Avoid #including large headers unless necessary.
8942         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
8943         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
8944         OSF/1, BeOS, Haiku.
8945         Reported by Jim Meyering.
8946
8947 2010-10-05  Eric Blake  <eblake@redhat.com>
8948
8949         memmem, strstr, strcasestr: fix bug with long periodic needle
8950         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
8951         periodic needle having false positive.
8952         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
8953         and cygwin 1.7.7.
8954         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
8955         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8956         (gl_FUNC_STRCASESTR): Likewise.
8957         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8958         * tests/test-memmem.c (main): Expose the bug.
8959         * tests/test-strcasestr.c (main): Likewise.
8960         * tests/test-strstr.c (main): Likewise.
8961         * tests/test-c-strcasestr.c (main): Likewise.
8962         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
8963         * doc/posix-functions/strstr.texi (strstr): Likewise.
8964         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
8965         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
8966
8967 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8968
8969         parse-datetime: do some more renaming
8970         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
8971         parse_datetime, not get_date.  Mention the renaming.
8972         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
8973         in comments.
8974         * m4/bison.m4: Likewise.
8975
8976 2010-10-05  Eric Blake  <eblake@redhat.com>
8977
8978         parse-datetime: better name than get_date
8979         * NEWS: Reword the deprecation notice.
8980         * modules/get_date: Rename to modules/parse-datetime.
8981         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
8982         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
8983         * lib/get_date.y: Rename to lib/parse-datetime.y.
8984         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
8985         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
8986         * doc/getdate.texi: Provide fallback wrapper.
8987         * lib/getdate.h: Move guts, and wrap...
8988         * lib/parse-datetime.h: ...new file.
8989         * lib/parse-datetime.y (get_date): Rename...
8990         (parse_datetime): ...to this.
8991         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
8992         (gl_PARSE_DATETIME): ...to this.
8993         * doc/posix-functions/getdate.texi (get_date): Provide fallback
8994         documentation.
8995         * modules/getdate (Files): Provide fallback docs and header.
8996         (Notice, Depends-on): Update references.
8997         * tests/test-parse-datetime.c: Likewise.
8998         * DEPENDENCIES: Likewise.
8999         * MODULES.html.sh (Date and time <time.h>): Likewise.
9000         * doc/parse-datetime.texi (Date input formats)
9001         (Authors of parse_datetime): Likewise.
9002         * modules/parse-datetime (Files, configure.ac, Makefile.am)
9003         (Include): Likewise.
9004         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
9005         * gnulib-tool: Likewise.
9006         * m4/bison.m4 (gl_BISON): Likewise.
9007         Suggested by Bruno Haible.
9008
9009 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9010
9011         more ports to Solaris tr, which needs [] around ranges
9012         * gnulib-tool: Solaris tr needs [] around ranges.
9013         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
9014         * tests/test-pipe-filter-gi1.c (main): Likewise.
9015         * tests/test-pipe-filter-ii1.c (main): Likewise.
9016
9017 2010-10-05  Eric Blake  <eblake@redhat.com>
9018
9019         bootstrap: fix Solaris regression
9020         * build-aux/bootstrap (check_versions): Solaris tr still needs []
9021         around ranges.
9022         Reported by Pádraig Brady.
9023
9024         bootstrap: work with pkg-config
9025         * build-aux/bootstrap (check_versions): Also transliterate - in
9026         prerequisite name.
9027         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
9028         prerequisites that were already found, to avoid confusion.
9029         Reported by Justin Clift.
9030
9031         faccessat: remove unused wrappers
9032         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
9033         presence of these wrappers dragged in -lgen on Solaris.
9034         Reported by Clemens Brogi; fix suggested by Paul Eggert.
9035
9036 2010-10-05  Jim Meyering  <meyering@redhat.com>
9037
9038         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
9039         * Makefile (sc_pragma_columns): New syntax-check rule.
9040
9041 2010-10-04  Bruno Haible  <bruno@clisp.org>
9042
9043         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
9044         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
9045         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
9046         Reported by Bruce Korb and Eric Blake.
9047
9048 2010-10-04  Bruno Haible  <bruno@clisp.org>
9049
9050         threadlib: Make option --with-libpth-prefix work.
9051         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
9052         use $LIBPTH, not just -lpth.
9053
9054 2010-10-04  Bruno Haible  <bruno@clisp.org>
9055
9056         Avoid line length limitation from HP NonStop system header files.
9057         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
9058         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
9059         * lib/ctype.in.h: Likewise.
9060         * lib/dirent.in.h: Likewise.
9061         * lib/errno.in.h: Likewise.
9062         * lib/fcntl.in.h: Likewise.
9063         * lib/float.in.h: Likewise.
9064         * lib/getopt.in.h: Likewise.
9065         * lib/iconv.in.h: Likewise.
9066         * lib/inttypes.in.h: Likewise.
9067         * lib/langinfo.in.h: Likewise.
9068         * lib/locale.in.h: Likewise.
9069         * lib/math.in.h: Likewise.
9070         * lib/netdb.in.h: Likewise.
9071         * lib/netinet_in.in.h: Likewise.
9072         * lib/poll.in.h: Likewise.
9073         * lib/pthread.in.h: Likewise.
9074         * lib/pty.in.h: Likewise.
9075         * lib/sched.in.h: Likewise.
9076         * lib/se-selinux.in.h: Likewise.
9077         * lib/search.in.h: Likewise.
9078         * lib/signal.in.h: Likewise.
9079         * lib/spawn.in.h: Likewise.
9080         * lib/stdarg.in.h: Likewise.
9081         * lib/stddef.in.h: Likewise.
9082         * lib/stdint.in.h: Likewise.
9083         * lib/stdio.in.h: Likewise.
9084         * lib/stdlib.in.h: Likewise.
9085         * lib/string.in.h: Likewise.
9086         * lib/strings.in.h: Likewise.
9087         * lib/sys_file.in.h: Likewise.
9088         * lib/sys_ioctl.in.h: Likewise.
9089         * lib/sys_select.in.h: Likewise.
9090         * lib/sys_socket.in.h: Likewise.
9091         * lib/sys_stat.in.h: Likewise.
9092         * lib/sys_time.in.h: Likewise.
9093         * lib/sys_times.in.h: Likewise.
9094         * lib/sys_utsname.in.h: Likewise.
9095         * lib/sys_wait.in.h: Likewise.
9096         * lib/sysexits.in.h: Likewise.
9097         * lib/termios.in.h: Likewise.
9098         * lib/time.in.h: Likewise.
9099         * lib/unistd.in.h: Likewise.
9100         * lib/wchar.in.h: Likewise.
9101         * lib/wctype.in.h: Likewise.
9102         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
9103         * modules/ctype (Makefile.am): Likewise.
9104         * modules/dirent (Makefile.am): Likewise.
9105         * modules/errno (Makefile.am): Likewise.
9106         * modules/fcntl-h (Makefile.am): Likewise.
9107         * modules/float (Makefile.am): Likewise.
9108         * modules/getopt-posix (Makefile.am): Likewise.
9109         * modules/iconv-h (Makefile.am): Likewise.
9110         * modules/inttypes (Makefile.am): Likewise.
9111         * modules/langinfo (Makefile.am): Likewise.
9112         * modules/locale (Makefile.am): Likewise.
9113         * modules/math (Makefile.am): Likewise.
9114         * modules/netdb (Makefile.am): Likewise.
9115         * modules/netinet_in (Makefile.am): Likewise.
9116         * modules/poll-h (Makefile.am): Likewise.
9117         * modules/pthread (Makefile.am): Likewise.
9118         * modules/pty (Makefile.am): Likewise.
9119         * modules/sched (Makefile.am): Likewise.
9120         * modules/search (Makefile.am): Likewise.
9121         * modules/selinux-h (Makefile.am): Likewise.
9122         * modules/signal (Makefile.am): Likewise.
9123         * modules/spawn (Makefile.am): Likewise.
9124         * modules/stdarg (Makefile.am): Likewise.
9125         * modules/stddef (Makefile.am): Likewise.
9126         * modules/stdint (Makefile.am): Likewise.
9127         * modules/stdio (Makefile.am): Likewise.
9128         * modules/stdlib (Makefile.am): Likewise.
9129         * modules/string (Makefile.am): Likewise.
9130         * modules/strings (Makefile.am): Likewise.
9131         * modules/sys_file (Makefile.am): Likewise.
9132         * modules/sys_ioctl (Makefile.am): Likewise.
9133         * modules/sys_select (Makefile.am): Likewise.
9134         * modules/sys_socket (Makefile.am): Likewise.
9135         * modules/sys_stat (Makefile.am): Likewise.
9136         * modules/sys_time (Makefile.am): Likewise.
9137         * modules/sys_times (Makefile.am): Likewise.
9138         * modules/sys_utsname (Makefile.am): Likewise.
9139         * modules/sys_wait (Makefile.am): Likewise.
9140         * modules/sysexits (Makefile.am): Likewise.
9141         * modules/termios (Makefile.am): Likewise.
9142         * modules/time (Makefile.am): Likewise.
9143         * modules/unistd (Makefile.am): Likewise.
9144         * modules/wchar (Makefile.am): Likewise.
9145         * modules/wctype (Makefile.am): Likewise.
9146
9147 2010-10-04  Bruno Haible  <bruno@clisp.org>
9148
9149         read-file tests: Avoid a test failure on NonStop Kernel.
9150         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
9151         a regular file.
9152         Reported by Joachim Schmitz <schmitz@hp.com>.
9153
9154 2010-10-03  Bruno Haible  <bruno@clisp.org>
9155
9156         gnulib-tool: Fixes for --create-testdir with --libtool.
9157         * gnulib-tool (func_get_automake_snippet): Don't augment
9158         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
9159         an executable.
9160         (func_create_testdir): Handle module 'alloca' like func_import.
9161         Reported by Bruce Korb <bruce.korb@gmail.com>.
9162
9163 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
9164
9165         Avoid some lines longer than 80 characters.
9166         * lib/stdint.in.h: Break long comment lines.
9167         * lib/math.in.h: Likewise.
9168         (_GL_NUM_UINT_WORDS): New macro, for readability.
9169         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
9170         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
9171         * lib/stdlib.in.h: Likewise.
9172         * lib/spawn.in.h: Likewise.
9173         * lib/sys_socket.in.h: Update an URL.
9174         * lib/sys_stat.in.h: Break long line.
9175
9176 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
9177
9178         Improve pmccabe2html.
9179         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
9180         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
9181         when the sources change. Remove the line in the HTML about "Used
9182         ranges" (which implied that there might be other unused ranges),
9183         rename "Resume" to "Summary" (easier to understand for more users).
9184         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
9185         styles, and some unnecessary blank lines.
9186
9187 2010-10-03  Bruno Haible  <bruno@clisp.org>
9188             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
9189
9190         acl: Add support for ACLs on NonStop Kernel.
9191         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
9192         Check whether the function aclsort() exists.
9193         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
9194         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
9195         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9196         (acl_nontrivial [HAVE_ACLSORT]: New function.
9197         (file_has_acl): Implement for NonStop Kernel.
9198         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9199         (qset_acl): Implement for NonStop Kernel.
9200         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
9201         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9202         (main): Implement for NonStop Kernel.
9203         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
9204         Kernel. Handle this flavor.
9205         * tests/test-set-mode-acl.sh: Likewise.
9206         * tests/test-copy-acl.sh: Likewise.
9207         * tests/test-copy-file.sh: Likewise.
9208
9209 2010-10-03  Bruno Haible  <bruno@clisp.org>
9210
9211         Info about ACLs on NonStop Kernel.
9212         * doc/acl-resources.txt: Add info about NonStop Kernel.
9213         References by Joachim Schmitz <schmitz@hp.com>.
9214
9215 2010-10-02  Bruno Haible  <bruno@clisp.org>
9216
9217         Define missing EDQUOT on NonStop Kernel.
9218         * lib/errno.in.h (EDQUOT): Assign a value if missing.
9219         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
9220         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
9221         missing.
9222         * doc/posix-headers/errno.texi: Mention the NSK bug.
9223         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
9224         Reported by Joachim Schmitz <schmitz@hp.com>.
9225
9226 2010-10-02  Bruno Haible  <bruno@clisp.org>
9227
9228         Update doc for POSIX:2008.
9229         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
9230         Update URL of POSIX specification.
9231
9232 2010-10-02  Bruno Haible  <bruno@clisp.org>
9233
9234         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
9235         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
9236         from gnulib, not from Automake.
9237
9238 2010-10-02  Bruno Haible  <bruno@clisp.org>
9239
9240         New module 'system-posix'.
9241         * modules/system-posix: New file.
9242         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
9243         module is present.
9244         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
9245         GNULIB_SYSTEM_POSIX.
9246         * modules/stdlib (Depends-on): Remove sys_wait.
9247         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
9248         * doc/posix-functions/system.texi: Mention the new module.
9249         * doc/posix-headers/stdlib.texi: Likewise.
9250         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
9251         define test_sys_wait_macros to a no-op.
9252         Reported by Sam Steingold <sds@gnu.org>.
9253
9254 2010-09-30  Bruno Haible  <bruno@clisp.org>
9255
9256         More renaming from 'getdate' to 'get_date'.
9257         * doc/get_date.texi: Renamed from doc/getdate.texi.
9258         * modules/get_date (Files): Update.
9259         * MODULES.html.sh (Date and time <time.h>): Update.
9260         * DEPENDENCIES: Update.
9261         * gnulib-tool: Update comment.
9262         * m4/bison.m4 (gl_BISON): Likewise.
9263         * m4/get_date.m4 (gl_GET_DATE): Likewise.
9264
9265 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
9266
9267         bootstrap: support ACLOCAL_FLAGS during aclocal
9268         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
9269         can add additional -I dir for third-party .m4 files.
9270
9271 2010-09-30  Eric Blake  <eblake@redhat.com>
9272
9273         bootstrap: use glibtoolize on MacOS
9274         * build-aux/bootstrap (check_versions): Convert libtool into
9275         libtoolize.
9276         (tool search): Move libtool check earlier, and look for
9277         glibtoolize for MacOS.
9278         (gnulib_tool_options): Auto-add --libtool when appropriate.
9279         Reported by Justin Clift.
9280
9281         poll: fix typo that broke test on MacOS
9282         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
9283         Reported by Justin Clift.
9284
9285         getdate: rename to get_date
9286         Note: getdate.h is not renamed, to minimize client impact.
9287         * modules/getdate: Mark obsolete.  Move old contents...
9288         * modules/get_date: ...to new module name.
9289         * modules/getdate-tests: Move...
9290         * modules/get_date-tests: ...here.
9291         * m4/getdate.m4: Move...
9292         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
9293         * lib/getdate.y: Move...
9294         * lib/get_date.y: ...here.
9295         * tests/test-getdate.c: Move...
9296         * tests/test-get_date.c: ...here.
9297         * doc/posix-functions/getdate.texi (getdate): Update name.
9298         * NEWS: Mention the change.
9299
9300 2010-09-29  Bruno Haible  <bruno@clisp.org>
9301
9302         Separate the module 'waitpid' from the module 'sys_wait'.
9303         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
9304         present.
9305         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
9306         gl_MODULE_INDICATOR_FOR_TESTS.
9307         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
9308         * modules/sys_wait (Depends-on): Remove waitpid.
9309         (Makefile.am): Substitute GNULIB_WAITPID.
9310         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
9311         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
9312         signature only if the 'waitpid' module is present.
9313         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
9314         * NEWS: Mention the change.
9315         * modules/grantpt (Depends-on): Add waitpid.
9316         * modules/wait-process (Depends-on): Likewise.
9317
9318 2010-09-29  Bruno Haible  <bruno@clisp.org>
9319
9320         More tests for module 'sys_wait'.
9321         * modules/sys_wait-c++-tests: New file.
9322         * tests/test-sys_wait-c++.cc: New file.
9323         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
9324         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9325
9326 2010-09-29  Bruno Haible  <bruno@clisp.org>
9327
9328         New module 'waitpid'.
9329         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
9330         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
9331         Don't include <process.h>.
9332         (waitpid): Declare only, using modern idiom.
9333         * m4/waitpid.m4: New file.
9334         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
9335         * modules/waitpid: New file.
9336         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
9337         (Makefile.am): Update.
9338         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9339
9340 2010-09-28  Bruno Haible  <bruno@clisp.org>
9341
9342         poll: Assume ANSI C.
9343         * lib/poll.c (poll): Use an ANSI C declaration.
9344
9345 2010-09-28  Bruno Haible  <bruno@clisp.org>
9346
9347         poll-h: Create poll.h on all platforms.
9348         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
9349         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
9350         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
9351         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
9352         (gl_REPLACE_POLL_H): Don't set POLL_H.
9353         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
9354         * modules/poll-h (Depends-on): Add include_next.
9355         (Makefile.am): Create poll.h unconditionally. Substitute also
9356         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
9357
9358 2010-09-28  Bruno Haible  <bruno@clisp.org>
9359
9360         Tests for module 'poll-h'.
9361         * modules/poll-h-c++-tests: New file.
9362         * tests/test-poll-h-c++.cc: New file.
9363
9364         Tests for module 'poll-h'.
9365         * modules/poll-h-tests: New file.
9366         * tests/test-poll-h.c: New file.
9367
9368 2010-09-28  Bruno Haible  <bruno@clisp.org>
9369
9370         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
9371         * modules/poll-h (Depends-on): Add 'extensions'.
9372
9373 2010-09-28  Bruno Haible  <bruno@clisp.org>
9374
9375         New module 'poll-h'.
9376         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
9377         (poll): Use modern idiom.
9378         * modules/poll-h: New file.
9379         * modules/poll (Files): Remove lib/poll.in.h.
9380         (Depends-on): Add poll-h.
9381         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
9382         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
9383         * m4/poll_h.m4: New file.
9384         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
9385         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
9386         and invoke gl_REPLACE_POLL_H.
9387         * lib/poll.c: Use common idiom.
9388         * tests/test-poll.c: Likewise.
9389         * doc/posix-headers/poll.texi: Mention the poll-h module.
9390         Suggested by Eric Blake.
9391
9392 2010-09-26  Bruno Haible  <bruno@clisp.org>
9393
9394         sys_wait: Implement WSTOPSIG.
9395         * lib/sys_wait.in.h (WSTOPSIG): New macro.
9396         Reported by Simon Josefsson.
9397
9398 2010-09-26  Simon Josefsson  <simon@josefsson.org>
9399
9400         stdlib, sys_wait: Avoid compilation error on mingw.
9401         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
9402
9403 2010-09-26  Bruno Haible  <bruno@clisp.org>
9404
9405         stdlib tests: Avoid code duplication.
9406         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
9407         * modules/sys_wait-tests (Files): Likewise.
9408         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
9409         * tests/test-stdlib.c: Include test-sys_wait.h.
9410         (main): Invoke test_sys_wait_macros.
9411         * tests/test-sys_wait.c: Include test-sys_wait.h.
9412         (main): Invoke test_sys_wait_macros.
9413
9414 2010-09-25  Simon Josefsson  <simon@josefsson.org>
9415
9416         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
9417         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
9418         sure Windows sockets are working before calling getaddrinfo.
9419         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
9420         * doc/gnulib.texi (Windows sockets): Fix typo.
9421
9422 2010-09-25  Bruno Haible  <bruno@clisp.org>
9423
9424         Tests for module 'regex-quote'.
9425         * modules/regex-quote-tests: New file.
9426         * tests/test-regex-quote.c: New file.
9427
9428         New module 'regex-quote'.
9429         * lib/regex-quote.h: New file.
9430         * lib/regex-quote.c: New file.
9431         * modules/regex-quote: New file.
9432         Suggested by Reuben Thomas <rrt@sc3d.org>.
9433
9434 2010-09-24  Bruno Haible  <bruno@clisp.org>
9435
9436         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
9437         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
9438
9439 2010-09-23  Bruno Haible  <bruno@clisp.org>
9440
9441         setenv: Relax license.
9442         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
9443         Blake.
9444         Requested by Eric Blake.
9445
9446 2010-09-22  Bruno Haible  <bruno@clisp.org>
9447
9448         termios: Relax license.
9449         * modules/termios (License): Change to LGPLv2+.
9450         Requested by Eric Blake.
9451
9452 2010-09-22  Bruno Haible  <bruno@clisp.org>
9453
9454         threadlib: Allow the package to change the default to 'no'.
9455         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
9456         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
9457         Reported by Paul Eggert.
9458
9459 2010-09-22  Pádraig Brady  <P@draigbrady.com>
9460             Bruno Haible  <bruno@clisp.org>
9461
9462         Fix endless loop in mbmemcasecoll.
9463         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
9464         byte.
9465         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
9466
9467 2010-09-22  Bruno Haible  <bruno@clisp.org>
9468
9469         Tests for module 'memcoll'.
9470         * modules/memcoll-tests: New file.
9471         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
9472
9473         memcoll, xmemcoll: Clarify size vs. length.
9474         * modules/memcoll.c (memcoll0): Clarify specification.
9475         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
9476         passed to collate_error.
9477
9478 2010-09-22  Bruno Haible  <bruno@clisp.org>
9479
9480         Tests for module 'memcasecmp'.
9481         * modules/memcasecmp-tests: New file.
9482         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
9483
9484 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9485
9486         * lib/pthread.in.h: Add split double-inclusion guard, and include
9487         system <pthread.h> if there is one.  Use @@-style as in other
9488         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
9489         pthread.h doesn't.
9490         (pthread_mutexattr_destroy, pthread_mutexattr_init):
9491         (pthread_mutexattr_settype, pthread_mutex_trylock):
9492         New static inline functions, if there's no system <pthread.h>.
9493         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
9494         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
9495         Approximate with mutexes if the system lacks spinlocks, as in
9496         MacOS.
9497         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
9498         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
9499         @@-style.  Check for spinlocks separately.
9500         (gl_PTHREAD_DEFAULTS): New macro.
9501         * modules/pthread: Redo to use a more typical style for in.h files.
9502
9503 2010-09-21  Eric Blake  <eblake@redhat.com>
9504
9505         net_if: enhance tests
9506         * tests/test-net_if.c (main): Move signature checks earlier.
9507         Print failures to stderr.
9508         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
9509         Document the bug that we do not yet fix.
9510
9511 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9512
9513         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
9514         about gnulib, not GSS.
9515
9516 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9517
9518         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
9519         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
9520         for Emacs.
9521         * build-aux/pmccabe2html: Make Makefile.am example code more
9522         cut-and-paste friendly.
9523
9524 2010-09-21  Simon Josefsson  <simon@josefsson.org>
9525
9526         * tests/test-net_if.c: New file.
9527         * modules/net_if-tests: New file.
9528
9529 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
9530
9531         pthread: add pthread_spin_destroy
9532         * lib/pthread.in.h (pthread_spin_destroy): New function.
9533
9534 2010-09-19  Bruno Haible  <bruno@clisp.org>
9535
9536         gnulib-tool: Fix --help output.
9537         * gnulib-tool (func_usage): Fix help message.
9538         Reported by Reuben Thomas <rrt@sc3d.org>.
9539
9540 2010-09-18  Jim Meyering  <meyering@redhat.com>
9541
9542         maint.mk: avoid unexpanded \n in two diagnostics
9543         * top/maint.mk (sc_prohibit_always_true_header_tests):
9544         Don't use a literal \n in a halt=... assignment.  It would not be
9545         expanded, and the two \n bytes would appear in the diagnostic output
9546         rather than the desired newline.  Use halt=$$(printf ... instead.
9547         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
9548
9549 2010-09-18  Bruno Haible  <bruno@clisp.org>
9550
9551         netinet_in: Doc tweak.
9552         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
9553         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9554
9555 2010-09-18  Jim Meyering  <meyering@redhat.com>
9556
9557         init.sh: correct an outdated comment
9558         * tests/init.sh (create_exe_shims_):  s/function/alias/
9559
9560         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
9561         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
9562         a file named "*.exe" is removed between the glob expansion and the
9563         processing of that oddly named file.
9564
9565 2010-09-17  Eric Blake  <eblake@redhat.com>
9566
9567         mirbsd: add some more support
9568         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
9569         in BSD family.
9570         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
9571         devices as OpenBSD.
9572         * m4/host-os.m4 (mirbsd): Add MirBSD.
9573
9574         tests: fix unportable assumption on sys/wait.h
9575         * tests/test-sys_wait.c (main): Relax test.
9576         * tests/test-stdlib.c (main): Likewise.
9577
9578         init.sh: accomodate directory with no .exes
9579         * tests/init.sh: Accomodate directory containing only scripts.
9580
9581         tests: avoid compiler warning
9582         * tests/test-stdlib.c (main): Use the variable.
9583
9584         fdutimens, fdutimensat: update signature, again
9585         * lib/utimens.h (gl_futimens): Delete, and move signature...
9586         (fdutimens): ...here.
9587         (fdutimensat): Rearrange signature.
9588         (lutimensat): Rename variable for clarity.
9589         * lib/fdutimensat.c (fdutimensat): Update signature.
9590         * lib/utimens.c (fdutimens): Likewise.
9591         (gl_futimens): Delete.
9592         (utimens, lutimens): Update callers.
9593         * lib/futimens.c (futimens): Likewise.
9594         * tests/test-fdutimensat.c: Likewise.
9595         * tests/test-utimens.c: Likewise.
9596         * tests/test-futimens.h: Update comment.
9597         * NEWS: Mention this.
9598         Suggested by Paul Eggert.
9599
9600 2010-09-17  Bruno Haible  <bruno@clisp.org>
9601
9602         Take over the maintenance of some older macros from Autoconf.
9603         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
9604         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
9605         GNU Autoconf.
9606         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
9607         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
9608
9609 2010-09-17  Eric Blake  <eblake@redhat.com>
9610
9611         fdutimensat: drop atflag validation
9612         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
9613         with valid fd, to close a race scenario where futimens is
9614         unsupported and FILE was replaced by a symlink.
9615         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
9616         accordingly.
9617         Suggested by Paul Eggert.
9618
9619 2010-09-16  Bruno Haible  <bruno@clisp.org>
9620
9621         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
9622         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
9623
9624 2010-09-16  Bruno Haible  <bruno@clisp.org>
9625
9626         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
9627         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
9628         login_tty exists.
9629         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9630
9631 2010-09-16  Bruno Haible  <bruno@clisp.org>
9632
9633         login_tty: Make the replacement code work on BSD systems.
9634         * lib/login_tty.c: Include <sys/ioctl.h>.
9635         (login_tty): Use ioctl TIOCSCTTY when available.
9636         * modules/login_tty (Depends-on): Add sys_ioctl.
9637         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9638
9639 2010-09-16  Bruno Haible  <bruno@clisp.org>
9640
9641         login_tty: Stricter unit test.
9642         * modules/login_tty-tests (Depends-on): Add tcgetsid.
9643         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
9644         and tcgetsid() after login_tty.
9645         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9646
9647 2010-09-16  Bruno Haible  <bruno@clisp.org>
9648
9649         New module 'tcgetsid'.
9650         * lib/tcgetsid.c: New file.
9651         * m4/tcgetsid.m4: New file.
9652         * modules/tcgetsid: New file.
9653         * modules/termios (Depends-on): Add c++defs, warn-on-use.
9654         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
9655         GNULIB_TCGETSID, HAVE_TCGETSID.
9656         * lib/termios.in.h: Include <sys/types.h>.
9657         (tcgetsid): New declaration.
9658         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
9659         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
9660         * doc/posix-functions/tcgetsid.texi: Mention the new module.
9661         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
9662
9663 2010-09-16  Bruno Haible  <bruno@clisp.org>
9664
9665         Tests for module 'termios'.
9666         * modules/termios-c++-tests: New file.
9667         * modules/termios-tests: New file.
9668         * tests/test-termios-c++.cc: New file.
9669         * tests/test-termios.c: New file.
9670
9671         New module 'termios'.
9672         * modules/termios: New file.
9673         * lib/termios.in.h: New file.
9674         * m4/termios_h.m4: New file.
9675         * doc/posix-headers/termios.texi: Mention the new module.
9676
9677 2010-09-16  Eric Blake  <eblake@redhat.com>
9678
9679         fdutimensat: add an atflag parameter
9680         * lib/fdutimensat.c (fdutimensat): Add new parameter.
9681         * lib/utimens.h (fdutimensat): Update prototype.
9682         * tests/test-fdutimensat.c: Adjust test to match.
9683         * NEWS: Document the change.
9684         Suggested by Paul Eggert.
9685
9686 2010-09-16  Bruno Haible  <bruno@clisp.org>
9687
9688         Fix typos in comments.
9689         * lib/striconveh.h: Fix typo in comment.
9690         * lib/login_tty.c (login_tty): Likewise.
9691
9692 2010-09-15  Bruno Haible  <bruno@clisp.org>
9693
9694         stdlib: clarify MirBSD WEXITSTATUS bug
9695         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
9696         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9697
9698 2010-09-15  Eric Blake  <eblake@redhat.com>
9699
9700         stdlib: work around MirBSD WEXITSTATUS bug
9701         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
9702         * modules/stdlib (Depends-on): Add sys_wait.
9703         * tests/test-sys_wait.c (main): Enhance test.
9704         * tests/test-stdlib.c (main): Likewise.
9705         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
9706
9707         docs: mention MacOS issue with WEXITSTATUS(constant)
9708         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
9709         issue.
9710         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9711
9712         strnlen: add tests
9713         * modules/strnlen-tests: New file.
9714         * tests/test-strnlen.c: Likewise.
9715
9716 2010-09-14  Bruno Haible  <bruno@clisp.org>
9717
9718         unistr/base: Avoid link errors when module 'libunistring' is also used.
9719         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
9720         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
9721         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
9722         Declare also when HAVE_LIBUNISTRING is set.
9723         Reported by Pádraig Brady <P@draigbrady.com>.
9724
9725 2010-09-14  Eric Blake  <eblake@redhat.com>
9726
9727         test-rawmemchr: make more robust
9728         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
9729         (Depends-on, configure.ac): Add needed prerequisites to use it.
9730         * modules/memchr-tests (Files, Depends-on, configure.ac):
9731         Likewise, to avoid implicit reliance on memchr module prereqs.
9732         * tests/test-memchr.c (main): Ensure proper masking.
9733         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
9734         reads.
9735
9736         memchr: detect glibc Alpha bug
9737         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
9738         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
9739         Alpha.
9740         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
9741         * tests/test-memchr.c (main): Enhance test.
9742         Reported by Nelson H. F. Beebe.
9743
9744 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9745
9746         fts, getcwd, glob: audit for dirfd returning -1
9747         * lib/fts.c (opendir): Remove #define; no longer used.
9748         (opendirat): New arg PDIR_FD.  All callers changed.
9749         (fts_build, _opendir2): Use new opendirat to avoid the need for
9750         dirfd, or for checking whether dirfd returns a negative value.
9751         Don't use opendir; always use openat followed by fdopendir.
9752         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
9753         it.
9754         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
9755         returns -1 here.
9756         * modules/fts (Depends-on): Remove dirfd.
9757         * modules/getcwd (Depends-on): Likewise.
9758
9759 2010-09-13  Eric Blake  <eblake@redhat.com>
9760
9761         float: fix broken MirBSD header
9762         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
9763         * doc/posix-headers/float.texi (float.h): Document it.
9764
9765 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9766
9767         fts: use O_NOFOLLOW to avoid race condition when opening a directory
9768         * lib/fts.c (opendirat): New arg extra_flags.
9769         (__opendir2): Use it to avoid following symlinks when opening
9770         a directory, if symlinks are not supposed to be followed.  See
9771         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
9772
9773         fdopendir: preserve argument fd before returning
9774         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
9775         (fdopendir_with_dup, fd_clone_opendir): New static functions.
9776         (fdopendir): Use them, arranging for FD to be open to the same
9777         directory that it was when it started.  (It might be temporarily
9778         closed while fdopendir is running, so this not thread- or
9779         signal-safe.)  Be careful to do the right thing even when file
9780         descriptors are scarce and dup fails with errno == EMFILE.  See
9781         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
9782
9783 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
9784
9785         regex: Pass the system regex if its only problem is 32-bit regoff_t.
9786         * NEWS: Document change.
9787         * m4/regex.m4: Disable test for regoff_t size.
9788
9789 2010-09-13  Jim Meyering  <meyering@redhat.com>
9790
9791         fts: don't operate on an invalid file descriptor after failed dup
9792         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
9793         negative file descriptor.
9794
9795 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
9796
9797         savedir: add streamsavedir, deprecate fdsavedir
9798         * NEWS: Mention deprecation of fdsavedir.
9799         * lib/savedir.c (streamsavedir): New extern function, whose name
9800         ends in "savedir" to be consistent with the others.  This differs
9801         from savedirstream in that it doesn't close its argument.  The
9802         next version of GNU tar will use this instead of fdsavedir, to
9803         avoid some race conditions and conserve file descriptors.
9804         (savedirstream): Reimplement as a wrapper around streamsavedir.
9805         (fdsavedir): Add a comment deprecating this function.  As far as
9806         I know, only GNU tar used it, and GNU tar doesn't need it any more.
9807         * lib/savedir.h (streamsavedir): New decl.
9808         (fdsavedir): Add a comment deprecating this.
9809
9810 2010-09-10  Bruno Haible  <bruno@clisp.org>
9811
9812         langinfo: Fix last commit.
9813         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
9814         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
9815         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9816
9817 2010-09-10  Bruno Haible  <bruno@clisp.org>
9818
9819         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
9820         * lib/progreloc.c (O_EXEC): Define fallback.
9821
9822 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
9823
9824         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
9825         * NEWS: Document recent changes to fcntl-h.
9826         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
9827         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
9828         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
9829         Similarly for O_SEARCH; this last was already true, but not documented.
9830         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
9831         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
9832         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
9833         Likewise.
9834         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
9835         is zero, not whether it is defined.
9836         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
9837         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
9838         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
9839
9840 2010-09-10  Bruno Haible  <bruno@clisp.org>
9841
9842         langinfo, nl_langinfo: Fix for IRIX 5.3.
9843         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
9844         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
9845         HAVE_LANGINFO_YESEXPR.
9846         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
9847         HAVE_LANGINFO_YESEXPR.
9848         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
9849         HAVE_LANGINFO_T_FMT_AMPM is 0.
9850         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
9851         HAVE_LANGINFO_YESEXPR is 0.
9852         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
9853         NOEXPR.
9854         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
9855         * doc/posix-functions/nl_langinfo.texi: Likewise.
9856         Reported by Eric Blake.
9857
9858 2010-09-10  Bruno Haible  <bruno@clisp.org>
9859
9860         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
9861         * doc/glibc-functions/login_tty.texi: Mention the include file problem
9862         on FreeBSD 8.0 and OpenBSD 4.6.
9863         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
9864         * m4/pty_h.m4 (gl_PTY_H): Likewise.
9865         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
9866         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
9867         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
9868         ac_includes_default.
9869         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9870
9871 2010-09-09  Eric Blake  <eblake@redhat.com>
9872
9873         strsignal: work around NetBSD bug
9874         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
9875         * lib/string.in.h (includes): Likewise.
9876         * doc/posix-functions/strsignal.texi (strsignal): Document the
9877         bug.
9878         Reported by Nelson H. F. Beebe.
9879
9880         gnulib-tool: work with NetBSD /bin/sh
9881         * gnulib-tool (func_cache_var, func_cache_lookup_module)
9882         (func_get_description, func_get_comment, func_get_status)
9883         (func_get_notice, func_get_applicability, func_get_filelist)
9884         (func_get_dependencies, func_get_autoconf_early_snippet)
9885         (func_get_autoconf_snippet, func_get_automake_snippet)
9886         (func_get_include_directive, func_get_link_directive)
9887         (func_get_license, func_get_maintainer, func_import): Avoid
9888         shell syntax errors from parsing syntax extensions.
9889
9890 2010-09-09  Bruno Haible  <bruno@clisp.org>
9891
9892         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9893         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
9894         a reliable way to determine whether the 'alias' command works.
9895
9896 2010-09-08  Jim Meyering  <meyering@redhat.com>
9897
9898         init.sh: penalize a set-x-impaired shell; don't disqualify it
9899         * tests/init.sh: Too many shells corrupt application stderr when
9900         you set -x, so we can't afford to disqualify them, since at least
9901         on Irix-6.5, that would disqualify all bourne shells.
9902         Instead, use a two-pass approach.
9903         On the first pass, try to find a shell that meets the stricter
9904         condition that set -x does not corrupt stderr.
9905         If no shell meets the stricter condition, retest each candidate
9906         shell, but without that extra condition.  Finally, when
9907         VERBOSE=yes is requested and set -x might cause trouble, simply
9908         issue a warning and refrain from enabling debug output.
9909
9910 2010-09-08  Eric Blake  <eblake@redhat.com>
9911
9912         unsetenv: fix OpenBSD bug
9913         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
9914         * doc/posix-functions/unsetenv.texi (unsetenv): Update
9915         documentation.
9916         Reported by Jim Meyering.
9917
9918         strtod: work around IRIX 6.5 bug
9919         * lib/strtod.c (strtod): Reparse number on shorter string if
9920         exponent parse was invalid.
9921         * tests/test-strtod.c (main): Add check for "0x1p 2".
9922         Reported by Tom G. Christensen.
9923
9924         getopt: optimize previous patch
9925         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
9926         empty variable.  Speed up awk script.
9927         Reported by Paolo Bonzini.
9928
9929 2010-09-08  Jim Meyering  <meyering@redhat.com>
9930
9931         test.sh: disqualify shells for which set -x corrupts stderr
9932         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
9933         and OpenBSD 4.7.  They make it so with "set -x", environment settings
9934         appear in stderr output.  For example, this command:
9935             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
9936         prints "P=1" on those two systems:
9937
9938 2010-09-08  Bruno Haible  <bruno@clisp.org>
9939
9940         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9941         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
9942         commands, because some shells ignore redirections when there is an
9943         error in the command lookup.
9944         Reported by Eric Blake.
9945
9946 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
9947
9948         * lib/regex.h: Fix a mention of `regex_compile' (should be
9949         `re_compile_pattern').
9950         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
9951         (re_set_registers): Correct name of parameter in comment.
9952
9953         * doc/regex.texi: Add documentation for missing syntax flags.
9954         Remove commented-out documentation of defunct syntax option
9955         RE_NO_EMPTY_ALTS.
9956         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
9957         Add documentation of re_set_registers.
9958         Document trick to re-use a pattern buffer by setting fastmap manually.
9959         Update documentation of struct re_pattern_buffer per public members.
9960         Uncomment documentation of equivalence class operators and
9961         collating symbol operators, since they are now implemented,
9962         Explain leftmost-longest matching in relation to alternatives.
9963         Tidy documentation of substring matching.
9964         Remove POSIX documentation, which is done better in
9965         glibc, and refer the reader there. Keep BSD API documentation, as
9966         that is not readily available elsewhere.
9967
9968 2010-09-07  Eric Blake  <eblake@redhat.com>
9969
9970         getopt: handle POSIXLY_CORRECT set but not exported
9971         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
9972         export state of POSIXLY_CORRECT, due to bash set -o posix.
9973         Reported by Dustin J. Mitchell.
9974
9975 2010-09-05  Bruno Haible  <bruno@clisp.org>
9976
9977         gnulib-tool: Highlight the changed options.
9978         * gnulib-tool (func_usage): Display the --import, --add-import,
9979         --remove-import explanations in bold font.
9980
9981 2010-09-06  Karl Berry  <karl@gnu.org>
9982
9983         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
9984
9985 2010-09-05  Bruno Haible  <bruno@clisp.org>
9986
9987         uniwidth/width: Update comment.
9988         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
9989         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
9990
9991 2010-09-05  Bruno Haible  <bruno@clisp.org>
9992
9993         isinf, isnan: Relax license.
9994         * modules/isinf (License): Change from GPL to LGPL, with consent from
9995         Ben Pfaff.
9996         * modules/isnan (License): Likewise.
9997         Requested by Ludovic Courtès.
9998
9999 2010-09-04  Bruno Haible  <bruno@clisp.org>
10000
10001         gnulib-tool: Help migration from --import to --add-import or --update.
10002         * gnulib-tool: Emit a verbose error message when --import is used
10003         without any module name.
10004
10005 2010-09-04  Bruno Haible  <bruno@clisp.org>
10006
10007         Update doc about gnulib-tool.
10008         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
10009         'gnulib-tool --update' in more detail.
10010         Reported by Eric Blake.
10011
10012 2010-09-04  Bruno Haible  <bruno@clisp.org>
10013
10014         gnulib-tool: Change --import. New options --add/remove-import.
10015         * gnulib-tool: New options --add-import, --remove-import.
10016         (func_usage): Document them.
10017         (have_associative): Define always.
10018         (func_import): In import mode, don't merge the specified settings with
10019         the cached settings. Implement remove-import mode.
10020         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
10021         Explain when to use them versus --import.
10022         (Simple update): Use --add-import instead of --import.
10023         * NEWS: Mention the change.
10024
10025 2010-09-04  Bruno Haible  <bruno@clisp.org>
10026
10027         * doc/gnulib-tool.texi (Initial import): Update paragraph about
10028         separate gnulib.mk.
10029
10030 2010-09-04  Bruno Haible  <bruno@clisp.org>
10031
10032         gnulib-tool: Don't talk about CVS any more.
10033         * gnulib-tool (func_usage, func_import): Write "version control"
10034         instead of CVS.
10035
10036 2010-09-04  Jim Meyering  <meyering@redhat.com>
10037
10038         maint.mk: avoid obscure sc_copyright_check failure in coreutils
10039         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
10040         false positives (whose names may be ill-chosen) when searching
10041         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
10042         would cause a false-positive.
10043
10044         avoid coreutils "make distcheck" failure
10045         Coreutils tests with an absolute build directory name that contains
10046         a space.  Not quoting this directory name caused a failure.
10047         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
10048         * tests/test-vc-list-files-cvs.sh: Likewise.
10049
10050 2010-09-04  Bruno Haible  <bruno@clisp.org>
10051
10052         gnulib-tool: Avoid error when run in a package without Makefile.am.
10053         * gnulib-tool: When collecting the m4dirs in a package that does not
10054         have a Makefile.am, eliminate those directories that contain no
10055         gnulib-cache.m4. Fix expression that counts these directories.
10056
10057 2010-09-04  Bruno Haible  <bruno@clisp.org>
10058
10059         update-copyright test: Improve output when perl is missing or too old.
10060         * tests/test-update-copyright.sh: Move test of Perl version down after
10061         the test whether Perl exists. Provide an explanation relating Perl's
10062         error message to Automake's SKIP: message.
10063
10064 2010-09-04  Bruno Haible  <bruno@clisp.org>
10065
10066         Don't augment PATH in TESTS_ENVIRONMENT.
10067         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
10068         set abs_aux_dir instead of augmenting PATH.
10069         * modules/vc-list-files-tests (Makefile.am): Likewise.
10070         * tests/test-update-copyright.sh: Augment PATH here.
10071         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
10072         path_prepend_.
10073         * tests/test-vc-list-files-git.sh: Likewise.
10074
10075 2010-09-04  Jim Meyering  <meyering@redhat.com>
10076
10077         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
10078         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
10079
10080 2010-09-04  Bruno Haible  <bruno@clisp.org>
10081
10082         strdup: Fix compilation error in C++ mode.
10083         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
10084         the macro.
10085
10086 2010-09-04  Bruno Haible  <bruno@clisp.org>
10087
10088         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
10089         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
10090         macro into a function.
10091         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10092
10093 2010-09-04  Bruno Haible  <bruno@clisp.org>
10094
10095         Set PATH_SEPARATOR the same way autoconf does.
10096         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
10097         the value of PATH_SEPARATOR the same way autoconf-generated configure
10098         scripts do.
10099         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
10100         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
10101
10102 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
10103
10104         Set PATH_SEPARATOR the same way autoconf does.
10105         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
10106         the same way autoconf-generated configure scripts do.
10107         * posix-modules: Likewise.
10108
10109 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10110
10111         hash: fix safe_hasher const typo
10112         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
10113         const; otherwise, there is a type error later.
10114
10115 2010-09-02  Jim Meyering  <meyering@redhat.com>
10116
10117         test-update-copyright.sh: require perl 5.8.0
10118         * tests/test-update-copyright.sh: Require 5.8.0,
10119         which Tom G. Christensen has confirmed is adequate,
10120         while 5.6.1 is not.
10121
10122 2010-09-02  Eric Blake  <eblake@redhat.com>
10123
10124         tests: init.sh improvements for re-exec'ing with zsh
10125         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
10126         -vx through shell re-exec.
10127         Reported by Tom G. Christensen.
10128
10129         wctype: fix typo in previous commit
10130         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
10131         Reported by Ludovic Courtès.
10132
10133 2010-09-02  Jim Meyering  <meyering@redhat.com>
10134
10135         test-update-copyright.sh: skip test if Perl is too old
10136         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
10137         Reported by Tom G. Christensen.
10138
10139 2010-09-02  Bruno Haible  <bruno@clisp.org>
10140
10141         wctype: Avoid compilation error on IRIX 6.5.30.
10142         * lib/wctype.in.h (iswblank): Declare with a replacement if
10143         REPLACE_ISWBLANK is set.
10144         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
10145         declared. Set REPLACE_ISWBLANK.
10146         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
10147         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
10148         * doc/posix-headers/wctype.texi: Likewise.
10149         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10150
10151 2010-09-01  Bruno Haible  <bruno@clisp.org>
10152
10153         New module 'socketlib'.
10154         * modules/socketlib: New file.
10155         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
10156         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
10157         * modules/sockets (Depends-on): Add socketlib.
10158         Suggested by Sam Steingold <sds@gnu.org>.
10159
10160 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10161
10162         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
10163
10164         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
10165         when one needs search access to a directory but not read access.
10166         On systems where it is available, it works in some cases where
10167         O_RDONLY does not, namely on directories that are searchable but
10168         not readable, and which need only to be searchable.  If O_SEARCH
10169         is not available, fall back to the traditional method of using
10170         O_RDONLY.
10171
10172         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
10173         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
10174         when opening a directory that needs only to be searchable.
10175         * lib/chdir-safer.c (chdir_no_follow): Likewise.
10176         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
10177         * lib/openat-proc.c (openat_proc_name): Likewise.
10178         * lib/openat.c (openat_needs_fchdir): Likewise.
10179         * lib/save-cwd.c (save_cwd): Likewise.
10180         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
10181
10182 2010-08-28  Bruno Haible  <bruno@clisp.org>
10183
10184         New module 'host-cpu-c-abi'.
10185         * modules/host-cpu-c-abi: New file.
10186         * m4/host-cpu-c-abi.m4: New file, based on part of
10187         clisp/src/m4/general.m4.
10188         Requested by Sam Steingold <sds@gnu.org>.
10189
10190 2010-08-31  Eric Blake  <eblake@redhat.com>
10191         and Jim Meyering  <meyering@redhat.com>
10192
10193         hash: factor, and guard against misbehaving hasher function
10194         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
10195         of table->hasher's return value.  Also protect against a hash value
10196         so large that adding it to table->bucket results in a NULL pointer.
10197         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
10198         Use it in place of open-coded check-and-abort.
10199
10200 2010-08-30  Bruno Haible  <bruno@clisp.org>
10201
10202         hash: silence spurious clang warning
10203         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
10204         Reported by Eric Blake.
10205
10206 2010-08-30  Eric Blake  <eblake@redhat.com>
10207
10208         strstr, memmem, strcasestr: avoid leaked shell message
10209         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
10210         FreeBSD.
10211         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10212         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
10213
10214         tests: silence clang warning
10215         * tests/test-malloca.c (do_allocation): Avoid dead store.
10216
10217 2010-08-29  Bruno Haible  <bruno@clisp.org>
10218
10219         gettext: Fix recent mistake.
10220         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
10221
10222 2010-08-29  Bruno Haible  <bruno@clisp.org>
10223
10224         selinux-h: Offer a --without-selinux option.
10225         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
10226         --without-selinux was specified, skip all tests and define
10227         HAVE_SELINUX_SELINUX_H to 0.
10228         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
10229         set LIB_SELINUX to empty.
10230         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
10231         gl_LIBSELINUX. If --without-selinux was specified, replace
10232         selinux/context.h.
10233         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
10234
10235 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10236             Bruno Haible  <bruno@clisp.org>
10237
10238         Make the module 'realloc-gnu' work again on AIX and OSF/1.
10239         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
10240         of HAVE_REALLOC.
10241         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
10242         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
10243         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
10244         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
10245
10246 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10247             Bruno Haible  <bruno@clisp.org>
10248
10249         Make the module 'calloc-gnu' work again on AIX and OSF/1.
10250         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
10251         HAVE_CALLOC.
10252         * lib/xmalloc.c: Update accordingly.
10253         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
10254         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
10255         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
10256
10257 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10258             Bruno Haible  <bruno@clisp.org>
10259
10260         Make the module 'malloc-gnu' work again on AIX and OSF/1.
10261         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
10262         HAVE_MALLOC.
10263         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
10264         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
10265         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
10266
10267 2010-08-29  Bruno Haible  <bruno@clisp.org>
10268
10269         Update modules list.
10270         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
10271         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
10272         (String handling <string.h>): Add astrxfrm.
10273         (File system functions): Add readlinkat.
10274
10275 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10276
10277         Tests for module 'realloc-gnu'.
10278         * modules/realloc-gnu-tests: New file.
10279         * tests/test-realloc-gnu.c: New file.
10280
10281         Tests for module 'calloc-gnu'.
10282         * modules/calloc-gnu-tests: New file.
10283         * tests/test-calloc-gnu.c: New file.
10284
10285         Tests for module 'malloc-gnu'.
10286         * modules/malloc-gnu-tests: New file.
10287         * tests/test-malloc-gnu.c: New file.
10288
10289 2010-08-28  Bruno Haible  <bruno@clisp.org>
10290
10291         Rename module 'realloc' -> 'realloc-gnu'.
10292         * modules/realloc-gnu: New file, copied from modules/realloc.
10293         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
10294         obsolete.
10295         * modules/mgetgroups (Depends-on): Update.
10296         * doc/posix-functions/realloc.texi: Update.
10297         * NEWS: Mention the change.
10298
10299         Rename module 'calloc' -> 'calloc-gnu'.
10300         * modules/calloc-gnu: New file, copied from modules/calloc.
10301         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
10302         obsolete.
10303         * doc/posix-functions/calloc.texi: Update.
10304         * NEWS: Mention the change.
10305
10306         Rename module 'malloc' -> 'malloc-gnu'.
10307         * modules/malloc-gnu: New file, copied from modules/malloc.
10308         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
10309         obsolete.
10310         * modules/argp (Depends-on): Update.
10311         * modules/regex (Depends-on): Update.
10312         * doc/posix-functions/malloc.texi: Update.
10313         * NEWS: Mention the change.
10314
10315 2010-08-28  Eric Blake  <eblake@redhat.com>
10316
10317         pread, pwrite: add missing dependency
10318         * modules/pread (Depends-on): Add extensions.
10319         * modules/pwrite (Depends-on): Likewise.
10320
10321 2010-08-28  Bruno Haible  <bruno@clisp.org>
10322
10323         unistr/u*-strchr: Fix tests dependencies.
10324         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
10325         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
10326         Reported by Ian Beckwith <ianb@erislabs.net>.
10327
10328 2010-08-28  Bruno Haible  <bruno@clisp.org>
10329
10330         read-file: Don't occupy too much unused memory.
10331         * lib/read-file.c (fread_file): Shrink the buffer at the end.
10332
10333 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
10334             Eric Blake  <eblake@redhat.com>
10335             Bruno Haible  <bruno@clisp.org>
10336
10337         read-file: Avoid memory reallocations with regular files.
10338         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
10339         (fread_file): With regular files, use the remaining length as the
10340         initial buffer size.  Check against overflow.
10341         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
10342         sys_stat.
10343
10344 2010-08-28  Bruno Haible  <bruno@clisp.org>
10345
10346         ftello: Relax license.
10347         * modules/ftello (License): Relax to LGPLv2+.
10348         Reported by Eric Blake.
10349
10350 2010-08-28  Bruno Haible  <bruno@clisp.org>
10351
10352         Avoid relocwrapper link errors due to gnulib replacement functions.
10353         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
10354         function.
10355         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10356
10357 2010-08-28  Bruno Haible  <bruno@clisp.org>
10358
10359         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
10360         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
10361         defined.
10362         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
10363         Suggested by Eric Blake.
10364
10365 2010-08-28  Bruno Haible  <bruno@clisp.org>
10366
10367         sys_socket, netdb: Ensure socklen_t gets defined.
10368         * modules/sys_socket (Depends-on): Add socklen.
10369         * modules/netdb (Depends-on): Likewise.
10370         * modules/getaddrinfo (Depends-on): Remove socklen.
10371         * modules/getsockopt (Depends-on): Likewise.
10372         * modules/setsockopt (Depends-on): Likewise.
10373         * tests/test-sys_socket.c: Check that socklen_t is defined.
10374         * tests/test-netdb.c: Likewise.
10375         * m4/socklen.m4: Update comments.
10376         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10377
10378 2010-08-27  Eric Blake  <eblake@redhat.com>
10379
10380         login_tty: add missing dependency
10381         * modules/login_tty (Depends-on): Add pty.
10382
10383 2010-08-26  Eric Blake  <eblake@redhat.com>
10384
10385         lib-symbol-versions: fix m4 quoting
10386         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
10387         format for AC_LINK_IFELSE.
10388
10389         glob: fix compile test
10390         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
10391
10392         btowc: fix missing file
10393         * modules/btowc (Files): Also ship locale-fr.m4.
10394
10395         lseek: fix link test
10396         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
10397         AC_LINK_IFELSE.
10398
10399         include_next: silence autoconf 2.68 warning
10400         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
10401         AC_COMPILE_IFELSE as special.
10402         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
10403         autoconf < 2.68.
10404
10405         acl: fix compilation test
10406         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
10407         AC_COMPILE_IFELSE.
10408
10409 2010-08-26  Bruno Haible  <bruno@clisp.org>
10410
10411         Modernize AC_TRY_RUN invocations.
10412         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
10413         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
10414         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
10415         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
10416         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
10417         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10418         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
10419         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
10420         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10421         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10422         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
10423         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10424         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
10425         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10426         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
10427         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
10428         gl_MBRLEN_NUL_RETVAL): Likewise.
10429         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10430         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
10431         Likewise.
10432         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10433         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10434         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
10435         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
10436         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
10437         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
10438         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
10439         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10440         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
10441         Likewise.
10442         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
10443         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
10444         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
10445         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10446         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10447         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
10448         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10449         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
10450         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10451         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10452
10453 2010-08-26  Bruno Haible  <bruno@clisp.org>
10454
10455         Modernize AC_TRY_LINK invocations.
10456         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
10457         AC_TRY_LINK.
10458         * m4/argp.m4 (gl_ARGP): Likewise.
10459         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10460         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10461         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
10462         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
10463         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
10464         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
10465         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10466         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10467         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
10468         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
10469         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
10470         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
10471         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
10472         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10473         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10474         * m4/hostent.m4 (gl_HOSTENT): Likewise.
10475         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10476         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
10477         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10478         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
10479         Likewise.
10480         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
10481         Likewise.
10482         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
10483         Likewise.
10484         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10485         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
10486         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
10487         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10488         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10489         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10490         * m4/servent.m4 (gl_SERVENT): Likewise.
10491         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10492         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10493         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10494         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10495         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10496         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10497         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10498         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10499         * modules/tsearch-tests (configure.ac): Likewise.
10500
10501 2010-08-26  Bruno Haible  <bruno@clisp.org>
10502
10503         Modernize AC_TRY_COMPILE invocations.
10504         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
10505         AC_TRY_COMPILE.
10506         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
10507         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
10508         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
10509         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
10510         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
10511         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
10512         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
10513         * m4/lock.m4 (gl_LOCK): Likewise.
10514         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
10515         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10516         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
10517         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
10518         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
10519         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
10520         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
10521         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
10522         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
10523         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
10524         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
10525         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
10526         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
10527         extraneous semicolon.
10528
10529 2010-08-26  Jim Meyering  <meyering@redhat.com>
10530
10531         stat-time: relax license LGPL
10532         * modules/stat-time (License): Change from GPL to LGPL,
10533         with consent from all contributors, for use in libguile.
10534         Requested by Ludovic Courtès.
10535
10536 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
10537
10538         poll: return immediately on POLLHUP.
10539         * lib/poll.c (poll): Always set timeout before wait_timeout is
10540         computed.
10541
10542 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10543
10544         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
10545         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
10546         rmdir ("dir/.//"), unlinkat.
10547
10548 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10549
10550         stdbool: avoid spurious failure with modern xlc
10551         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10552
10553 2010-08-24  Bruno Haible  <bruno@clisp.org>
10554
10555         getloadavg: simplify code
10556         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
10557         gl_have_func. Update comments.
10558
10559 2010-08-24  Eric Blake  <eblake@redhat.com>
10560
10561         getloadavg: don't define SVR4 on cygwin
10562         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
10563         only define SVR4 when -lkvm is required.
10564         Reported by Yaakov Selkowitz.
10565
10566 2010-08-24  Bruno Haible  <bruno@clisp.org>
10567
10568         priv-set: fix comment
10569         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
10570
10571 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10572
10573         priv-set: fix comments
10574         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
10575         to match code, as suggested by David Bartley in:
10576         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
10577
10578 2010-08-23  Eric Blake  <eblake@redhat.com>
10579
10580         stdbool: avoid rejecting clang
10581         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10582         * tests/test-stdbool.c: Enable more tests if using the system
10583         <stdbool.h> instead of the gnulib replacement.
10584         (main): Move xlc bug test to a runtime test for all compilers.
10585         Reported by Anders Kaseorg.
10586
10587         argz: fix shell quoting issue
10588         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
10589         Reported by Charles Wilson.
10590
10591 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
10592             Erik Faye-Lund <kusmabite@gmail.com>
10593
10594         poll, select: handle ERROR_BROKEN_PIPE.
10595         * lib/poll.c (win32_compute_revents): Return POLLHUP when
10596         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10597         * lib/select.c (win32_compute_revents): Do not mark a pipe
10598         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10599
10600 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
10601
10602         fts: allow compilation with C++
10603         * lib/fts_.h: Specify extern "C" linkage with C++.
10604
10605 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10606
10607         Fix gnulib-tool sed script de-commentation for AIX sed.
10608         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
10609         sed.
10610
10611 2010-08-17  Eric Blake  <eblake@redhat.com>
10612
10613         test-stddef: test for (some) offsetof bugs
10614         * tests/test-stddef.c: Enhance test to ensure correct type of
10615         offsetof.
10616         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
10617         that we are not fixing at this time.
10618
10619 2010-08-15  Bruno Haible  <bruno@clisp.org>
10620
10621         stpncpy: Allow stpncpy to be defined as a macro.
10622         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
10623         if it's already correctly declared.
10624         * lib/string.in.h (stpncpy): Undefine before redefining.
10625         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
10626
10627 2010-08-14  Bruno Haible  <bruno@clisp.org>
10628
10629         Rename module 'memxfrm' to 'amemxfrm'.
10630         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
10631         (amemxfrm): Renamed from memxfrm.
10632         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
10633         (amemxfrm): Renamed from memxfrm.
10634         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
10635         * NEWS: Mention the change.
10636         * MODULES.html.sh (String handling <string.h>): Update.
10637         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
10638         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
10639         * lib/unicase/u16-casexfrm.c: Likewise.
10640         * lib/unicase/u32-casexfrm.c: Likewise.
10641         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
10642         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
10643         * lib/uninorm/u16-normxfrm.c: Likewise.
10644         * lib/uninorm/u32-normxfrm.c: Likewise.
10645         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
10646         memxfrm.
10647         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
10648         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
10649         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
10650         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
10651         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
10652         Suggested by Paul Eggert.
10653
10654 2010-08-14  Bruno Haible  <bruno@clisp.org>
10655
10656         Tests for module 'astrxfrm'.
10657         * modules/astrxfrm-tests: New file.
10658         * tests/test-astrxfrm.c: New file.
10659
10660         New module 'astrxfrm'.
10661         * lib/astrxfrm.h: New file.
10662         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
10663         * modules/astrxfrm: New file.
10664
10665 2010-08-14  Reuben Thomas <rrt@sc3d.org>
10666
10667         regex: Tweak doc.
10668         * doc/regex.texi (Overview): Don't mention regex.c.
10669         (GNU Regular Expression Compiling): Likewise.
10670         (Match-end-of-line Operator): Mention 'not_eol'.
10671
10672 2010-08-14  Brian Gough  <bjg@gnu.org>
10673             Bruno Haible  <bruno@clisp.org>
10674
10675         git-merge-changelog: add doc relating to use with bzr and hg.
10676         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
10677
10678 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
10679
10680         pthread: fix pthread.h creation for srcdir != builddir
10681         * modules/pthread (Makefile.am): Fix the rule to work also in a
10682         non-srcdir build.
10683
10684 2010-08-13  Karl Berry  <karl@gnu.org>
10685
10686         * doc/regex.texi (Predefined Syntaxes): @smallexample.
10687         * doc/posix-*/*: force line break before @url of POSIX
10688         specifications.
10689         Suggested by Werner Lemberg.
10690
10691 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10692
10693         strtod: fix const diagnostic
10694         * lib/strtod.c (strtod): Don't assign const char * to char *,
10695         as this elicits a warning from GCC when warnings are enabled.
10696
10697 2010-08-10  Pádraig Brady <P@draigbrady.com>
10698         and Eric Blake  <eblake@redhat.com>
10699
10700         copy-acl: ignore ENOTSUP on HP-UX
10701         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
10702         so that it is available for HP-UX.
10703         * lib/copy-acl.c (qcopy_acl): Use it.
10704         Reported by Patrick M. Callahan.
10705
10706 2010-08-10  Eric Blake  <eblake@redhat.com>
10707
10708         open, chown: relax license
10709         * modules/open (License): Change to LGPLv2+, with consent by all
10710         authors, for use in augeas.
10711         * modules/chown (License): Likewise.
10712         * modules/lchown (Likewise): Likewise.
10713         Requested by Adam Stokes.
10714
10715 2010-08-09  Karl Berry  <karl@gnu.org>
10716
10717         * build-aux/ar-lib: new file, import from Automake.
10718         * config/srclist.txt: autocheck for updates.
10719
10720 2010-08-09  Eric Blake  <eblake@redhat.com>
10721
10722         readlinkat: adjust client modules
10723         * modules/areadlinkat (Depends-on): Use readlinkat, not
10724         symlinkat.
10725         * modules/areadlinkat-with-size (Depends-on): Likewise.
10726
10727         mknod: be more vocal about danger of running tests as root
10728         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
10729         root, since that is just asking for problems.
10730         Suggested by Bruno Haible, based on a report by Rainer Tammer.
10731
10732         readlinkat: split into its own module
10733         * modules/symlinkat: Split readlinkat...
10734         * modules/readlinkat: ...into separate module.
10735         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
10736         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
10737         * lib/symlinkat.c (readlinkat): Move...
10738         * lib/readlinkat.c: ...into new file.
10739         * modules/symlinkat-tests: Split readlinkat test...
10740         * modules/readlinkat-tests: ...into separate module.
10741         * tests/test-symlinkat.c: Split...
10742         * tests/test-readlinkat.c: ...into new file.
10743         * NEWS: Document the split.
10744         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10745         * lib/unistd.in.h (readlinkat): Likewise.
10746         Suggested by Bruno Haible.
10747
10748 2010-08-08  Bruno Haible  <bruno@clisp.org>
10749
10750         memxfrm: Speed up.
10751         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
10752         that usually only one call to strxfrm is necessary for each string
10753         part.
10754         Reported by Paul Eggert <eggert@cs.ucla.edu>.
10755
10756 2010-08-07  Karl Berry  <karl@gnu.org>
10757
10758         * doc/posix-headers/limits.texi,
10759         * doc/posix-functions/malloc.texi,
10760         * doc/posix-functions/strsignal.texi: missing @item.
10761         * doc/ld-version-script.texi: spurious leading i.
10762         * doc/regex.texi (Interval Operators): no commas inside @var.
10763
10764 2010-08-01  Bruno Haible  <bruno@clisp.org>
10765
10766         Integrate the regex documentation.
10767         * doc/gnulib.texi: Define 'cn' index.
10768         (Regular expressions): New a chapter that includes regex.texi and
10769         regexprops-generic.texi.
10770         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
10771         syntax.
10772
10773         Whitespace cleanup.
10774         * doc/regex.texi: Remove trailing spaces.
10775
10776         Add regex documentation.
10777         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
10778         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
10779         Written by Kathy A. Hargreaves and Karl Berry.
10780
10781 2010-08-01  Bruno Haible  <bruno@clisp.org>
10782
10783         link: Update documentation.
10784         * doc/posix-functions/link.texi: Update regarding Solaris.
10785
10786 2010-07-31  Bruno Haible  <bruno@clisp.org>
10787
10788         Update modules list.
10789         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
10790         (String handling <string.h>): Add memcmp2, memxfrm.
10791         (Container data structures): Add xlist, xsublist, xoset.
10792         (Core language properties): Add alignof, unused-parameter.
10793         (Process control, Numeric conversion functions <stdlib.h>): Renamed
10794         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
10795         (Unibyte characters <ctype.h>): New section.
10796         (String handling <string.h>): New section.
10797         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
10798         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
10799         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
10800         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
10801         tan, tanh, tanl, y0, y1, yn.
10802         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
10803         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
10804         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
10805         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
10806         unlockpt, vdprintf, vdprintf-posix.
10807         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
10808         (File system functions): Add concat-filename, sys_file, sys_ioctl,
10809         xconcat-filename.
10810         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
10811         getdtablesize, pipe2, pipe2-safer.
10812         (Security): New section.
10813         (Networking functions): Add accept4.
10814         (Signal handling): Add sigpipe.
10815         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
10816         mbmemcasecoll.
10817         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
10818         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
10819         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
10820         pipe-filter-ii.
10821         (Misc): Add argp-version-etc, login_tty, parse-duration.
10822
10823 2010-07-31  Bruno Haible  <bruno@clisp.org>
10824
10825         Improve doc in MODULES.html.
10826         * modules/linkat (Description): Add the word "function".
10827         * modules/mkfifo (Description): Likewise.
10828         * modules/mknod (Description): Likewise.
10829         * modules/remove (Description): Likewise.
10830         * modules/renameat (Description): Likewise.
10831         * modules/stat (Description): Likewise.
10832         * modules/symlink (Description): Likewise.
10833         * modules/unlink (Description): Likewise.
10834
10835 2010-07-31  Bruno Haible  <bruno@clisp.org>
10836
10837         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
10838         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
10839         option --enable/disable-c++ instead of --enable/disable-cxx.
10840         * NEWS: Mention the change.
10841
10842 2010-07-31  Bruno Haible  <bruno@clisp.org>
10843
10844         readlink, areadlink: Relax test a bit.
10845         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
10846         alternative to ENOTDIR.
10847         * tests/test-areadlink.h (test_areadlink): Likewise.
10848         Reported by Rainer Tammer.
10849
10850 2010-07-31  Bruno Haible  <bruno@clisp.org>
10851
10852         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
10853         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
10854         character, perform the search using U_STRCHR.
10855         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
10856         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
10857         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
10858         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
10859         Suggested by Paolo Bonzini.
10860
10861 2010-07-31  Bruno Haible  <bruno@clisp.org>
10862
10863         unistr/u*-strstr: Fix dependencies.
10864         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
10865         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
10866         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
10867
10868 2010-07-31  Bruno Haible  <bruno@clisp.org>
10869
10870         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
10871         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
10872         the beginning of the loop.
10873         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
10874         cases in 'switch' statement.
10875
10876         unistr/u8-strchr: Fix several bugs.
10877         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
10878         the string. When not found, return NULL, not a pointer near the end.
10879
10880         More tests for unistr/u8-strchr.
10881         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
10882         that the function does not read past the first occurrence of the byte
10883         being searched.
10884         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
10885         * tests/unistr/test-u16-strchr.c (main): New function.
10886         * tests/unistr/test-u32-strchr.c (main): New function.
10887
10888 2010-07-31  Bruno Haible  <bruno@clisp.org>
10889
10890         posix-modules: Ignore backup files of documentation files.
10891         * posix-modules: grep only through files named *.texi.
10892
10893 2010-07-31  Bruno Haible  <bruno@clisp.org>
10894
10895         symlinkat: Fix documentation.
10896         * doc/posix-functions/readlinkat.texi: Fix module name.
10897
10898 2010-07-31  Bruno Haible  <bruno@clisp.org>
10899
10900         fchownat: Replace also when chown has the trailing slash bug.
10901         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
10902         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
10903         introduced on 2010-04-10.
10904         Reported by Rainer Tammer.
10905
10906 2010-07-31  Bruno Haible  <bruno@clisp.org>
10907
10908         linkat: Work around AIX 7.1 bug.
10909         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
10910         whether linkat handles trailing slash correctly. If not, replace linkat
10911         and define LINKAT_TRAILING_SLASH_BUG.
10912         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
10913         check whether (fd1,file1) points to a directory if file1 or file2 ends
10914         in a slash. Code taken from lib/link.c.
10915         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
10916         Reported by Rainer Tammer.
10917
10918 2010-07-31  Bruno Haible  <bruno@clisp.org>
10919
10920         Correctly determine whether pow is available in libc on AIX 7 with xlc.
10921         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
10922         This disables an xlc optimization that was causing wrong test results.
10923         Reported by Rainer Tammer.
10924
10925 2010-07-31  Bruno Haible  <bruno@clisp.org>
10926
10927         iconv: Work around AIX 6.1..7.1 bug.
10928         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
10929         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
10930         cross-compiling, guess no on all versions of AIX.
10931         Reported by Rainer Tammer.
10932
10933 2010-07-31  Bruno Haible  <bruno@clisp.org>
10934
10935         readlink: Relax test a bit.
10936         * tests/test-readlink.h (test_readlink): Allow different errno value
10937         when readlink is called with a file name that ends in / and refers to
10938         a file.
10939         Suggested by Eric Blake.
10940         Reported by Rainer Tammer.
10941
10942 2010-07-31  Bruno Haible  <bruno@clisp.org>
10943
10944         copysign: Does not require -lm on glibc systems.
10945         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
10946         gl_COMMON_DOUBLE_MATHFUNC.
10947         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
10948
10949 2010-07-31  Bruno Haible  <bruno@clisp.org>
10950
10951         duplocale: Work around AIX 7.1 bug.
10952         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
10953         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
10954         * lib/duplocale.c (rpl_duplocale): Update comment.
10955         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
10956         Reported by Rainer Tammer.
10957
10958 2010-07-30  Bruno Haible  <bruno@clisp.org>
10959
10960         dirfd: Avoid link error on AIX 7.1.
10961         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
10962         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
10963         exist, set REPLACE_DIRFD.
10964         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
10965         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
10966         * doc/posix-functions/dirfd.texi: Update.
10967         Reported by Rainer Tammer.
10968
10969 2010-07-30  Eric Blake  <eblake@redhat.com>
10970
10971         strtod: next round of AIX fixes
10972         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
10973         exponent.
10974         * tests/test-strtod.c (main): Enhance tests.
10975         * doc/posix-functions/strtod.texi (strtod): Document next bug.
10976         Reported by Rainer Tammer.
10977
10978         futimens: fix configure check
10979         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
10980         Reported by Bruno Haible.
10981
10982 2010-07-30  Bruno Haible  <bruno@clisp.org>
10983
10984         getline: Update regarding AIX.
10985         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
10986         Reported by Rainer Tammer.
10987
10988 2010-07-30  Bruno Haible  <bruno@clisp.org>
10989
10990         wcwidth: Drop replacement on AIX 7.
10991         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
10992         AIX 7.
10993         Reported by Rainer Tammer.
10994
10995 2010-07-30  Bruno Haible  <bruno@clisp.org>
10996
10997         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
10998         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
10999         a 'char *'.
11000         Reported by Rainer Tammer.
11001
11002 2010-07-30  Bruno Haible  <bruno@clisp.org>
11003
11004         unlink: Update regarding AIX.
11005         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
11006         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
11007         Reported by Rainer Tammer.
11008
11009 2010-07-30  Bruno Haible  <bruno@clisp.org>
11010
11011         symlink: Update regarding AIX.
11012         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
11013         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
11014         Reported by Rainer Tammer.
11015
11016 2010-07-30  Bruno Haible  <bruno@clisp.org>
11017
11018         strndup: Update regarding AIX.
11019         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
11020         AIX 7.
11021         Reported by Rainer Tammer.
11022
11023 2010-07-30  Bruno Haible  <bruno@clisp.org>
11024
11025         stat: Update regarding AIX.
11026         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
11027         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
11028         Reported by Rainer Tammer.
11029
11030 2010-07-30  Bruno Haible  <bruno@clisp.org>
11031
11032         truncl: Fix autoconf test.
11033         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
11034         whether truncl works.
11035         Reported by Rainer Tammer.
11036
11037 2010-07-30  Bruno Haible  <bruno@clisp.org>
11038
11039         round: Update regarding AIX.
11040         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
11041         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
11042         Reported by Rainer Tammer.
11043
11044 2010-07-30  Bruno Haible  <bruno@clisp.org>
11045
11046         rename: Update regarding AIX.
11047         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
11048         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
11049         Reported by Rainer Tammer.
11050
11051 2010-07-30  Bruno Haible  <bruno@clisp.org>
11052
11053         printf.m4: Update regarding AIX.
11054         * m4/printf.m4: Update comments regarding AIX.
11055         Reported by Rainer Tammer.
11056
11057 2010-07-30  Bruno Haible  <bruno@clisp.org>
11058
11059         iconv: Update regarding AIX.
11060         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
11061         AIX 7.
11062         Reported by Rainer Tammer.
11063
11064 2010-07-30  Bruno Haible  <bruno@clisp.org>
11065
11066         getopt: Update regarding AIX.
11067         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
11068         no on AIX.
11069         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
11070         Reported by Rainer Tammer.
11071
11072 2010-07-30  Bruno Haible  <bruno@clisp.org>
11073
11074         ldexpl; Update regarding AIX.
11075         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
11076         on AIX 7.
11077         Reported by Rainer Tammer.
11078
11079 2010-07-30  Bruno Haible  <bruno@clisp.org>
11080
11081         frexpl: Update regarding AIX.
11082         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
11083         on AIX 7.
11084         Reported by Rainer Tammer.
11085
11086 2010-07-30  Bruno Haible  <bruno@clisp.org>
11087
11088         open, fopen: Update regarding AIX.
11089         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
11090         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11091         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
11092         * doc/posix-functions/fopen.texi: Likewise.
11093         Reported by Rainer Tammer.
11094
11095 2010-07-30  Bruno Haible  <bruno@clisp.org>
11096
11097         chown: Update doc regarding AIX.
11098         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
11099         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
11100         Reported by Rainer Tammer.
11101
11102 2010-07-30  Eric Blake  <eblake@redhat.com>
11103
11104         strtod: fix bug in replacement function on AIX
11105         * lib/strtod.c (strtod): Special case broken "0x" parse in
11106         underlying strtod.
11107         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
11108         * doc/posix-functions/strtod.texi (strtod): Likewise.
11109         Reported by Rainer Tammer.
11110
11111 2010-07-30  Bruno Haible  <bruno@clisp.org>
11112
11113         mbrlen: Fix cross-compilation guess for AIX.
11114         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
11115         guess. Leftover from 2008-12-22.
11116
11117 2010-07-30  Bruno Haible  <bruno@clisp.org>
11118
11119         mbrtowc: Fix cross-compilation guess for AIX.
11120         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
11121         guess. Leftover from 2008-12-21.
11122
11123 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
11124
11125         init.sh: work around trap limitation of some shells
11126         * tests/init.sh (setup_): Move exit trap outside of shell function.
11127
11128 2010-07-29  Eric Blake  <eblake@redhat.com>
11129
11130         strtod: aid debugging
11131         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
11132         understanding why strtod is rejected.
11133
11134 2010-07-28  Bruno Haible  <bruno@clisp.org>
11135
11136         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
11137         * lib/unistr/u8-chr.c: Include <string.h>.
11138         * tests/unistr/test-u8-chr.c: Likewise.
11139         * tests/unistr/test-u16-chr.c: Likewise.
11140         * tests/unistr/test-u32-chr.c: Likewise.
11141         * tests/unistr/test-u8-strchr.c: Likewise.
11142         * tests/unistr/test-u16-strchr.c: Likewise.
11143         * tests/unistr/test-u32-strchr.c: Likewise.
11144         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
11145         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
11146         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
11147         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
11148
11149 2010-07-28  Bruno Haible  <bruno@clisp.org>
11150
11151         Use spaces for indentation, not tabs.
11152         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
11153
11154 2010-07-27  Bruno Haible  <bruno@clisp.org>
11155
11156         mbspcasecmp: Fix function specification.
11157         * lib/string.in.h (mbspcasecmp): Fix specification comment.
11158         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
11159         Reported by Eric Blake <eblake@redhat.com>.
11160
11161 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
11162
11163         timespec: use cast and not conditional, as truncation isn't possible
11164         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
11165         instead of a conditional.  Comment about the situation in more detail.
11166         This undoes most of the 2009-10-29 patch.
11167
11168 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
11169
11170         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
11171         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
11172         * lib/unistr/u8-strchr.c: Likewise.
11173         * modules/unistr/u8-chr: Depend on memchr.
11174
11175         unistr/u*-strchr: add tests
11176         * modules/unistr/u8-strchr-tests: New file.
11177         * modules/unistr/u16-strchr-tests: New file.
11178         * modules/unistr/u32-strchr-tests: New file.
11179         * tests/unistr/test-strchr.h: New file.
11180         * tests/unistr/test-u8-strchr.c: New file.
11181         * tests/unistr/test-u16-strchr.c: New file.
11182         * tests/unistr/test-u32-strchr.c: New file.
11183
11184         unistr/u*-chr: test multibyte sequences more
11185         * tests/unistr/test-chr.h: Do complete testing of the characters in the
11186         test vector.
11187         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
11188         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
11189         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
11190
11191         unistr/u*-chr: test multibyte sequences
11192         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
11193
11194         unistr/u*-chr: prepare for multibyte tests
11195         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
11196         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
11197         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
11198         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
11199         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
11200         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
11201
11202 2010-07-18  Bruno Haible  <bruno@clisp.org>
11203
11204         unistr/u8-strchr: Optimize non-ASCII argument case.
11205         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
11206         because the first byte often matches anyway.
11207         Reported by Pádraig Brady <P@draigbrady.com>.
11208
11209 2010-07-15  Karl Berry  <karl@gnu.org>
11210
11211         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
11212
11213 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
11214
11215         getcwd: on Solaris, work better if ancestors are inaccessible
11216         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
11217         buffer and size, try again with a large buffer.  This works better
11218         on Solaris, since its getcwd succeeds even if the path to the root
11219         is inaccessible, and this is helpful in common cases such as .zfs
11220         hidden directories.  Problem reported by J Chapman Flack in
11221         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
11222         Use system getcwd if it's declared, not merely if it's partly
11223         working; use the partly-working test only to avoid needless effort
11224         if the system getcwd fails.
11225         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
11226         comment that was already obsolete and is now even more obsolete.
11227         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
11228         now might call strdup.
11229
11230 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
11231
11232         pthread: Add enough so that coreutils/src/sort.c compiles.
11233         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
11234         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
11235         gnulib. Include <sched.h> and <time.h>, as per POSIX.
11236         Include <sys/types.h>, in case it defines pthread_t.
11237         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
11238         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
11239         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
11240         (pthread_rwlockattr_t, pthread_spinlock_t):
11241         New typedefs, if HAVE_PTHREAD_T is not defined.
11242         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
11243         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
11244         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
11245         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
11246         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
11247         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
11248         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
11249         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
11250         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
11251         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
11252         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
11253         New macros.
11254         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
11255         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
11256         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
11257         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
11258         (pthread_spin_unlock): New dummy functions.
11259         (pthread_create): Return EAGAIN; don't set errno.
11260         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
11261         require AC_C_INLINE.
11262         * modules/pthread (Depends-on): Add sched, time.
11263         (pthread.h): Use AM_V_GEN.
11264
11265 2010-07-13  Bruno Haible  <bruno@clisp.org>
11266
11267         striconveh: Don't malloc memory if the result buffer is sufficient.
11268         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
11269         buffer if its size is sufficient.
11270         Reported by Ludovic Courtès <ludo@gnu.org>.
11271
11272 2010-07-13  Bruno Haible  <bruno@clisp.org>
11273
11274         strtod: Add safety check.
11275         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
11276
11277 2010-07-12  Bruno Haible  <bruno@clisp.org>
11278
11279         Unify tests that set gl_cv_func_ldexpl_no_libm.
11280         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
11281         gl_FUNC_LDEXPL.
11282         (gl_FUNC_LDEXPL): Invoke it.
11283         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11284
11285 2010-07-12  Bruno Haible  <bruno@clisp.org>
11286
11287         Unify tests that set gl_cv_func_ldexp_no_libm.
11288         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
11289         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
11290         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
11291         (configure.ac): Simply invoke gl_FUNC_LDEXP.
11292         * modules/strtod (Files): Add m4/ldexp.m4.
11293
11294 2010-07-12  Bruno Haible  <bruno@clisp.org>
11295
11296         Unify tests that set gl_cv_func_frexpl_no_libm.
11297         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
11298         gl_FUNC_FREXPL_NO_LIBM.
11299         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
11300         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11301
11302 2010-07-12  Bruno Haible  <bruno@clisp.org>
11303
11304         Unify tests that set gl_cv_func_frexp_no_libm.
11305         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
11306         gl_FUNC_FREXP_NO_LIBM.
11307         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
11308         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11309
11310 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
11311
11312         memcoll: clarify sizes versus lengths, document better, and tweak perf
11313         * lib/memcoll.c (strcoll_loop, memcoll0):
11314         Improve quality of descriptive comments.  Name variables
11315         consistently as to whether they are lengths (which do not include
11316         terminating null) versus sizes (which do).
11317         * lib/xmemcoll.c (xmemcoll0): Likewise.
11318         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
11319         returned when s1size == 0; this is easier to compile and saves
11320         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
11321
11322 2010-07-12  Bruno Haible  <bruno@clisp.org>
11323
11324         Tests for module '_Exit'.
11325         * modules/_Exit-tests: New file.
11326         * tests/test-_Exit.sh: New file.
11327         * tests/test-_Exit.c: New file.
11328
11329         New module '_Exit'.
11330         * lib/stdlib.in.h (__attribute__): New macro.
11331         (_Exit): New declaration.
11332         * lib/_Exit.c: New file.
11333         * m4/_Exit.m4: New file.
11334         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
11335         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
11336         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
11337         * modules/_Exit: New file.
11338         * tests/test-stdlib-c++.cc (_Exit): Check signature.
11339         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
11340
11341 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
11342
11343         strtod: make it more-accurate typically, and don't require libm
11344         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
11345         Include limits.h.  Don't include string.h.
11346         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
11347         (locale_isspace): New function, so that no casts are needed to
11348         check whether *s is a space.
11349         (ldexp): Provide an unused dummy if not available.
11350         (scale_radix_exp, parse_number, underlying_strtod): New functions.
11351         (strtod): Use them.  This implementation prefers to use the
11352         underlying strtod if available, falling back on our own code
11353         only to fix known bugs.  This is more likely to produce an
11354         accurate result.  Also, it avoids the use of libm functions.
11355         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
11356         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
11357         was absent, but it caused a test failure with coreutils.
11358         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
11359         with libm.
11360         * modules/strtod (Makefile.am, Link): libm is no longer needed.
11361         * modules/strtod-tests (Makefile.am): Likewise.
11362
11363 2010-07-11  Pádraig Brady  <P@draigBrady.com>
11364             Bruno Haible  <bruno@clisp.org>
11365
11366         unistr/u8-strchr: Optimize ASCII argument case.
11367         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
11368
11369 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11370
11371         (x)memcoll: minor tweaks
11372         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
11373         is after the type that it qualifies.
11374         (memcoll0): Likewise.
11375         * lib/memcoll.h (memcoll0): Likewise.
11376         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
11377         * lib/xmemcoll.h (xmemcoll0): Likewise.
11378         * lib/memcoll.c (memcoll0): Correct the comment.  This function
11379         differs from memcoll in that the NUL byte is part of the argument.
11380         Omit the abort-checks, as performance is a real issue here.  Plus,
11381         the checks were wrong anyway (an off-by-one error).  Omit local
11382         variable 'diff', as it's a bit clearer that way.
11383         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
11384         no longer needed.
11385
11386 2010-07-08  Chen Guo <chenguo4@yahoo.com>
11387
11388         (x)memcoll: speedup when input is known to be NUL delimited
11389         * lib/memcoll.c: Include stdlib.
11390         (memcoll0) New function.
11391         (strcoll_loop) New function, refactored for use in both memcoll
11392         and memcoll0.
11393         * lib/memcoll.h: Add prototype for memcoll0.
11394         * lib/xmemcoll.c: (xmemcoll0) New function.
11395         (collate_error) New function, refactored for use in both xmemcoll
11396         and xmemcoll0.
11397         * lib/xmemcoll.h: Add prototype for xmemcoll0.
11398         * m4/memcoll.m4: add inline invocation.
11399
11400 2010-07-06  Pádraig Brady  <P@draigBrady.com>
11401
11402         * build-aux/bootstrap: Remove any local translations
11403         from the translation project synchronization directory,
11404         so that local only translations are not distributed.
11405
11406 2010-07-04  Bruno Haible  <bruno@clisp.org>
11407
11408         fsusage: Clarify which code applies to which platforms.
11409         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
11410         platform.
11411         * lib/fsusage.c (get_fs_usage): Likewise.
11412
11413 2010-07-04  Bruno Haible  <bruno@clisp.org>
11414
11415         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
11416         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
11417         Reported by Martin Lambers <marlam@marlam.de>.
11418
11419 2010-07-04  Jim Meyering  <meyering@redhat.com>
11420
11421         hash: once again explicitly disallow insertion of NULL
11422         * lib/hash.c (hash_insert0): Reinstate just-removed test:
11423         inserting a NULL pointer cannot work with these functions.
11424         Add a comment with details.
11425         This reverts part of the 2010-07-01 commit, 5bef1a35
11426         "hash: extend module to deal with non-pointer keys".
11427
11428 2010-07-01  Bruno Haible  <bruno@clisp.org>
11429
11430         stdbool: Update doc.
11431         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
11432         Info from Christian Weisgerber <naddy@mips.inka.de>.
11433
11434 2010-07-01  Jim Meyering  <meyering@redhat.com>
11435
11436         hash: extend module to deal with non-pointer keys
11437         * lib/hash.c (hash_insert0): New interface, much like hash_insert
11438         but that allows insertion of non-pointer entries.
11439         Do not disallow an ENTRY value of NULL.
11440         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
11441         * lib/hash.h (hash_insert0): Declare.
11442
11443 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11444
11445         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
11446         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
11447         not present (i.e. with autoconf 2.59 and when using gettextize, not
11448         gnulib), require AC_GNU_SOURCE instead.
11449
11450 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
11451
11452         idpriv-drop: Fix tests.
11453         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
11454         not to the test-idpriv-droptemp program.
11455
11456 2010-06-29  Bruno Haible  <bruno@clisp.org>
11457
11458         string: Fix syntax error with g++ 2.96.
11459         * lib/string.in.h (__pure__): Remove definition.
11460         (_GL_ATTRIBUTE_PURE): New macro.
11461         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
11462         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
11463         Reported by Christian Weisgerber <naddy@mips.inka.de>.
11464
11465 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
11466
11467         unitypes: Fix bug introduced on 2010-05-18.
11468         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
11469
11470 2010-06-22  Eric Blake  <eblake@redhat.com>
11471
11472         memmem: slight optimization
11473         * lib/str-two-way.h (critical_factorization): Update comments.
11474         Reduce work during factorization phase.
11475         Reported by Carlos Bueno <carlos@bueno.org>.
11476
11477 2010-06-21  Bruno Haible  <bruno@clisp.org>
11478
11479         Fix HAVE_CALLOC_POSIX misnomer.
11480         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
11481         !HAVE_CALLOC_POSIX.
11482         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
11483         HAVE_CALLOC_POSIX.
11484         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
11485         instead of HAVE_CALLOC_POSIX.
11486         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
11487         HAVE_CALLOC_POSIX.
11488
11489         Use modern idiom for calloc() replacement.
11490         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
11491         AC_FUNC_CALLOC.
11492         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
11493         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
11494         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11495         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
11496         (gl_REPLACE_CALLOC): New macro.
11497
11498 2010-06-21  Bruno Haible  <bruno@clisp.org>
11499
11500         Fix HAVE_REALLOC_POSIX misnomer.
11501         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
11502         !HAVE_REALLOC_POSIX.
11503         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
11504         HAVE_REALLOC_POSIX.
11505         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
11506         instead of HAVE_REALLOC_POSIX.
11507         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
11508         HAVE_REALLOC_POSIX.
11509
11510         Use modern idiom for realloc() replacement.
11511         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
11512         AC_FUNC_REALLOC.
11513         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
11514         Autoconf's AC_FUNC_REALLOC.
11515         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11516         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
11517         (gl_REPLACE_REALLOC): New macro.
11518         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11519
11520 2010-06-21  Bruno Haible  <bruno@clisp.org>
11521
11522         Fix HAVE_MALLOC_POSIX misnomer.
11523         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
11524         !HAVE_MALLOC_POSIX.
11525         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
11526         HAVE_MALLOC_POSIX.
11527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
11528         instead of HAVE_MALLOC_POSIX.
11529         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
11530         HAVE_MALLOC_POSIX.
11531
11532         Use modern idiom for malloc() replacement.
11533         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
11534         AC_FUNC_MALLOC.
11535         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
11536         Autoconf's AC_FUNC_MALLOC.
11537         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11538         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
11539         (gl_REPLACE_MALLOC): New macro.
11540         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11541
11542 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
11543
11544         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
11545         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
11546         This macro takes 3 arguments, not 4.
11547
11548 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
11549
11550         ipv6: fix detection under mingw
11551         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
11552         in6_addr.
11553
11554 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
11555
11556         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
11557         that strtod() works when cross-compiling to a glibc version known
11558         to work.
11559
11560 2010-06-15  Bruno Haible  <bruno@clisp.org>
11561
11562         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
11563
11564 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
11565
11566         select: Correct timeout.
11567         * lib/select.c (rpl_select): Compute wait_timeout correctly.
11568
11569 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11570
11571         git-version-gen: init shell var to avoid env var influence
11572         * build-aux/git-version-gen (v): Init shell var to empty.
11573
11574 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
11575
11576         priv-set: Don't assume that priv.h exists merely because getppriv does.
11577         See Jan Andersen's bug report about AIX 5L in
11578         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
11579         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
11580         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
11581         * lib/priv-set.h: Likewise.
11582         * tests/test-priv-set.c: Likewise.
11583
11584 2010-06-13  Bruno Haible  <bruno@clisp.org>
11585
11586         relocatable: Make it easier to test whether to install wrappers.
11587         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
11588         RELOCATABLE_VIA_WRAPPER.
11589
11590 2010-06-13  Bruno Haible  <bruno@clisp.org>
11591
11592         gnulib-tool: Display specified modules and dependencies differently.
11593         * gnulib-tool (func_show_module_list): New function.
11594         (func_import, func_create_testdir): Invoke it.
11595         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
11596
11597 2010-06-13  Bruno Haible  <bruno@clisp.org>
11598
11599         gnulib-tool: Align code of func_import and func_create_testdir.
11600         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
11601         specified_modules.
11602
11603 2010-06-12  Jim Meyering  <meyering@redhat.com>
11604
11605         test-inttostr: avoid spurious failure on Solaris 9
11606         * tests/test-inttostr.c (main): Skip the test when snprintf fails
11607         to accept "%ju".  Reported by Bruno Haible.
11608
11609 2010-06-11  Jim Meyering  <meyering@redhat.com>
11610
11611         test-sys_socket: mark variables as used more readably
11612         * tests/test-sys_socket.c (main): Mark otherwise unused variables
11613         as "used" explicitly via (void) statement casts.  This is more
11614         readable than using them in an artificial return expression.
11615         Suggestion from Bruno Haible.
11616
11617 2010-06-11  Bruno Haible  <bruno@clisp.org>
11618
11619         Avoid some more warnings from "gcc -Wwrite-strings".
11620         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
11621         to 'const char *'.
11622         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
11623         * tests/test-c-strcasestr.c (main): Likewise.
11624         * tests/test-mbscasestr1.c (main): Likewise.
11625         * tests/test-mbscasestr2.c (main): Likewise.
11626         * tests/test-memmem.c (main): Likewise.
11627         * tests/test-strstr.c (main): Likewise.
11628         * tests/test-strcasestr.c (main): Likewise.
11629
11630 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11631
11632         init.sh: change framework_failure_ to fail with status 99, not 1
11633         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
11634         automake's parallel-tests rule that this is an unexpected failure,
11635         even if the test is listed in XFAIL_TESTS.
11636
11637 2010-06-11  Jim Meyering  <meyering@redhat.com>
11638
11639         test-inttostr: avoid warnings about 4-6KB literal strings
11640         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
11641         Include "macros.h", for its definition of ASSERT.
11642         (CK): s/assert/ASSERT/
11643         * modules/inttostr-tests (Files): Add macros.h.
11644
11645         init.sh: don't use $ME_ or skip_ before they are defined
11646         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
11647         their first uses.  Also hoist their companions: warn_, fail_,
11648         framework_failure_, $stderr_fileno.  Prompted by a patch from
11649         Stefano Lattarini.
11650
11651         test-sys_socket: avoid set-but-not-used warnings from gcc
11652         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
11653         avoid warning about set-but-not-used variables.
11654
11655         test-xvasprintf: avoid 'const' discard warnings
11656         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
11657         "const" when assigning from literal strings.
11658         (test_xasprintf): Add "void" in function argument list to placate
11659         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
11660
11661         tests: avoid compilation warnings in argmatch and exclude tests...
11662         in packages that define ARGMATCH_DIE_DECL, like coreutils.
11663         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
11664         Since it always exits, declare with the "noreturn" attribute.
11665         * tests/test-argmatch.c: Likewise.
11666
11667         tests: avoid 'const' discard warnings in mbsstr tests
11668         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
11669         * tests/test-mbsstr2.c (main): Likewise.
11670
11671         test-verify: avoid warning from gcc's -Wmissing-declarations
11672         * tests/test-verify.c (function): Declare to be static.
11673
11674         test-inttostr.c: include <string.h> for use of strcmp
11675         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
11676
11677         test-linkat: avoid failed assertion on "other" architectures
11678         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
11679         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
11680         sparc: https://bugs.launchpad.net/bugs/591968
11681
11682 2010-06-11  Jim Meyering  <meyering@redhat.com>
11683
11684         printf.m4: avoid autoconf's "Expanded Before Required" warning
11685         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
11686         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
11687         autoconf warning.
11688
11689 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
11690
11691         Replacement header templates are now named with ".in", not "_".
11692         * doc/gnulib-intro.texi: Correct.
11693
11694 2010-06-10  Jim Meyering  <meyering@redhat.com>
11695
11696         inttostr-tests: depend on snprintf, not snprintf-posix
11697         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
11698         snprintf-posix, to avoid this aclocal failure:
11699           missing file gnulib-tests/vasnprintf.c
11700           configure.ac:45: error: expected source file, required through \
11701           AC_LIBSOURCES, not found
11702
11703 2010-06-10  Jim Meyering  <meyering@redhat.com>
11704
11705         inttostr: add a new function, inttostr, and tests
11706         The namesake function was not available.  The existence of the
11707         template file, inttostr.c makes its addition nontrivial.
11708         * lib/anytostr.c: Rename from inttostr.c.
11709         (anytostr): Rename from inttostr.
11710         * lib/inttostr.c: New file.
11711         * modules/inttostr (Files): Add anytostr.c.
11712         (Makefile.am): Set lib_SOURCES instead of ...
11713         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
11714         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
11715         * lib/offtostr.c: Likewise.
11716         * lib/uinttostr.c: Likewise.
11717         * lib/umaxtostr.c: Likewise.
11718         * modules/inttostr-tests: New file.
11719         * tests/test-inttostr.c: New file.  Test these functions.
11720
11721 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
11722             Bruno Haible  <bruno@clisp.org>
11723
11724         Add "Extending Gnulib" chapter to manual.
11725         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
11726         chapter.
11727         (Extending Gnulib): New chapter.
11728         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
11729         chapter.
11730
11731 2010-06-09  Bruno Haible  <bruno@clisp.org>
11732
11733         Avoid relocwrapper link errors due to gnulib replacement functions.
11734         * lib/areadlink.c: Use the system's malloc, realloc functions.
11735         (areadlink): Set errno to ENOMEM explicitly.
11736         * modules/areadlink (Depends-on): Remove malloc-posix.
11737         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11738
11739 2010-06-09  Bruno Haible  <bruno@clisp.org>
11740
11741         Avoid relocwrapper link errors due to gnulib replacement functions.
11742         * lib/canonicalize-lgpl.c: Use the system's malloc function.
11743         * lib/malloca.c: Likewise.
11744         * lib/relocatable.c: Likewise.
11745         * lib/progreloc.c: Use the system's malloc, sprintf functions.
11746         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
11747         * lib/setenv.c: Use the system's malloc, realloc functions.
11748         * lib/strerror.c: Use the system's sprintf function.
11749         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11750
11751 2010-06-04  Bruno Haible  <bruno@clisp.org>
11752
11753         Prefer documented low-level autoconf macro names.
11754         * m4/lib-link.m4: Use m4_translit instead of translit.
11755         * m4/environ.m4: Likewise.
11756         * m4/mathfunc.m4: Likewise.
11757         * m4/onceonly.m4: Likewise.
11758         * m4/stdint.m4: Likewise.
11759         Suggested by Eric Blake.
11760
11761 2010-06-04  Martin Lambers  <marlam@marlam.de>
11762             Bruno Haible  <bruno@clisp.org>
11763
11764         havelib: Allow library names with '+' characters.
11765         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
11766         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
11767
11768 2010-06-09  Bruno Haible  <bruno@clisp.org>
11769
11770         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
11771         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
11772         realloc failed.
11773
11774 2010-06-08  Peter Simons  <simons@cryp.to>
11775
11776         maint.mk: make the news-check rule more configurable
11777         * top/maint.mk (news-check-lines-spec) New variable.
11778         (news-check): Use "sed -n 1,10p" in place of "head".
11779
11780 2010-06-07  Jim Meyering  <meyering@redhat.com>
11781
11782         do-release-commit-and-tag: fix typo in --help
11783         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
11784
11785         regex: avoid new dead-code warning with gcc-4.6.0
11786         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
11787         if-block containing a while-loop.  It's been unused for at least
11788         5 years.
11789
11790 2010-06-05  Bruno Haible  <bruno@clisp.org>
11791
11792         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
11793         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
11794
11795 2010-06-04  Bruno Haible  <bruno@clisp.org>
11796
11797         Update to GNU gettext 0.18.1.
11798         * modules/gettext (configure.ac): Require gettext infrastructure from
11799         version 0.18.1.
11800
11801 2010-06-03  Bruno Haible  <bruno@clisp.org>
11802
11803         Don't use AC_LIBOBJ with file names in subdirectories.
11804         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
11805         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
11806         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
11807         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
11808         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
11809         gl_LIBUNISTRING_LIBSOURCE.
11810         (Makefile.am): Augment lib_SOURCES here, conditionally.
11811         * NEWS: Drop requirement for Automake option 'subdir-objects'.
11812
11813 2010-06-03  Bruno Haible  <bruno@clisp.org>
11814
11815         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
11816         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
11817         expansion does not end with a newline.
11818         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
11819         unnecessary newline.
11820
11821 2010-06-03  Bruno Haible  <bruno@clisp.org>
11822
11823         Reduce dependencies.
11824         * tests/test-quotearg.h: New file, extracted from
11825         tests/test-quotearg.c.
11826         * tests/test-quotearg-simple.c: New file, extracted from
11827         tests/test-quotearg.c.
11828         * tests/test-quotearg.c: Don't include <ctype.h>.
11829         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
11830         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
11831         use_quote_double_quotes, use_quotearg_colon): Moved to
11832         tests/test-quotearg.h.
11833         (results_g, flag_results, custom_quotes, custom_results): Moved
11834         to tests/test-quotearg-simple.c.
11835         (main): Moved the part that does not depend on gettext to
11836         tests/test-quotearg-simple.c. Return 77 if the test cannot be
11837         performed.
11838         * modules/quotearg-simple: New file.
11839         * modules/quotearg-simple-tests: New file.
11840         * modules/quotearg (Depends-on): Add quotearg-simple.
11841         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
11842         (Files): Add tests/test-quotearg.h.
11843         Reported by Paolo Bonzini.
11844
11845 2010-06-03  Bruno Haible  <bruno@clisp.org>
11846
11847         Reduce dependencies.
11848         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
11849
11850 2010-06-03  Bruno Haible  <bruno@clisp.org>
11851
11852         time: Undefine more broken macros.
11853         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
11854         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
11855         Reported by Eric Blake.
11856
11857 2010-06-03  Bruno Haible  <bruno@clisp.org>
11858
11859         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
11860         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
11861         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
11862         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
11863         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
11864         Reported by Ludovic Courtès <ludo@gnu.org>.
11865
11866 2010-06-02  Eric Blake  <eblake@redhat.com>
11867
11868         time: work with mingw + pthreads-win32 library
11869         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
11870         if timespec is defined only in pthread.h.
11871         * modules/time (Makefile.am): Substitute it.
11872         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
11873         <pthread.h>, when needed.
11874         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
11875         from the library.
11876
11877 2010-05-31  Bruno Haible  <bruno@clisp.org>
11878
11879         Avoid expanding two macros in the wrong order.
11880         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
11881         gl_LIBUNISTRING if it is defined.
11882         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
11883         autoconf >= 2.64.
11884         Reported by Ludovic Courtès <ludo@gnu.org>.
11885
11886 2010-05-27  Jim Meyering  <meyering@redhat.com>
11887
11888         maint.mk: also prohibit "#undef" of always-defined symbols
11889         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
11890         Allow more than one space before the symbol name.
11891         (sc_prohibit_always-defined_macros): Use grep's -E, now that
11892         the regexp uses alternation.
11893
11894 2010-05-26  Eric Blake  <eblake@redhat.com>
11895
11896         maint.mk: avoid echo -e
11897         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
11898         Convert all uses of echo -* to printf.
11899         Reported by Matthias Bolte.
11900
11901 2010-05-25  Bruno Haible  <bruno@clisp.org>
11902
11903         Update to GNU gettext 0.18, part 2.
11904         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
11905         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
11906
11907 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11908
11909         Add missing include in test-pwrite.c.
11910         * tests/test-pwrite.c: Include string.h, for strcmp.
11911
11912 2010-05-24  Bruno Haible  <bruno@clisp.org>
11913
11914         * NEWS: Mention requirement for Automake option 'subdir-objects'.
11915
11916 2010-05-24  Bruno Haible  <bruno@clisp.org>
11917
11918         Don't use conversion with transliteration in u{8,16,32}_strcoll.
11919         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
11920         iconveh_error argument.
11921         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
11922         U_STRCONV_TO_LOCALE.
11923         * lib/unistr/u16-strcoll.c: Likewise.
11924         * lib/unistr/u32-strcoll.c: Likewise.
11925         * modules/unistr/u8-strcoll (Depends-on): Add
11926         uniconv/u8-strconv-to-enc, localcharset. Remove
11927         uniconv/u8-strconv-to-locale.
11928         (configure.ac): Bump version number.
11929         * modules/unistr/u16-strcoll (Depends-on): Add
11930         uniconv/u16-strconv-to-enc, localcharset. Remove
11931         uniconv/u16-strconv-to-locale.
11932         (configure.ac): Bump version number.
11933         * modules/unistr/u32-strcoll (Depends-on): Add
11934         uniconv/u32-strconv-to-enc, localcharset. Remove
11935         uniconv/u32-strconv-to-locale.
11936         (configure.ac): Bump version number.
11937
11938 2010-05-24  Bruno Haible  <bruno@clisp.org>
11939
11940         Avoid a test failure on NetBSD 5.0.
11941         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
11942         an iconv() bug.
11943
11944 2010-05-24  Bruno Haible  <bruno@clisp.org>
11945
11946         Adjust #include directive style.
11947         * modules/regex (Includes): Recommend to write <regex.h>.
11948
11949 2010-05-24  Bruno Haible  <bruno@clisp.org>
11950
11951         regex: Don't require alloca.
11952         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
11953         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
11954         only inside if (0).
11955
11956 2010-05-23  Jim Meyering  <meyering@redhat.com>
11957
11958         test-renameat.c: include <sys/stat.h>
11959         * tests/test-renameat.c: Include <sys/stat.h>; required for
11960         definition of S_IS* macros.
11961
11962 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
11963
11964         Update maintainer documentation for 'relocatable-prog' module.
11965         * doc/relocatable-maint.texi: Update.
11966         Comments by Bruno Haible.
11967
11968 2010-05-23  Bruno Haible  <bruno@clisp.org>
11969
11970         git-merge-changelog: Enable --split-merged-entry by default.
11971         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
11972         (usage): Don't mention this option any more.
11973         Reported by Ralf Wildenhues.
11974
11975 2010-05-23  Jim Meyering  <meyering@redhat.com>
11976
11977         test-pwrite: do not leave behind a test file named "out"
11978         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
11979         The trivial-looking use of init.sh is really necessary.
11980         It ensures that the temporary file, "out", is created in
11981         a temporary directory, and removed upon termination.
11982         * tests/test-pwrite.sh: Re-add file.
11983         * modules/pwrite-tests: Reference it.
11984
11985 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11986
11987         Fix output redirection buglet in init.sh.
11988         * tests/init.sh: Fix redirection of stderr.
11989
11990 2010-05-20  Simon Josefsson  <simon@josefsson.org>
11991
11992         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
11993
11994 2010-05-17  Simon Josefsson  <simon@josefsson.org>
11995
11996         * modules/valgrind-tests: New file.
11997         * m4/valgrind-tests.m4: New file.
11998         * doc/valgrind-tests.texi: New file.
11999         * doc/gnulib.texi (Running self-tests under valgrind): New
12000         section.
12001
12002 2010-05-19  Bruno Haible  <bruno@clisp.org>
12003
12004         Clean up dead code in recent commit.
12005         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
12006         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
12007         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
12008         Suggested by Paolo Bonzini.
12009
12010 2010-05-19  Bruno Haible  <bruno@clisp.org>
12011
12012         Avoid valgrind error reports from libunistring.
12013         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
12014         * modules/libunistring (Files): Add it.
12015         * modules/libunistring-optional (Files): Likewise.
12016
12017 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
12018             Bruno Haible  <bruno@clisp.org>
12019
12020         New module 'libunistring-optional'.
12021         * modules/libunistring-optional: New file.
12022         * m4/libunistring-base.m4: New file.
12023         * m4/libunistring-optional.m4: New file.
12024         * lib/unicase.in.h: Renamed from lib/unicase.h.
12025         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
12026         * lib/unictype.in.h: Renamed from lib/unictype.h.
12027         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
12028         * lib/uniname.in.h: Renamed from lib/uniname.h.
12029         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
12030         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
12031         * lib/unistr.in.h: Renamed from lib/unistr.h.
12032         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
12033         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
12034         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
12035         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
12036         gl_LIBUNISTRING. If the library was found, determine the installed
12037         version and set LIBUNISTRING_VERSION.
12038         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
12039         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
12040         handle a configuration option --with-included-libunistring.
12041         * modules/libunistring (Files): Add m4/absolute-header.m4.
12042         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
12043         Add m4/libunistring-base.m4.
12044         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12045         (Makefile.am): Build unicase.h from unicase.in.h.
12046         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
12047         Add m4/libunistring-base.m4.
12048         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12049         (Makefile.am): Build uniconv.h from uniconv.in.h.
12050         * modules/unictype/base (Files): Use unictype.in.h instead of
12051         unictype.h. Add m4/libunistring-base.m4.
12052         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12053         (Makefile.am): Build unictype.h from unictype.in.h.
12054         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
12055         Add m4/libunistring-base.m4.
12056         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12057         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
12058         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
12059         Add m4/libunistring-base.m4.
12060         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12061         (Makefile.am): Build uniname.h from uniname.in.h.
12062         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
12063         Add m4/libunistring-base.m4.
12064         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12065         (Makefile.am): Build uninorm.h from uninorm.in.h.
12066         * modules/unistdio/base (Files): Use unistdio.in.h instead of
12067         unistdio.h. Add m4/libunistring-base.m4.
12068         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12069         (Makefile.am): Build unistdio.h from unistdio.in.h.
12070         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
12071         Add m4/libunistring-base.m4.
12072         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12073         (Makefile.am): Build unistr.h from unistr.in.h.
12074         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
12075         Add m4/libunistring-base.m4.
12076         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12077         (Makefile.am): Build unitypes.h from unitypes.in.h.
12078         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
12079         Add m4/libunistring-base.m4.
12080         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12081         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
12082         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
12083         uniwidth.h. Add m4/libunistring-base.m4.
12084         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12085         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
12086         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
12087         instead of augmenting lib_SOURCES.
12088         * modules/unicase/empty-suffix-context: Likewise.
12089         * modules/unicase/locale-language: Likewise.
12090         * modules/unicase/tolower: Likewise.
12091         * modules/unicase/totitle: Likewise.
12092         * modules/unicase/toupper: Likewise.
12093         * modules/unicase/u8-casecmp: Likewise.
12094         * modules/unicase/u8-casecoll: Likewise.
12095         * modules/unicase/u8-casefold: Likewise.
12096         * modules/unicase/u8-casexfrm: Likewise.
12097         * modules/unicase/u8-ct-casefold: Likewise.
12098         * modules/unicase/u8-ct-tolower: Likewise.
12099         * modules/unicase/u8-ct-totitle: Likewise.
12100         * modules/unicase/u8-ct-toupper: Likewise.
12101         * modules/unicase/u8-is-cased: Likewise.
12102         * modules/unicase/u8-is-casefolded: Likewise.
12103         * modules/unicase/u8-is-lowercase: Likewise.
12104         * modules/unicase/u8-is-titlecase: Likewise.
12105         * modules/unicase/u8-is-uppercase: Likewise.
12106         * modules/unicase/u8-prefix-context: Likewise.
12107         * modules/unicase/u8-suffix-context: Likewise.
12108         * modules/unicase/u8-tolower: Likewise.
12109         * modules/unicase/u8-totitle: Likewise.
12110         * modules/unicase/u8-toupper: Likewise.
12111         * modules/unicase/u16-casecmp: Likewise.
12112         * modules/unicase/u16-casecoll: Likewise.
12113         * modules/unicase/u16-casefold: Likewise.
12114         * modules/unicase/u16-casexfrm: Likewise.
12115         * modules/unicase/u16-ct-casefold: Likewise.
12116         * modules/unicase/u16-ct-tolower: Likewise.
12117         * modules/unicase/u16-ct-totitle: Likewise.
12118         * modules/unicase/u16-ct-toupper: Likewise.
12119         * modules/unicase/u16-is-cased: Likewise.
12120         * modules/unicase/u16-is-casefolded: Likewise.
12121         * modules/unicase/u16-is-lowercase: Likewise.
12122         * modules/unicase/u16-is-titlecase: Likewise.
12123         * modules/unicase/u16-is-uppercase: Likewise.
12124         * modules/unicase/u16-prefix-context: Likewise.
12125         * modules/unicase/u16-suffix-context: Likewise.
12126         * modules/unicase/u16-tolower: Likewise.
12127         * modules/unicase/u16-totitle: Likewise.
12128         * modules/unicase/u16-toupper: Likewise.
12129         * modules/unicase/u32-casecmp: Likewise.
12130         * modules/unicase/u32-casecoll: Likewise.
12131         * modules/unicase/u32-casefold: Likewise.
12132         * modules/unicase/u32-casexfrm: Likewise.
12133         * modules/unicase/u32-ct-casefold: Likewise.
12134         * modules/unicase/u32-ct-tolower: Likewise.
12135         * modules/unicase/u32-ct-totitle: Likewise.
12136         * modules/unicase/u32-ct-toupper: Likewise.
12137         * modules/unicase/u32-is-cased: Likewise.
12138         * modules/unicase/u32-is-casefolded: Likewise.
12139         * modules/unicase/u32-is-lowercase: Likewise.
12140         * modules/unicase/u32-is-titlecase: Likewise.
12141         * modules/unicase/u32-is-uppercase: Likewise.
12142         * modules/unicase/u32-prefix-context: Likewise.
12143         * modules/unicase/u32-suffix-context: Likewise.
12144         * modules/unicase/u32-tolower: Likewise.
12145         * modules/unicase/u32-totitle: Likewise.
12146         * modules/unicase/u32-toupper: Likewise.
12147         * modules/unicase/ulc-casecmp: Likewise.
12148         * modules/unicase/ulc-casecoll: Likewise.
12149         * modules/unicase/ulc-casexfrm: Likewise.
12150         * modules/uniconv/u8-conv-from-enc: Likewise.
12151         * modules/uniconv/u8-conv-to-enc: Likewise.
12152         * modules/uniconv/u8-strconv-from-enc: Likewise.
12153         * modules/uniconv/u8-strconv-from-locale: Likewise.
12154         * modules/uniconv/u8-strconv-to-enc: Likewise.
12155         * modules/uniconv/u8-strconv-to-locale: Likewise.
12156         * modules/uniconv/u16-conv-from-enc: Likewise.
12157         * modules/uniconv/u16-conv-to-enc: Likewise.
12158         * modules/uniconv/u16-strconv-from-enc: Likewise.
12159         * modules/uniconv/u16-strconv-from-locale: Likewise.
12160         * modules/uniconv/u16-strconv-to-enc: Likewise.
12161         * modules/uniconv/u16-strconv-to-locale: Likewise.
12162         * modules/uniconv/u32-conv-from-enc: Likewise.
12163         * modules/uniconv/u32-conv-to-enc: Likewise.
12164         * modules/uniconv/u32-strconv-from-enc: Likewise.
12165         * modules/uniconv/u32-strconv-from-locale: Likewise.
12166         * modules/uniconv/u32-strconv-to-enc: Likewise.
12167         * modules/uniconv/u32-strconv-to-locale: Likewise.
12168         * modules/unictype/bidicategory-byname: Likewise.
12169         * modules/unictype/bidicategory-name: Likewise.
12170         * modules/unictype/bidicategory-of: Likewise.
12171         * modules/unictype/bidicategory-test: Likewise.
12172         * modules/unictype/block-list: Likewise.
12173         * modules/unictype/block-test: Likewise.
12174         * modules/unictype/category-C: Likewise.
12175         * modules/unictype/category-Cc: Likewise.
12176         * modules/unictype/category-Cf: Likewise.
12177         * modules/unictype/category-Cn: Likewise.
12178         * modules/unictype/category-Co: Likewise.
12179         * modules/unictype/category-Cs: Likewise.
12180         * modules/unictype/category-L: Likewise.
12181         * modules/unictype/category-Ll: Likewise.
12182         * modules/unictype/category-Lm: Likewise.
12183         * modules/unictype/category-Lo: Likewise.
12184         * modules/unictype/category-Lt: Likewise.
12185         * modules/unictype/category-Lu: Likewise.
12186         * modules/unictype/category-M: Likewise.
12187         * modules/unictype/category-Mc: Likewise.
12188         * modules/unictype/category-Me: Likewise.
12189         * modules/unictype/category-Mn: Likewise.
12190         * modules/unictype/category-N: Likewise.
12191         * modules/unictype/category-Nd: Likewise.
12192         * modules/unictype/category-Nl: Likewise.
12193         * modules/unictype/category-No: Likewise.
12194         * modules/unictype/category-P: Likewise.
12195         * modules/unictype/category-Pc: Likewise.
12196         * modules/unictype/category-Pd: Likewise.
12197         * modules/unictype/category-Pe: Likewise.
12198         * modules/unictype/category-Pf: Likewise.
12199         * modules/unictype/category-Pi: Likewise.
12200         * modules/unictype/category-Po: Likewise.
12201         * modules/unictype/category-Ps: Likewise.
12202         * modules/unictype/category-S: Likewise.
12203         * modules/unictype/category-Sc: Likewise.
12204         * modules/unictype/category-Sk: Likewise.
12205         * modules/unictype/category-Sm: Likewise.
12206         * modules/unictype/category-So: Likewise.
12207         * modules/unictype/category-Z: Likewise.
12208         * modules/unictype/category-Zl: Likewise.
12209         * modules/unictype/category-Zp: Likewise.
12210         * modules/unictype/category-Zs: Likewise.
12211         * modules/unictype/category-and: Likewise.
12212         * modules/unictype/category-and-not: Likewise.
12213         * modules/unictype/category-byname: Likewise.
12214         * modules/unictype/category-name: Likewise.
12215         * modules/unictype/category-none: Likewise.
12216         * modules/unictype/category-of: Likewise.
12217         * modules/unictype/category-or: Likewise.
12218         * modules/unictype/category-test: Likewise.
12219         * modules/unictype/combining-class: Likewise.
12220         * modules/unictype/ctype-alnum: Likewise.
12221         * modules/unictype/ctype-alpha: Likewise.
12222         * modules/unictype/ctype-blank: Likewise.
12223         * modules/unictype/ctype-cntrl: Likewise.
12224         * modules/unictype/ctype-digit: Likewise.
12225         * modules/unictype/ctype-graph: Likewise.
12226         * modules/unictype/ctype-lower: Likewise.
12227         * modules/unictype/ctype-print: Likewise.
12228         * modules/unictype/ctype-punct: Likewise.
12229         * modules/unictype/ctype-space: Likewise.
12230         * modules/unictype/ctype-upper: Likewise.
12231         * modules/unictype/ctype-xdigit: Likewise.
12232         * modules/unictype/decimal-digit: Likewise.
12233         * modules/unictype/digit: Likewise.
12234         * modules/unictype/mirror: Likewise.
12235         * modules/unictype/numeric: Likewise.
12236         * modules/unictype/property-alphabetic: Likewise.
12237         * modules/unictype/property-ascii-hex-digit: Likewise.
12238         * modules/unictype/property-bidi-arabic-digit: Likewise.
12239         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
12240         * modules/unictype/property-bidi-block-separator: Likewise.
12241         * modules/unictype/property-bidi-boundary-neutral: Likewise.
12242         * modules/unictype/property-bidi-common-separator: Likewise.
12243         * modules/unictype/property-bidi-control: Likewise.
12244         * modules/unictype/property-bidi-embedding-or-override: Likewise.
12245         * modules/unictype/property-bidi-eur-num-separator: Likewise.
12246         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
12247         * modules/unictype/property-bidi-european-digit: Likewise.
12248         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
12249         * modules/unictype/property-bidi-left-to-right: Likewise.
12250         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
12251         * modules/unictype/property-bidi-other-neutral: Likewise.
12252         * modules/unictype/property-bidi-pdf: Likewise.
12253         * modules/unictype/property-bidi-segment-separator: Likewise.
12254         * modules/unictype/property-bidi-whitespace: Likewise.
12255         * modules/unictype/property-byname: Likewise.
12256         * modules/unictype/property-combining: Likewise.
12257         * modules/unictype/property-composite: Likewise.
12258         * modules/unictype/property-currency-symbol: Likewise.
12259         * modules/unictype/property-dash: Likewise.
12260         * modules/unictype/property-decimal-digit: Likewise.
12261         * modules/unictype/property-default-ignorable-code-point: Likewise.
12262         * modules/unictype/property-deprecated: Likewise.
12263         * modules/unictype/property-diacritic: Likewise.
12264         * modules/unictype/property-extender: Likewise.
12265         * modules/unictype/property-format-control: Likewise.
12266         * modules/unictype/property-grapheme-base: Likewise.
12267         * modules/unictype/property-grapheme-extend: Likewise.
12268         * modules/unictype/property-grapheme-link: Likewise.
12269         * modules/unictype/property-hex-digit: Likewise.
12270         * modules/unictype/property-hyphen: Likewise.
12271         * modules/unictype/property-id-continue: Likewise.
12272         * modules/unictype/property-id-start: Likewise.
12273         * modules/unictype/property-ideographic: Likewise.
12274         * modules/unictype/property-ids-binary-operator: Likewise.
12275         * modules/unictype/property-ids-trinary-operator: Likewise.
12276         * modules/unictype/property-ignorable-control: Likewise.
12277         * modules/unictype/property-iso-control: Likewise.
12278         * modules/unictype/property-join-control: Likewise.
12279         * modules/unictype/property-left-of-pair: Likewise.
12280         * modules/unictype/property-line-separator: Likewise.
12281         * modules/unictype/property-logical-order-exception: Likewise.
12282         * modules/unictype/property-lowercase: Likewise.
12283         * modules/unictype/property-math: Likewise.
12284         * modules/unictype/property-non-break: Likewise.
12285         * modules/unictype/property-not-a-character: Likewise.
12286         * modules/unictype/property-numeric: Likewise.
12287         * modules/unictype/property-other-alphabetic: Likewise.
12288         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
12289         * modules/unictype/property-other-grapheme-extend: Likewise.
12290         * modules/unictype/property-other-id-continue: Likewise.
12291         * modules/unictype/property-other-id-start: Likewise.
12292         * modules/unictype/property-other-lowercase: Likewise.
12293         * modules/unictype/property-other-math: Likewise.
12294         * modules/unictype/property-other-uppercase: Likewise.
12295         * modules/unictype/property-paired-punctuation: Likewise.
12296         * modules/unictype/property-paragraph-separator: Likewise.
12297         * modules/unictype/property-pattern-syntax: Likewise.
12298         * modules/unictype/property-pattern-white-space: Likewise.
12299         * modules/unictype/property-private-use: Likewise.
12300         * modules/unictype/property-punctuation: Likewise.
12301         * modules/unictype/property-quotation-mark: Likewise.
12302         * modules/unictype/property-radical: Likewise.
12303         * modules/unictype/property-sentence-terminal: Likewise.
12304         * modules/unictype/property-soft-dotted: Likewise.
12305         * modules/unictype/property-space: Likewise.
12306         * modules/unictype/property-terminal-punctuation: Likewise.
12307         * modules/unictype/property-test: Likewise.
12308         * modules/unictype/property-titlecase: Likewise.
12309         * modules/unictype/property-unassigned-code-value: Likewise.
12310         * modules/unictype/property-unified-ideograph: Likewise.
12311         * modules/unictype/property-uppercase: Likewise.
12312         * modules/unictype/property-variation-selector: Likewise.
12313         * modules/unictype/property-white-space: Likewise.
12314         * modules/unictype/property-xid-continue: Likewise.
12315         * modules/unictype/property-xid-start: Likewise.
12316         * modules/unictype/property-zero-width: Likewise.
12317         * modules/unictype/scripts: Likewise.
12318         * modules/unictype/syntax-c-ident: Likewise.
12319         * modules/unictype/syntax-c-whitespace: Likewise.
12320         * modules/unictype/syntax-java-ident: Likewise.
12321         * modules/unictype/syntax-java-whitespace: Likewise.
12322         * modules/unilbrk/u8-possible-linebreaks: Likewise.
12323         * modules/unilbrk/u8-width-linebreaks: Likewise.
12324         * modules/unilbrk/u16-possible-linebreaks: Likewise.
12325         * modules/unilbrk/u16-width-linebreaks: Likewise.
12326         * modules/unilbrk/u32-possible-linebreaks: Likewise.
12327         * modules/unilbrk/u32-width-linebreaks: Likewise.
12328         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
12329         * modules/unilbrk/ulc-width-linebreaks: Likewise.
12330         * modules/uniname/uniname: Likewise.
12331         * modules/uninorm/canonical-decomposition: Likewise.
12332         * modules/uninorm/composition: Likewise.
12333         * modules/uninorm/decomposing-form: Likewise.
12334         * modules/uninorm/decomposition: Likewise.
12335         * modules/uninorm/filter: Likewise.
12336         * modules/uninorm/nfc: Likewise.
12337         * modules/uninorm/nfd: Likewise.
12338         * modules/uninorm/nfkc: Likewise.
12339         * modules/uninorm/nfkd: Likewise.
12340         * modules/uninorm/u8-normalize: Likewise.
12341         * modules/uninorm/u8-normcmp: Likewise.
12342         * modules/uninorm/u8-normcoll: Likewise.
12343         * modules/uninorm/u8-normxfrm: Likewise.
12344         * modules/uninorm/u16-normalize: Likewise.
12345         * modules/uninorm/u16-normcmp: Likewise.
12346         * modules/uninorm/u16-normcoll: Likewise.
12347         * modules/uninorm/u16-normxfrm: Likewise.
12348         * modules/uninorm/u32-normalize: Likewise.
12349         * modules/uninorm/u32-normcmp: Likewise.
12350         * modules/uninorm/u32-normcoll: Likewise.
12351         * modules/uninorm/u32-normxfrm: Likewise.
12352         * modules/unistdio/u8-asnprintf: Likewise.
12353         * modules/unistdio/u8-asprintf: Likewise.
12354         * modules/unistdio/u8-snprintf: Likewise.
12355         * modules/unistdio/u8-sprintf: Likewise.
12356         * modules/unistdio/u8-u8-asnprintf: Likewise.
12357         * modules/unistdio/u8-u8-asprintf: Likewise.
12358         * modules/unistdio/u8-u8-snprintf: Likewise.
12359         * modules/unistdio/u8-u8-sprintf: Likewise.
12360         * modules/unistdio/u8-u8-vasnprintf: Likewise.
12361         * modules/unistdio/u8-u8-vasprintf: Likewise.
12362         * modules/unistdio/u8-u8-vsnprintf: Likewise.
12363         * modules/unistdio/u8-u8-vsprintf: Likewise.
12364         * modules/unistdio/u8-vasnprintf: Likewise.
12365         * modules/unistdio/u8-vasprintf: Likewise.
12366         * modules/unistdio/u8-vsnprintf: Likewise.
12367         * modules/unistdio/u8-vsprintf: Likewise.
12368         * modules/unistdio/u16-asnprintf: Likewise.
12369         * modules/unistdio/u16-asprintf: Likewise.
12370         * modules/unistdio/u16-snprintf: Likewise.
12371         * modules/unistdio/u16-sprintf: Likewise.
12372         * modules/unistdio/u16-u16-asnprintf: Likewise.
12373         * modules/unistdio/u16-u16-asprintf: Likewise.
12374         * modules/unistdio/u16-u16-snprintf: Likewise.
12375         * modules/unistdio/u16-u16-sprintf: Likewise.
12376         * modules/unistdio/u16-u16-vasnprintf: Likewise.
12377         * modules/unistdio/u16-u16-vasprintf: Likewise.
12378         * modules/unistdio/u16-u16-vsnprintf: Likewise.
12379         * modules/unistdio/u16-u16-vsprintf: Likewise.
12380         * modules/unistdio/u16-vasnprintf: Likewise.
12381         * modules/unistdio/u16-vasprintf: Likewise.
12382         * modules/unistdio/u16-vsnprintf: Likewise.
12383         * modules/unistdio/u16-vsprintf: Likewise.
12384         * modules/unistdio/u32-asnprintf: Likewise.
12385         * modules/unistdio/u32-asprintf: Likewise.
12386         * modules/unistdio/u32-snprintf: Likewise.
12387         * modules/unistdio/u32-sprintf: Likewise.
12388         * modules/unistdio/u32-u32-asnprintf: Likewise.
12389         * modules/unistdio/u32-u32-asprintf: Likewise.
12390         * modules/unistdio/u32-u32-snprintf: Likewise.
12391         * modules/unistdio/u32-u32-sprintf: Likewise.
12392         * modules/unistdio/u32-u32-vasnprintf: Likewise.
12393         * modules/unistdio/u32-u32-vasprintf: Likewise.
12394         * modules/unistdio/u32-u32-vsnprintf: Likewise.
12395         * modules/unistdio/u32-u32-vsprintf: Likewise.
12396         * modules/unistdio/u32-vasnprintf: Likewise.
12397         * modules/unistdio/u32-vasprintf: Likewise.
12398         * modules/unistdio/u32-vsnprintf: Likewise.
12399         * modules/unistdio/u32-vsprintf: Likewise.
12400         * modules/unistdio/ulc-asnprintf: Likewise.
12401         * modules/unistdio/ulc-asprintf: Likewise.
12402         * modules/unistdio/ulc-fprintf: Likewise.
12403         * modules/unistdio/ulc-snprintf: Likewise.
12404         * modules/unistdio/ulc-sprintf: Likewise.
12405         * modules/unistdio/ulc-vasnprintf: Likewise.
12406         * modules/unistdio/ulc-vasprintf: Likewise.
12407         * modules/unistdio/ulc-vfprintf: Likewise.
12408         * modules/unistdio/ulc-vsnprintf: Likewise.
12409         * modules/unistdio/ulc-vsprintf: Likewise.
12410         * modules/unistr/u8-check: Likewise.
12411         * modules/unistr/u8-chr: Likewise.
12412         * modules/unistr/u8-cmp: Likewise.
12413         * modules/unistr/u8-cmp2: Likewise.
12414         * modules/unistr/u8-cpy: Likewise.
12415         * modules/unistr/u8-cpy-alloc: Likewise.
12416         * modules/unistr/u8-endswith: Likewise.
12417         * modules/unistr/u8-mblen: Likewise.
12418         * modules/unistr/u8-mbsnlen: Likewise.
12419         * modules/unistr/u8-mbtouc: Likewise.
12420         * modules/unistr/u8-mbtouc-unsafe: Likewise.
12421         * modules/unistr/u8-mbtoucr: Likewise.
12422         * modules/unistr/u8-move: Likewise.
12423         * modules/unistr/u8-next: Likewise.
12424         * modules/unistr/u8-prev: Likewise.
12425         * modules/unistr/u8-set: Likewise.
12426         * modules/unistr/u8-startswith: Likewise.
12427         * modules/unistr/u8-stpcpy: Likewise.
12428         * modules/unistr/u8-stpncpy: Likewise.
12429         * modules/unistr/u8-strcat: Likewise.
12430         * modules/unistr/u8-strchr: Likewise.
12431         * modules/unistr/u8-strcmp: Likewise.
12432         * modules/unistr/u8-strcoll: Likewise.
12433         * modules/unistr/u8-strcpy: Likewise.
12434         * modules/unistr/u8-strcspn: Likewise.
12435         * modules/unistr/u8-strdup: Likewise.
12436         * modules/unistr/u8-strlen: Likewise.
12437         * modules/unistr/u8-strmblen: Likewise.
12438         * modules/unistr/u8-strmbtouc: Likewise.
12439         * modules/unistr/u8-strncat: Likewise.
12440         * modules/unistr/u8-strncmp: Likewise.
12441         * modules/unistr/u8-strncpy: Likewise.
12442         * modules/unistr/u8-strnlen: Likewise.
12443         * modules/unistr/u8-strpbrk: Likewise.
12444         * modules/unistr/u8-strrchr: Likewise.
12445         * modules/unistr/u8-strspn: Likewise.
12446         * modules/unistr/u8-strstr: Likewise.
12447         * modules/unistr/u8-strtok: Likewise.
12448         * modules/unistr/u8-to-u16: Likewise.
12449         * modules/unistr/u8-to-u32: Likewise.
12450         * modules/unistr/u8-uctomb: Likewise.
12451         * modules/unistr/u16-check: Likewise.
12452         * modules/unistr/u16-chr: Likewise.
12453         * modules/unistr/u16-cmp: Likewise.
12454         * modules/unistr/u16-cmp2: Likewise.
12455         * modules/unistr/u16-cpy: Likewise.
12456         * modules/unistr/u16-cpy-alloc: Likewise.
12457         * modules/unistr/u16-endswith: Likewise.
12458         * modules/unistr/u16-mblen: Likewise.
12459         * modules/unistr/u16-mbsnlen: Likewise.
12460         * modules/unistr/u16-mbtouc: Likewise.
12461         * modules/unistr/u16-mbtouc-unsafe: Likewise.
12462         * modules/unistr/u16-mbtoucr: Likewise.
12463         * modules/unistr/u16-move: Likewise.
12464         * modules/unistr/u16-next: Likewise.
12465         * modules/unistr/u16-prev: Likewise.
12466         * modules/unistr/u16-set: Likewise.
12467         * modules/unistr/u16-startswith: Likewise.
12468         * modules/unistr/u16-stpcpy: Likewise.
12469         * modules/unistr/u16-stpncpy: Likewise.
12470         * modules/unistr/u16-strcat: Likewise.
12471         * modules/unistr/u16-strchr: Likewise.
12472         * modules/unistr/u16-strcmp: Likewise.
12473         * modules/unistr/u16-strcoll: Likewise.
12474         * modules/unistr/u16-strcpy: Likewise.
12475         * modules/unistr/u16-strcspn: Likewise.
12476         * modules/unistr/u16-strdup: Likewise.
12477         * modules/unistr/u16-strlen: Likewise.
12478         * modules/unistr/u16-strmblen: Likewise.
12479         * modules/unistr/u16-strmbtouc: Likewise.
12480         * modules/unistr/u16-strncat: Likewise.
12481         * modules/unistr/u16-strncmp: Likewise.
12482         * modules/unistr/u16-strncpy: Likewise.
12483         * modules/unistr/u16-strnlen: Likewise.
12484         * modules/unistr/u16-strpbrk: Likewise.
12485         * modules/unistr/u16-strrchr: Likewise.
12486         * modules/unistr/u16-strspn: Likewise.
12487         * modules/unistr/u16-strstr: Likewise.
12488         * modules/unistr/u16-strtok: Likewise.
12489         * modules/unistr/u16-to-u32: Likewise.
12490         * modules/unistr/u16-to-u8: Likewise.
12491         * modules/unistr/u16-uctomb: Likewise.
12492         * modules/unistr/u32-check: Likewise.
12493         * modules/unistr/u32-chr: Likewise.
12494         * modules/unistr/u32-cmp: Likewise.
12495         * modules/unistr/u32-cmp2: Likewise.
12496         * modules/unistr/u32-cpy: Likewise.
12497         * modules/unistr/u32-cpy-alloc: Likewise.
12498         * modules/unistr/u32-endswith: Likewise.
12499         * modules/unistr/u32-mblen: Likewise.
12500         * modules/unistr/u32-mbsnlen: Likewise.
12501         * modules/unistr/u32-mbtouc: Likewise.
12502         * modules/unistr/u32-mbtouc-unsafe: Likewise.
12503         * modules/unistr/u32-mbtoucr: Likewise.
12504         * modules/unistr/u32-move: Likewise.
12505         * modules/unistr/u32-next: Likewise.
12506         * modules/unistr/u32-prev: Likewise.
12507         * modules/unistr/u32-set: Likewise.
12508         * modules/unistr/u32-startswith: Likewise.
12509         * modules/unistr/u32-stpcpy: Likewise.
12510         * modules/unistr/u32-stpncpy: Likewise.
12511         * modules/unistr/u32-strcat: Likewise.
12512         * modules/unistr/u32-strchr: Likewise.
12513         * modules/unistr/u32-strcmp: Likewise.
12514         * modules/unistr/u32-strcoll: Likewise.
12515         * modules/unistr/u32-strcpy: Likewise.
12516         * modules/unistr/u32-strcspn: Likewise.
12517         * modules/unistr/u32-strdup: Likewise.
12518         * modules/unistr/u32-strlen: Likewise.
12519         * modules/unistr/u32-strmblen: Likewise.
12520         * modules/unistr/u32-strmbtouc: Likewise.
12521         * modules/unistr/u32-strncat: Likewise.
12522         * modules/unistr/u32-strncmp: Likewise.
12523         * modules/unistr/u32-strncpy: Likewise.
12524         * modules/unistr/u32-strnlen: Likewise.
12525         * modules/unistr/u32-strpbrk: Likewise.
12526         * modules/unistr/u32-strrchr: Likewise.
12527         * modules/unistr/u32-strspn: Likewise.
12528         * modules/unistr/u32-strstr: Likewise.
12529         * modules/unistr/u32-strtok: Likewise.
12530         * modules/unistr/u32-to-u16: Likewise.
12531         * modules/unistr/u32-to-u8: Likewise.
12532         * modules/unistr/u32-uctomb: Likewise.
12533         * modules/uniwbrk/u8-wordbreaks: Likewise.
12534         * modules/uniwbrk/u16-wordbreaks: Likewise.
12535         * modules/uniwbrk/u32-wordbreaks: Likewise.
12536         * modules/uniwbrk/ulc-wordbreaks: Likewise.
12537         * modules/uniwbrk/wordbreak-property: Likewise.
12538         * modules/uniwidth/u8-strwidth: Likewise.
12539         * modules/uniwidth/u8-width: Likewise.
12540         * modules/uniwidth/u16-strwidth: Likewise.
12541         * modules/uniwidth/u16-width: Likewise.
12542         * modules/uniwidth/u32-strwidth: Likewise.
12543         * modules/uniwidth/u32-width: Likewise.
12544         * modules/uniwidth/width: Likewise.
12545         * modules/unicase/cased-tests (Makefile.am): Link all test programs
12546         with $(LIBUNISTRING).
12547         * modules/unicase/ignorable-tests: Likewise.
12548         * modules/unicase/locale-language-tests: Likewise.
12549         * modules/unicase/tolower-tests: Likewise.
12550         * modules/unicase/totitle-tests: Likewise.
12551         * modules/unicase/toupper-tests: Likewise.
12552         * modules/unicase/u8-casecmp-tests: Likewise.
12553         * modules/unicase/u8-casecoll-tests: Likewise.
12554         * modules/unicase/u8-casefold-tests: Likewise.
12555         * modules/unicase/u8-is-cased-tests: Likewise.
12556         * modules/unicase/u8-is-casefolded-tests: Likewise.
12557         * modules/unicase/u8-is-lowercase-tests: Likewise.
12558         * modules/unicase/u8-is-titlecase-tests: Likewise.
12559         * modules/unicase/u8-is-uppercase-tests: Likewise.
12560         * modules/unicase/u8-tolower-tests: Likewise.
12561         * modules/unicase/u8-totitle-tests: Likewise.
12562         * modules/unicase/u8-toupper-tests: Likewise.
12563         * modules/unicase/u16-casecmp-tests: Likewise.
12564         * modules/unicase/u16-casecoll-tests: Likewise.
12565         * modules/unicase/u16-casefold-tests: Likewise.
12566         * modules/unicase/u16-is-cased-tests: Likewise.
12567         * modules/unicase/u16-is-casefolded-tests: Likewise.
12568         * modules/unicase/u16-is-lowercase-tests: Likewise.
12569         * modules/unicase/u16-is-titlecase-tests: Likewise.
12570         * modules/unicase/u16-is-uppercase-tests: Likewise.
12571         * modules/unicase/u16-tolower-tests: Likewise.
12572         * modules/unicase/u16-totitle-tests: Likewise.
12573         * modules/unicase/u16-toupper-tests: Likewise.
12574         * modules/unicase/u32-casecmp-tests: Likewise.
12575         * modules/unicase/u32-casecoll-tests: Likewise.
12576         * modules/unicase/u32-casefold-tests: Likewise.
12577         * modules/unicase/u32-is-cased-tests: Likewise.
12578         * modules/unicase/u32-is-casefolded-tests: Likewise.
12579         * modules/unicase/u32-is-lowercase-tests: Likewise.
12580         * modules/unicase/u32-is-titlecase-tests: Likewise.
12581         * modules/unicase/u32-is-uppercase-tests: Likewise.
12582         * modules/unicase/u32-tolower-tests: Likewise.
12583         * modules/unicase/u32-totitle-tests: Likewise.
12584         * modules/unicase/u32-toupper-tests: Likewise.
12585         * modules/unicase/ulc-casecmp-tests: Likewise.
12586         * modules/unicase/ulc-casecoll-tests: Likewise.
12587         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
12588         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
12589         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
12590         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
12591         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
12592         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
12593         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
12594         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
12595         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
12596         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
12597         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
12598         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
12599         * modules/unictype/bidicategory-byname-tests: Likewise.
12600         * modules/unictype/bidicategory-name-tests: Likewise.
12601         * modules/unictype/bidicategory-of-tests: Likewise.
12602         * modules/unictype/bidicategory-test-tests: Likewise.
12603         * modules/unictype/block-list-tests: Likewise.
12604         * modules/unictype/block-of-tests: Likewise.
12605         * modules/unictype/block-test-tests: Likewise.
12606         * modules/unictype/category-C-tests: Likewise.
12607         * modules/unictype/category-Cc-tests: Likewise.
12608         * modules/unictype/category-Cf-tests: Likewise.
12609         * modules/unictype/category-Cn-tests: Likewise.
12610         * modules/unictype/category-Co-tests: Likewise.
12611         * modules/unictype/category-Cs-tests: Likewise.
12612         * modules/unictype/category-L-tests: Likewise.
12613         * modules/unictype/category-Ll-tests: Likewise.
12614         * modules/unictype/category-Lm-tests: Likewise.
12615         * modules/unictype/category-Lo-tests: Likewise.
12616         * modules/unictype/category-Lt-tests: Likewise.
12617         * modules/unictype/category-Lu-tests: Likewise.
12618         * modules/unictype/category-M-tests: Likewise.
12619         * modules/unictype/category-Mc-tests: Likewise.
12620         * modules/unictype/category-Me-tests: Likewise.
12621         * modules/unictype/category-Mn-tests: Likewise.
12622         * modules/unictype/category-N-tests: Likewise.
12623         * modules/unictype/category-Nd-tests: Likewise.
12624         * modules/unictype/category-Nl-tests: Likewise.
12625         * modules/unictype/category-No-tests: Likewise.
12626         * modules/unictype/category-P-tests: Likewise.
12627         * modules/unictype/category-Pc-tests: Likewise.
12628         * modules/unictype/category-Pd-tests: Likewise.
12629         * modules/unictype/category-Pe-tests: Likewise.
12630         * modules/unictype/category-Pf-tests: Likewise.
12631         * modules/unictype/category-Pi-tests: Likewise.
12632         * modules/unictype/category-Po-tests: Likewise.
12633         * modules/unictype/category-Ps-tests: Likewise.
12634         * modules/unictype/category-S-tests: Likewise.
12635         * modules/unictype/category-Sc-tests: Likewise.
12636         * modules/unictype/category-Sk-tests: Likewise.
12637         * modules/unictype/category-Sm-tests: Likewise.
12638         * modules/unictype/category-So-tests: Likewise.
12639         * modules/unictype/category-Z-tests: Likewise.
12640         * modules/unictype/category-Zl-tests: Likewise.
12641         * modules/unictype/category-Zp-tests: Likewise.
12642         * modules/unictype/category-Zs-tests: Likewise.
12643         * modules/unictype/category-and-not-tests: Likewise.
12644         * modules/unictype/category-and-tests: Likewise.
12645         * modules/unictype/category-byname-tests: Likewise.
12646         * modules/unictype/category-name-tests: Likewise.
12647         * modules/unictype/category-none-tests: Likewise.
12648         * modules/unictype/category-of-tests: Likewise.
12649         * modules/unictype/category-or-tests: Likewise.
12650         * modules/unictype/category-test-withtable-tests: Likewise.
12651         * modules/unictype/combining-class-tests: Likewise.
12652         * modules/unictype/ctype-alnum-tests: Likewise.
12653         * modules/unictype/ctype-alpha-tests: Likewise.
12654         * modules/unictype/ctype-blank-tests: Likewise.
12655         * modules/unictype/ctype-cntrl-tests: Likewise.
12656         * modules/unictype/ctype-digit-tests: Likewise.
12657         * modules/unictype/ctype-graph-tests: Likewise.
12658         * modules/unictype/ctype-lower-tests: Likewise.
12659         * modules/unictype/ctype-print-tests: Likewise.
12660         * modules/unictype/ctype-punct-tests: Likewise.
12661         * modules/unictype/ctype-space-tests: Likewise.
12662         * modules/unictype/ctype-upper-tests: Likewise.
12663         * modules/unictype/ctype-xdigit-tests: Likewise.
12664         * modules/unictype/decimal-digit-tests: Likewise.
12665         * modules/unictype/digit-tests: Likewise.
12666         * modules/unictype/mirror-tests: Likewise.
12667         * modules/unictype/numeric-tests: Likewise.
12668         * modules/unictype/property-alphabetic-tests: Likewise.
12669         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
12670         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
12671         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
12672         * modules/unictype/property-bidi-block-separator-tests: Likewise.
12673         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
12674         * modules/unictype/property-bidi-common-separator-tests: Likewise.
12675         * modules/unictype/property-bidi-control-tests: Likewise.
12676         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
12677         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
12678         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
12679         * modules/unictype/property-bidi-european-digit-tests: Likewise.
12680         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
12681         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
12682         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
12683         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
12684         * modules/unictype/property-bidi-pdf-tests: Likewise.
12685         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
12686         * modules/unictype/property-bidi-whitespace-tests: Likewise.
12687         * modules/unictype/property-byname-tests: Likewise.
12688         * modules/unictype/property-combining-tests: Likewise.
12689         * modules/unictype/property-composite-tests: Likewise.
12690         * modules/unictype/property-currency-symbol-tests: Likewise.
12691         * modules/unictype/property-dash-tests: Likewise.
12692         * modules/unictype/property-decimal-digit-tests: Likewise.
12693         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
12694         * modules/unictype/property-deprecated-tests: Likewise.
12695         * modules/unictype/property-diacritic-tests: Likewise.
12696         * modules/unictype/property-extender-tests: Likewise.
12697         * modules/unictype/property-format-control-tests: Likewise.
12698         * modules/unictype/property-grapheme-base-tests: Likewise.
12699         * modules/unictype/property-grapheme-extend-tests: Likewise.
12700         * modules/unictype/property-grapheme-link-tests: Likewise.
12701         * modules/unictype/property-hex-digit-tests: Likewise.
12702         * modules/unictype/property-hyphen-tests: Likewise.
12703         * modules/unictype/property-id-continue-tests: Likewise.
12704         * modules/unictype/property-id-start-tests: Likewise.
12705         * modules/unictype/property-ideographic-tests: Likewise.
12706         * modules/unictype/property-ids-binary-operator-tests: Likewise.
12707         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
12708         * modules/unictype/property-ignorable-control-tests: Likewise.
12709         * modules/unictype/property-iso-control-tests: Likewise.
12710         * modules/unictype/property-join-control-tests: Likewise.
12711         * modules/unictype/property-left-of-pair-tests: Likewise.
12712         * modules/unictype/property-line-separator-tests: Likewise.
12713         * modules/unictype/property-logical-order-exception-tests: Likewise.
12714         * modules/unictype/property-lowercase-tests: Likewise.
12715         * modules/unictype/property-math-tests: Likewise.
12716         * modules/unictype/property-non-break-tests: Likewise.
12717         * modules/unictype/property-not-a-character-tests: Likewise.
12718         * modules/unictype/property-numeric-tests: Likewise.
12719         * modules/unictype/property-other-alphabetic-tests: Likewise.
12720         * modules/unictype/property-other-default-ignorable-code-point-tests:
12721         Likewise.
12722         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
12723         * modules/unictype/property-other-id-continue-tests: Likewise.
12724         * modules/unictype/property-other-id-start-tests: Likewise.
12725         * modules/unictype/property-other-lowercase-tests: Likewise.
12726         * modules/unictype/property-other-math-tests: Likewise.
12727         * modules/unictype/property-other-uppercase-tests: Likewise.
12728         * modules/unictype/property-paired-punctuation-tests: Likewise.
12729         * modules/unictype/property-paragraph-separator-tests: Likewise.
12730         * modules/unictype/property-pattern-syntax-tests: Likewise.
12731         * modules/unictype/property-pattern-white-space-tests: Likewise.
12732         * modules/unictype/property-private-use-tests: Likewise.
12733         * modules/unictype/property-punctuation-tests: Likewise.
12734         * modules/unictype/property-quotation-mark-tests: Likewise.
12735         * modules/unictype/property-radical-tests: Likewise.
12736         * modules/unictype/property-sentence-terminal-tests: Likewise.
12737         * modules/unictype/property-soft-dotted-tests: Likewise.
12738         * modules/unictype/property-space-tests: Likewise.
12739         * modules/unictype/property-terminal-punctuation-tests: Likewise.
12740         * modules/unictype/property-test-tests: Likewise.
12741         * modules/unictype/property-titlecase-tests: Likewise.
12742         * modules/unictype/property-unassigned-code-value-tests: Likewise.
12743         * modules/unictype/property-unified-ideograph-tests: Likewise.
12744         * modules/unictype/property-uppercase-tests: Likewise.
12745         * modules/unictype/property-variation-selector-tests: Likewise.
12746         * modules/unictype/property-white-space-tests: Likewise.
12747         * modules/unictype/property-xid-continue-tests: Likewise.
12748         * modules/unictype/property-xid-start-tests: Likewise.
12749         * modules/unictype/property-zero-width-tests: Likewise.
12750         * modules/unictype/scripts-tests: Likewise.
12751         * modules/unictype/syntax-c-ident-tests: Likewise.
12752         * modules/unictype/syntax-c-whitespace-tests: Likewise.
12753         * modules/unictype/syntax-java-ident-tests: Likewise.
12754         * modules/unictype/syntax-java-whitespace-tests: Likewise.
12755         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
12756         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
12757         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
12758         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
12759         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
12760         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
12761         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
12762         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
12763         * modules/uniname/uniname-tests: Likewise.
12764         * modules/uninorm/canonical-decomposition-tests: Likewise.
12765         * modules/uninorm/compat-decomposition-tests: Likewise.
12766         * modules/uninorm/composition-tests: Likewise.
12767         * modules/uninorm/decomposing-form-tests: Likewise.
12768         * modules/uninorm/decomposition-tests: Likewise.
12769         * modules/uninorm/filter-tests: Likewise.
12770         * modules/uninorm/nfc-tests: Likewise.
12771         * modules/uninorm/nfd-tests: Likewise.
12772         * modules/uninorm/nfkc-tests: Likewise.
12773         * modules/uninorm/nfkd-tests: Likewise.
12774         * modules/uninorm/u8-normcmp-tests: Likewise.
12775         * modules/uninorm/u8-normcoll-tests: Likewise.
12776         * modules/uninorm/u16-normcmp-tests: Likewise.
12777         * modules/uninorm/u16-normcoll-tests: Likewise.
12778         * modules/uninorm/u32-normcmp-tests: Likewise.
12779         * modules/uninorm/u32-normcoll-tests: Likewise.
12780         * modules/unistdio/u8-asnprintf-tests: Likewise.
12781         * modules/unistdio/u8-vasnprintf-tests: Likewise.
12782         * modules/unistdio/u8-vasprintf-tests: Likewise.
12783         * modules/unistdio/u8-vsnprintf-tests: Likewise.
12784         * modules/unistdio/u8-vsprintf-tests: Likewise.
12785         * modules/unistdio/u16-asnprintf-tests: Likewise.
12786         * modules/unistdio/u16-vasnprintf-tests: Likewise.
12787         * modules/unistdio/u16-vasprintf-tests: Likewise.
12788         * modules/unistdio/u16-vsnprintf-tests: Likewise.
12789         * modules/unistdio/u16-vsprintf-tests: Likewise.
12790         * modules/unistdio/u32-asnprintf-tests: Likewise.
12791         * modules/unistdio/u32-vasnprintf-tests: Likewise.
12792         * modules/unistdio/u32-vasprintf-tests: Likewise.
12793         * modules/unistdio/u32-vsnprintf-tests: Likewise.
12794         * modules/unistdio/u32-vsprintf-tests: Likewise.
12795         * modules/unistdio/ulc-asnprintf-tests: Likewise.
12796         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
12797         * modules/unistdio/ulc-vasprintf-tests: Likewise.
12798         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
12799         * modules/unistdio/ulc-vsprintf-tests: Likewise.
12800         * modules/unistr/u8-check-tests: Likewise.
12801         * modules/unistr/u8-chr-tests: Likewise.
12802         * modules/unistr/u8-cmp-tests: Likewise.
12803         * modules/unistr/u8-cmp2-tests: Likewise.
12804         * modules/unistr/u8-cpy-alloc-tests: Likewise.
12805         * modules/unistr/u8-cpy-tests: Likewise.
12806         * modules/unistr/u8-mblen-tests: Likewise.
12807         * modules/unistr/u8-mbsnlen-tests: Likewise.
12808         * modules/unistr/u8-mbtouc-tests: Likewise.
12809         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
12810         * modules/unistr/u8-mbtoucr-tests: Likewise.
12811         * modules/unistr/u8-move-tests: Likewise.
12812         * modules/unistr/u8-next-tests: Likewise.
12813         * modules/unistr/u8-prev-tests: Likewise.
12814         * modules/unistr/u8-set-tests: Likewise.
12815         * modules/unistr/u8-stpcpy-tests: Likewise.
12816         * modules/unistr/u8-stpncpy-tests: Likewise.
12817         * modules/unistr/u8-strcat-tests: Likewise.
12818         * modules/unistr/u8-strcmp-tests: Likewise.
12819         * modules/unistr/u8-strcoll-tests: Likewise.
12820         * modules/unistr/u8-strcpy-tests: Likewise.
12821         * modules/unistr/u8-strdup-tests: Likewise.
12822         * modules/unistr/u8-strlen-tests: Likewise.
12823         * modules/unistr/u8-strmblen-tests: Likewise.
12824         * modules/unistr/u8-strmbtouc-tests: Likewise.
12825         * modules/unistr/u8-strncat-tests: Likewise.
12826         * modules/unistr/u8-strncmp-tests: Likewise.
12827         * modules/unistr/u8-strncpy-tests: Likewise.
12828         * modules/unistr/u8-strnlen-tests: Likewise.
12829         * modules/unistr/u8-to-u16-tests: Likewise.
12830         * modules/unistr/u8-to-u32-tests: Likewise.
12831         * modules/unistr/u8-uctomb-tests: Likewise.
12832         * modules/unistr/u16-check-tests: Likewise.
12833         * modules/unistr/u16-chr-tests: Likewise.
12834         * modules/unistr/u16-cmp-tests: Likewise.
12835         * modules/unistr/u16-cmp2-tests: Likewise.
12836         * modules/unistr/u16-cpy-alloc-tests: Likewise.
12837         * modules/unistr/u16-cpy-tests: Likewise.
12838         * modules/unistr/u16-mblen-tests: Likewise.
12839         * modules/unistr/u16-mbsnlen-tests: Likewise.
12840         * modules/unistr/u16-mbtouc-tests: Likewise.
12841         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
12842         * modules/unistr/u16-mbtoucr-tests: Likewise.
12843         * modules/unistr/u16-move-tests: Likewise.
12844         * modules/unistr/u16-next-tests: Likewise.
12845         * modules/unistr/u16-prev-tests: Likewise.
12846         * modules/unistr/u16-set-tests: Likewise.
12847         * modules/unistr/u16-stpcpy-tests: Likewise.
12848         * modules/unistr/u16-stpncpy-tests: Likewise.
12849         * modules/unistr/u16-strcat-tests: Likewise.
12850         * modules/unistr/u16-strcmp-tests: Likewise.
12851         * modules/unistr/u16-strcoll-tests: Likewise.
12852         * modules/unistr/u16-strcpy-tests: Likewise.
12853         * modules/unistr/u16-strdup-tests: Likewise.
12854         * modules/unistr/u16-strlen-tests: Likewise.
12855         * modules/unistr/u16-strmblen-tests: Likewise.
12856         * modules/unistr/u16-strmbtouc-tests: Likewise.
12857         * modules/unistr/u16-strncat-tests: Likewise.
12858         * modules/unistr/u16-strncmp-tests: Likewise.
12859         * modules/unistr/u16-strncpy-tests: Likewise.
12860         * modules/unistr/u16-strnlen-tests: Likewise.
12861         * modules/unistr/u16-to-u32-tests: Likewise.
12862         * modules/unistr/u16-to-u8-tests: Likewise.
12863         * modules/unistr/u16-uctomb-tests: Likewise.
12864         * modules/unistr/u32-check-tests: Likewise.
12865         * modules/unistr/u32-chr-tests: Likewise.
12866         * modules/unistr/u32-cmp-tests: Likewise.
12867         * modules/unistr/u32-cmp2-tests: Likewise.
12868         * modules/unistr/u32-cpy-alloc-tests: Likewise.
12869         * modules/unistr/u32-cpy-tests: Likewise.
12870         * modules/unistr/u32-mblen-tests: Likewise.
12871         * modules/unistr/u32-mbsnlen-tests: Likewise.
12872         * modules/unistr/u32-mbtouc-tests: Likewise.
12873         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
12874         * modules/unistr/u32-mbtoucr-tests: Likewise.
12875         * modules/unistr/u32-move-tests: Likewise.
12876         * modules/unistr/u32-next-tests: Likewise.
12877         * modules/unistr/u32-prev-tests: Likewise.
12878         * modules/unistr/u32-set-tests: Likewise.
12879         * modules/unistr/u32-stpcpy-tests: Likewise.
12880         * modules/unistr/u32-stpncpy-tests: Likewise.
12881         * modules/unistr/u32-strcat-tests: Likewise.
12882         * modules/unistr/u32-strcmp-tests: Likewise.
12883         * modules/unistr/u32-strcoll-tests: Likewise.
12884         * modules/unistr/u32-strcpy-tests: Likewise.
12885         * modules/unistr/u32-strdup-tests: Likewise.
12886         * modules/unistr/u32-strlen-tests: Likewise.
12887         * modules/unistr/u32-strmblen-tests: Likewise.
12888         * modules/unistr/u32-strmbtouc-tests: Likewise.
12889         * modules/unistr/u32-strncat-tests: Likewise.
12890         * modules/unistr/u32-strncmp-tests: Likewise.
12891         * modules/unistr/u32-strncpy-tests: Likewise.
12892         * modules/unistr/u32-strnlen-tests: Likewise.
12893         * modules/unistr/u32-to-u16-tests: Likewise.
12894         * modules/unistr/u32-to-u8-tests: Likewise.
12895         * modules/unistr/u32-uctomb-tests: Likewise.
12896         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
12897         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
12898         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
12899         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
12900         * modules/uniwidth/u8-strwidth-tests: Likewise.
12901         * modules/uniwidth/u8-width-tests: Likewise.
12902         * modules/uniwidth/u16-strwidth-tests: Likewise.
12903         * modules/uniwidth/u16-width-tests: Likewise.
12904         * modules/uniwidth/u32-strwidth-tests: Likewise.
12905         * modules/uniwidth/u32-width-tests: Likewise.
12906         * modules/uniwidth/width-tests: Likewise.
12907
12908 2010-05-18  Richard Jones  <rjones@redhat.com>
12909
12910         doc: users.txt: list hivex
12911         * users.txt: Add hivex.
12912
12913 2010-05-18  Richard Jones  <rjones@redhat.com>
12914
12915         doc: users.txt: list febootstrap
12916         * users.txt: Add febootstrap.
12917
12918 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
12919
12920         bootstrap: fix an error when gnulib is not used as a git submodule
12921         * build-aux/bootstrap (gnulib_path): If its length is zero then
12922         assign "gnulib" to it.
12923         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
12924
12925 2010-05-16  Bruno Haible  <bruno@clisp.org>
12926
12927         Avoid autoconf warnings about AM_ICONV.
12928         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
12929         2.64.
12930
12931 2010-05-16  Bruno Haible  <bruno@clisp.org>
12932
12933         absolute-header: Make the macro usable in more situations.
12934         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
12935         from gl_ABSOLUTE_HEADER.
12936         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
12937
12938 2010-05-16  James Youngman  <jay@gnu.org>
12939
12940         doc: update users.txt
12941         * users.txt: Add CSSC.
12942
12943 2010-05-16  Jim Meyering  <meyering@redhat.com>
12944
12945         init.sh: fix an error in the previous change; add more comments
12946         * tests/init.sh: Compare exit code in loop against 9, not 2.
12947         Patch by Bruno Haible.
12948         Make the two tests more similar by adding an empty "then" clause.
12949         Add comments.
12950
12951         init.sh: avoid unnecessary shell re-exec
12952         * tests/init.sh: Improve the re-exec-required check to first test the
12953         current shell.  If it passes the test, do not search for a shell that
12954         does pass, and do not re-exec.  This test is particularly contorted to
12955         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
12956         of $(...) evokes a syntax error and causes immediate shell exit with
12957         status 2.  Bruno Haible reported that the re-exec made it impossible
12958         to single-step through any init.sh-using script.
12959
12960 2010-05-16  Bruno Haible  <bruno@clisp.org>
12961
12962         Fix collision between gnulib's and libintl's printf replacements.
12963         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
12964         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
12965         (printf): When using GNU C, map the __printf__ function to rpl_printf
12966         via __asm__. When not using GNU C, define rpl_printf instead of
12967         __printf__.
12968         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
12969         commit.
12970         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
12971         commit.
12972         * m4/asm-underscore.m4: New file.
12973         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
12974         * modules/stdio (Files): Add m4/asm-underscore.m4.
12975         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
12976         Reported by Ben Pfaff.
12977
12978 2010-05-16  Bruno Haible  <bruno@clisp.org>
12979
12980         verify: Avoid skipping the test on openSUSE 11.0.
12981         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
12982
12983 2010-05-13  Bruno Haible  <bruno@clisp.org>
12984
12985         Avoid useless warnings from G++.
12986         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
12987         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
12988         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12989
12990 2010-05-11  Jim Meyering  <meyering@redhat.com>
12991
12992         maint.mk: tweak preceding change
12993         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
12994         regexps tighter by anchoring at EOL, and make the new group "shy"
12995         for slightly decreased overhead.
12996
12997 2010-05-11  Eric Blake  <eblake@redhat.com>
12998
12999         maint.mk: gnulib doesn't guarantee NSIG
13000         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
13001
13002 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
13003
13004         test-pwrite.c: Remove unused variable declaration.
13005         * tests/test-pwrite.c (main): Remove read_buf declaration.
13006
13007         Remove useless test-pwrite.sh file.
13008         * tests/test-pwrite.sh: Delete file.
13009         * modules/pwrite-tests: Remove references.
13010         Reported by Bruno Haible.
13011
13012 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
13013
13014         init.sh: fix a typo
13015         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
13016
13017 2010-05-10  Jim Meyering  <meyering@redhat.com>
13018
13019         maint.mk: avoid using a temporary file in the always-defined-macros check
13020         * top/maint.mk (.re-defmac): Remove rule.
13021         (gl_trap_): Remove definition.
13022         (sc_prohibit_always-defined_macros): Rewrite not to create and
13023         depend on a temporary file.  Instead, depend on GNU grep's ability
13024         to read a list of regular expressions from stdin when given "-f -".
13025
13026 2010-05-09  Bruno Haible  <bruno@clisp.org>
13027
13028         Update to GNU gettext 0.18, part 1.
13029         * m4/gettext.m4: Update to GNU gettext 0.18.
13030         * m4/intl.m4: Likewise.
13031         * m4/po.m4: Likewise.
13032         * modules/gettext (Files): Add m4/fcntl-o.m4.
13033         (configure.ac): Require gettext infrastructure from version 0.18.
13034
13035 2010-05-09  Jim Meyering  <meyering@redhat.com>
13036
13037         init.sh: enable MALLOC_PERTURB_
13038         * tests/init.sh: Enable glibc's malloc-perturbing option.
13039
13040         maint.mk: improve sc_cross_check_PATH_usage_in_tests
13041         With my recent change in init.sh from the two-line form:
13042             -#   : ${srcdir=.}
13043             -#   . "$srcdir/init.sh"; path_prepend_ .
13044             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
13045         I noticed that using the one-line form would cause this test
13046         to fail with a false-positive, or to stop working altogether,
13047         depending on whether help-version changed or all the tests did.
13048         * top/maint.mk (_hv_regex): Remove this definition.
13049         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
13050         (_hv_regex_strong): Use a stronger regex to check for conformance.
13051         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
13052         Give a separate diagnostic for lack of conforming use.
13053
13054         maint.mk: prohibit definition of symbols defined by gnulib
13055         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
13056         definition of symbols defined by gnulib.
13057
13058 2010-05-09  Bruno Haible  <bruno@clisp.org>
13059
13060         acl: Avoid test failure on Cygwin-hosted mingw.
13061         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
13062
13063 2010-05-09  Bruno Haible  <bruno@clisp.org>
13064
13065         error: Use system's fcntl function.
13066         * lib/error.c (fcntl): Undefine.
13067
13068 2010-05-09  Jim Meyering  <meyering@redhat.com>
13069
13070         verify: adjust formatting to be more consistent
13071         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
13072         argument-list '('s, and after one comma.
13073
13074 2010-05-09  Bruno Haible  <bruno@clisp.org>
13075
13076         error: More reliable output on mingw.
13077         * lib/error.c: Include <windows.h>.
13078         (is_open): New function.
13079         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
13080         defined.
13081
13082 2010-05-09  Bruno Haible  <bruno@clisp.org>
13083
13084         vasnprintf: Fix syntax errors in libintl build on mingw.
13085         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
13086         pad_ourselves and prec_ourselves after use.
13087
13088 2010-05-08  Bruno Haible  <bruno@clisp.org>
13089
13090         * lib/config.charset: Update comments for Cygwin 1.7.
13091         * lib/localcharset.c: Likewise.
13092
13093 2010-05-07  Jim Meyering  <meyering@redhat.com>
13094
13095         init.sh: improve comments
13096         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
13097         . "${srcdir=.}/init.sh"; path_prepend_ .
13098         Add a note about path_prepend_ and the alternative of using
13099         TESTS_ENVIRONMENT.
13100
13101 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
13102
13103         exclude: Unescape hashed patterns in wildcard mode.
13104         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
13105         to the hash list.
13106         * tests/test-exclude8.sh: New test case.
13107         * modules/exclude-tests: Add new test.
13108
13109 2010-05-05  Eric Blake  <eblake@redhat.com>
13110
13111         verify: automate tests
13112         * modules/verify-tests: New module.
13113         * tests/test-verify.sh: New file.
13114         * tests/test-verify.c: Guard each negative test with a unique id.
13115         Also avoid warning about unused left hand of comma expressions.
13116
13117 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13118
13119         Further improvements to verify.h, suggested by Eric Blake.
13120         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
13121         the GL_* versions, to avoid collision with OpenGL.
13122         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
13123         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
13124         than testing merely whether it's defined.
13125
13126         Modify verify.h to pacify gcc -Wredundant_decls.
13127         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
13128         These use the prefix "GL_" since they're likely to be useful elsewhere.
13129         We may need to break them out into a different .h file.
13130         (__COUNTER__): Define to 0 if the compiler doesn't support it.
13131         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
13132         of verify_function__.
13133
13134 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
13135
13136         Tests for module pwrite.
13137         * modules/pwrite-tests: New file.
13138         * tests/test-pwrite.sh: New file.
13139         * tests/test-pwrite.c: New file.
13140
13141         New module pwrite.
13142         * lib/unistd.in.h (pwrite): New declaration.
13143         * lib/pwrite.c: New file, from glibc with modifications.
13144         * m4/pwrite.m4: New file.
13145         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
13146         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
13147         REPLACE_PWRITE.
13148         * modules/pwrite: New file.
13149         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
13150         REPLACE_PWRITE.
13151         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
13152         * doc/posix-functions/pwrite.texi: Mention the new module.
13153
13154 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
13155
13156         pread: Update documentation.
13157         * doc/posix-functions/pread.texi: Mention the 'pread' module.
13158
13159 2010-05-04  Eric Blake  <eblake@redhat.com>
13160
13161         docs: update cygwin progress
13162         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
13163         this bug.
13164         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
13165         Added in cygwin 1.7.2.
13166         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
13167         Likewise.
13168         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
13169         Likewise.
13170         * doc/glibc-functions/dup3.texi (dup3): Likewise.
13171         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13172         * doc/glibc-functions/accept4.texi (accept4): Likewise.
13173         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
13174         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
13175         Mention nproc module.
13176         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
13177         bug in cygwin 1.7.5 addition.
13178         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
13179         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
13180         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
13181         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
13182         1.7.5.
13183         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
13184         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
13185         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
13186         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
13187         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
13188         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
13189         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
13190         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
13191         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
13192         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
13193         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
13194         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
13195         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
13196         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
13197         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
13198         Likewise.
13199         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
13200         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
13201         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
13202         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
13203         Likewise.
13204         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
13205         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
13206         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
13207         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
13208         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
13209         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
13210         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
13211         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
13212         Likewise.
13213         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
13214         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
13215         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
13216         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
13217         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
13218         Likewise.
13219         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
13220         Likewise.
13221         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
13222         Likewise.
13223         * doc/glibc-functions/xdrrec_endofrecord.texi
13224         (xdrrec_endofrecord): Likewise.
13225         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
13226         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
13227         Likewise.
13228         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
13229         Likewise.
13230
13231 2010-05-04  Jim Meyering  <meyering@redhat.com>
13232
13233         gendocs.sh: make its "-s FILE" option more useful
13234         * build-aux/gendocs.sh: When honoring the -s FILE option, update
13235         $PACKAGE to reflect the probably-different basename of "FILE".
13236
13237 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
13238
13239         bootstrap: don't ignore download_po_files failure
13240         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
13241         failure.
13242
13243 2010-05-03  Jim Meyering  <meyering@redhat.com>
13244
13245         maint.mk: allow to pass options to gendocs.sh
13246         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
13247         (gendocs_options_): New overridable variable.
13248
13249         gnu-web-doc-update: don't ignore configure or build failure
13250         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
13251
13252         announce-gen: backslash-escape '@'s in --help output
13253         * build-aux/announce-gen: Fix syntax errors.
13254
13255         maint.mk, announce-gen: allow project-specific announcement mail headers
13256         * top/maint.mk (translation_project_): Define default.
13257         (announcement_Cc_, announcement_mail_headers_): Likewise.
13258         (announcement): Invoke announce-gen with new --mail-headers option.
13259         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
13260
13261         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
13262         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
13263         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
13264         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
13265         line in the "err2" output file when running "make check" in verbose
13266         mode (i.e., with set -x enabled).
13267
13268 2010-05-03  Bruno Haible  <bruno@clisp.org>
13269
13270         wctob: Fix for weird platforms.
13271         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
13272         argument value.
13273
13274 2010-05-03  Jim Meyering  <meyering@redhat.com>
13275
13276         maint.mk: prohibit unwarranted use of <strings.h>
13277         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
13278         strings.h in a file that does not also use strcasecmp, strncasecmp,
13279         ffs or ffsll.
13280
13281         maint.mk: remove obsolete comments
13282         * top/maint.mk: Remove stale, commented-out rules.
13283
13284 2010-05-02  Bruno Haible  <bruno@clisp.org>
13285
13286         wcwidth: Declare also when it's aliased.
13287         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
13288         macro.
13289
13290 2010-05-02  Bruno Haible  <bruno@clisp.org>
13291
13292         Fix regression from 2010-04-25.
13293         * gnulib-tool (func_modules_transitive_closure): Check the status of
13294         all modules, not only of the tests that are of the form foo-tests where
13295         foo is a module.
13296
13297 2010-05-02  Bruno Haible  <bruno@clisp.org>
13298
13299         wctob: Work around nasty Cygwin 1.7.2 bug.
13300         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
13301         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
13302
13303 2010-05-01  Bruno Haible  <bruno@clisp.org>
13304
13305         fpurge: Sharper test.
13306         * tests/test-fpurge.c (main): Add one more ftell check.
13307         * modules/fpurge-tests (Depends-on): Add ftell.
13308         Suggested by Eric Blake.
13309
13310 2010-05-01  Bruno Haible  <bruno@clisp.org>
13311
13312         ftello: Another test.
13313         * tests/test-ftello3.c: New file.
13314         * modules/ftello-tests (Files): Add it.
13315         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
13316         MOSTLYCLEANFILES.
13317
13318         ftell: Another test.
13319         * tests/test-ftell3.c: New file.
13320         * modules/ftell-tests (Files): Add it.
13321         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
13322         MOSTLYCLEANFILES.
13323
13324 2010-05-01  Bruno Haible  <bruno@clisp.org>
13325
13326         ftell, ftello: Work around Solaris bug.
13327         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
13328         * lib/ftello.c: Include stdio-impl.h.
13329         (ftello): On Solaris, when _IOWRT is set, compute the result without
13330         looking at _IOREAD.
13331         * modules/ftello (Files): Add lib/stdio-impl.h.
13332         * doc/posix-functions/ftell.texi: Mention Solaris bug.
13333         * doc/posix-functions/ftello.texi: Likewise.
13334         Reported by Eric Blake.
13335
13336 2010-05-01  Bruno Haible  <bruno@clisp.org>
13337
13338         freading: Adapt to special meaning of _IOREAD flag on Solaris.
13339         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
13340         the _IOWRT flag is also set.
13341
13342 2010-05-01  Bruno Haible  <bruno@clisp.org>
13343
13344         Fix doc about a HP-UX stdio bug.
13345         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
13346         * doc/posix-functions/ftello.texi: Likewise.
13347
13348 2010-05-01  Bruno Haible  <bruno@clisp.org>
13349
13350         lseek test: Fix failure on Solaris.
13351         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
13352         output.
13353
13354 2010-04-30  Jim Meyering  <meyering@redhat.com>
13355
13356         bootstrap: don't ignore failure to generate po*/Makevars
13357         * build-aux/bootstrap (with_gettext): Don't ignore failure
13358         to create po/Makevars or runtime-po/Makevars.
13359
13360 2010-04-29  Eric Blake  <eblake@redhat.com>
13361
13362         headers: relax license to LGPLv2+
13363         * modules/fcntl-h (License): Relax license.
13364         * modules/getopt-posix (License): Likewise.
13365         * modules/locale (License): Likewise.
13366         * modules/math (License): Likewise.
13367         * modules/pty (License): Likewise.
13368         * modules/sched (License): Likewise.
13369         * modules/search (License): Likewise.
13370         * modules/spawn (License): Likewise.
13371         * modules/stdarg (License): Likewise.
13372         * modules/sysexits (License): Likewise.
13373
13374 2010-04-29  Jim Meyering  <meyering@redhat.com>
13375
13376         inttypes: relax license to LGPLv2+
13377         * modules/inttypes (License): Relax license.
13378
13379 2010-04-29  Simon Josefsson  <simon@josefsson.org>
13380
13381         * top/maint.mk (indent): Run twice to produce idempotent results.
13382
13383 2010-04-28  Bruno Haible  <bruno@clisp.org>
13384
13385         getdate: Generate getdate.c in the source directory.
13386         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
13387         MOSTLYCLEANFILES.
13388         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
13389
13390 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
13391
13392         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
13393         is not declared as a const *; avoid warnings in that case.
13394
13395 2010-04-28  Eric Blake  <eblake@redhat.com>
13396
13397         canonicalize-lgpl: avoid compiler warning
13398         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
13399         declaration' / 'extraneous semicolon' warning with some compilers.
13400         Reported by Andreas Gruenbacher.
13401
13402 2010-04-28  Jim Meyering  <meyering@redhat.com>
13403
13404         init.sh: ensure a more reliable exit status when exiting via trap
13405         * tests/init.sh (setup_): Don't rely on $? in signal handler.
13406         Inspired by patches from Dmitry V. Levin.
13407         Also trap on signal 3 (SIGQUIT).
13408
13409 2010-04-27  Bruno Haible  <bruno@clisp.org>
13410
13411         Update doc about utimes().
13412         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
13413         'utimens' module.
13414         Reported by Andreas Gruenbacher <agruen@suse.de>.
13415
13416 2010-04-27  Eric Blake  <eblake@redhat.com>
13417
13418         full-read, full-write: relax license
13419         * modules/full-read (License): Drop to LGPLv2+.
13420         * modules/full-write (License): Likewise.
13421         * modules/safe-read (License): Likewise.
13422         * modules/safe-write (License): Likewise.
13423
13424         pthread: mention library for linking
13425         * modules/pthread (Link): Mention $(LIB_PTHREAD).
13426
13427 2010-04-27  Jim Meyering  <meyering@redhat.com>
13428
13429         maint.mk: fix a bug introduced in last change
13430         * top/maint.mk (gl_assured_headers_): Now that all names are on
13431         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
13432         is not anchored to end of word, it should be adequate.
13433
13434         maint.mk: avoid side-effect in latest syntax-check
13435         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
13436         to run commands via $(shell...), and hence to incur cost only when
13437         the new rule is actually run.
13438
13439         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
13440         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
13441         and use that to create a regexp used to detect all #if HAVE_..._H uses.
13442         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
13443         (gl_assured_headers_, az_, AZ_): Define.
13444         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
13445
13446 2010-04-26  Jim Meyering  <jim@meyering.net>
13447             Bruno Haible  <bruno@clisp.org>
13448
13449         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
13450         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
13451         Prompted by an exchange with Gilles Espinasse.
13452
13453 2010-04-26  Jim Meyering  <meyering@redhat.com>
13454
13455         git-version-gen: aesthetic tweak
13456         * build-aux/git-version-gen: Use "$nl" rather than a literal,
13457         so that the command remains on a single line.
13458
13459 2010-04-26  Eric Blake  <eblake@redhat.com>
13460
13461         git-version-gen: allow use on EBCDIC hosts
13462         * build-aux/git-version-gen (dirty): Use literal rather than tying
13463         ourselves to ascii.
13464         Reported by Steve Goetze.
13465
13466 2010-04-25  Bruno Haible  <bruno@clisp.org>
13467
13468         netdb: Add support for GNULIB_POSIXCHECK.
13469         * lib/netdb.in.h: Include warn-on-use.h.
13470         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
13471         functions are used when GNULIB_POSIXCHECK is defined and the
13472         getaddrinfo module is not in use.
13473         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
13474         freeaddrinfo, gai_strerror, getnameinfo are declared.
13475         * modules/netdb (Depends-on): Add warn-on-use.
13476         (Makefile.am): Include warn-on-use.h in netdb.h.
13477
13478 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
13479
13480         build: avoid "make check" failure without .git/ directory
13481         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
13482         there is no .git/ directory.
13483
13484 2010-04-25  Bruno Haible  <bruno@clisp.org>
13485
13486         ptsname: Fix misuse of ttyname_r.
13487         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
13488         of errno.
13489
13490 2010-04-25  Bruno Haible  <bruno@clisp.org>
13491
13492         ttyname_r: Make it work on Solaris 10.
13493         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
13494         if the system function has the POSIX declaration. Test whether the
13495         function fails if the buffer is less than 128 bytes large.
13496         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
13497         system's ttyname_r function. Provide a reasonably large buffer.
13498         * modules/ttyname_r (Depends-on): Add extensions.
13499         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
13500
13501 2010-04-25  Bruno Haible  <bruno@clisp.org>
13502
13503         Use the 'extensions' module for some more functions on Solaris.
13504         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
13505         module.
13506         * doc/posix-functions/ctime_r.texi: Likewise.
13507         * doc/posix-functions/getgrgid_r.texi: Likewise.
13508         * doc/posix-functions/getgrnam_r.texi: Likewise.
13509         * doc/posix-functions/getpwnam_r.texi: Likewise.
13510         * doc/posix-functions/getpwuid_r.texi: Likewise.
13511         * doc/posix-functions/readdir_r.texi: Likewise.
13512         * doc/posix-functions/sigwait.texi: Likewise.
13513         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
13514         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
13515
13516 2010-04-25  Bruno Haible  <bruno@clisp.org>
13517
13518         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
13519         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
13520         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
13521         * lib/ttyname_r.c: Include <limits.h>.
13522         (ttyname_r): Define using the system's ttyname_r function, if it exists
13523         and not on Solaris.
13524         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
13525         set.
13526         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
13527         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
13528         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
13529         Reported by Simon Josefsson.
13530
13531 2010-04-25  Bruno Haible  <bruno@clisp.org>
13532
13533         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
13534         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
13535         * doc/posix-functions/ctime_r.texi: Likewise.
13536         * doc/posix-functions/getgrgid_r.texi: Likewise.
13537         * doc/posix-functions/getgrnam_r.texi: Likewise.
13538         * doc/posix-functions/getlogin_r.texi: Likewise.
13539         * doc/posix-functions/getpwnam_r.texi: Likewise.
13540         * doc/posix-functions/getpwuid_r.texi: Likewise.
13541         * doc/posix-functions/readdir_r.texi: Likewise.
13542         * doc/posix-functions/sigwait.texi: Likewise.
13543         * doc/posix-functions/ttyname_r.texi: Likewise.
13544         Reported by Simon Josefsson.
13545
13546 2010-04-25  Bruno Haible  <bruno@clisp.org>
13547
13548         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
13549         * gnulib-tool (func_usage): Document that --with-*-tests options apply
13550         also to --create-testdir.
13551         (func_acceptable): Don't consider the status of *-tests modules here.
13552         (func_modules_transitive_closure): Consider it here, before including a
13553         test module.
13554         (func_import, func_create_testdir): Set inc_all_direct_tests,
13555         inc_all_indirect_tests.
13556         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
13557         --create-testdir and --create-megatestdir.
13558
13559 2010-04-25  Bruno Haible  <bruno@clisp.org>
13560
13561         gnulib-tool: Add --without-*-tests options.
13562         * gnulib-tool (func_usage): Document the --without-*-tests options.
13563         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
13564         excl_unportable_tests): New variables.
13565         Fail if they are specified with --import or --update.
13566         (func_acceptable): Respect the excl_*_tests variables.
13567         (func_import): Set the excl_*_tests variables to empty.
13568
13569 2010-04-25  Simon Josefsson  <simon@josefsson.org>
13570             Bruno Haible  <bruno@clisp.org>
13571
13572         Work around a MacOS X 10.4 bug with openpty.
13573         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
13574         * tests/test-openpty.c (main): Close the master side explicitly.
13575
13576 2010-04-25  Bruno Haible  <bruno@clisp.org>
13577
13578         strnlen: Fix a C++ test error on MacOS X and Solaris.
13579         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
13580         the function is not declared.
13581         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
13582         Simon Josefsson.
13583
13584 2010-04-24  Bruno Haible  <bruno@clisp.org>
13585
13586         Avoid a gcc warning.
13587         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
13588         of correct type for %08lx directive.
13589         Reported by Eric Blake.
13590
13591 2010-04-24  Bruno Haible  <bruno@clisp.org>
13592
13593         vasnprintf: Correct errno value in case of out-of-memory.
13594         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
13595         or sprintf. Use the errno value from SNPRINTF or sprintf.
13596         Reported by Ian Beckwith <ianb@erislabs.net>.
13597
13598 2010-04-24  Bruno Haible  <bruno@clisp.org>
13599
13600         ansi-c++-opt: Find correct compiler when cross-compiling.
13601         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
13602         AC_CHECK_PROGS.
13603         Reported by Simon Josefsson.
13604
13605 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
13606
13607         vc-list-files: Add support for subversion
13608         * build-aux/vc-list-files: Use "svn list" to generate the list of
13609         files controlled by subversion.
13610
13611 2010-04-23  Jim Meyering  <meyering@redhat.com>
13612
13613         vc-list-files tests: convert to use init.sh
13614         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
13615         path_prepend_.
13616         Use Exit, not exit.
13617         Use skip_ rather than open coding it.
13618         Remove trap set-up and compare definitions.
13619         * tests/test-vc-list-files-git.sh: Likewise.
13620         * modules/vc-list-files-tests (Files): Add tests/init.sh.
13621
13622 2010-04-22  Simon Josefsson  <simon@josefsson.org>
13623
13624         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
13625         backup files.
13626
13627 2010-04-21  Simon Josefsson  <simon@josefsson.org>
13628
13629         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
13630
13631 2010-04-20  Eric Blake  <eblake@redhat.com>
13632
13633         tests: be robust to ignored SIGPIPE
13634         * tests/test-select-in.sh: Consume all output.
13635         * tests/test-lseek.sh: Check correct exit status, while avoiding
13636         EPIPE.
13637
13638 2010-04-20  Simon Josefsson  <simon@josefsson.org>
13639             Bruno Haible  <bruno@clisp.org>
13640
13641         visibility: Don't use -fvisibility if it leads to a warning.
13642         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
13643         yes, don't pretend that visibility works if it leads to a warning.
13644         Reported by Mike Gran <spk121@yahoo.com>.
13645
13646 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
13647
13648         * build-aux/bootstrap: Use "git -h" for testing for supported options
13649         instead of "git --help".  The short-form option only shows a summary,
13650         and doesn't layout the full man page.  Grep for the full option name
13651         in the summary, too.
13652
13653 2010-04-19  Bruno Haible  <bruno@clisp.org>
13654
13655         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
13656         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
13657         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
13658         mention of RELOCATABLE_STRIP.
13659         Reported by Sylvain Beucler <beuc@beuc.net>.
13660
13661 2010-04-19  Bruno Haible  <bruno@clisp.org>
13662
13663         * lib/diffseq.h: Fix typo in comment.
13664         Reported by Eric Blake.
13665
13666 2010-04-19  Bruno Haible  <bruno@clisp.org>
13667
13668         ioctl: Move autoconf macro to a .m4 file.
13669         * m4/ioctl.m4: New file, extracted from modules/ioctl.
13670         * modules/ioctl (Files): Add it.
13671         (configure.ac): Simply invoke gl_FUNC_IOCTL.
13672         Reported by Ian Beckwith <ianb@erislabs.net>.
13673
13674 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
13675             Bruno Haible  <bruno@clisp.org>
13676
13677         diffseq: Accommodate use-case with abstract arrays.
13678         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
13679         is not defined.
13680         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
13681         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
13682
13683 2010-04-18  Bruno Haible  <bruno@clisp.org>
13684
13685         * doc/posix-headers/stdbool.texi: More precise wording.
13686
13687 2010-04-17  Jim Meyering  <meyering@redhat.com>
13688
13689         maint.mk: use gnu-style indentation in an embedded perl script
13690         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
13691         Rename variable: s/two/last_two_bytes/
13692
13693 2010-04-16  Eric Blake  <eblake@redhat.com>
13694
13695         test-stdbool: skip test that fails with Solaris CC
13696         * tests/test-stdbool.c (f): Skip test that causes compilation
13697         error under buggy C++ compiler.
13698         * lib/stdbool.in.h: Document the limitation.
13699         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
13700
13701         setenv: allow compilation with C++
13702         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
13703         register keyword.
13704
13705         stdint: allow test to pass with C++
13706         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
13707
13708         getopt: allow compilation with C++
13709         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
13710         struct.
13711         * lib/getopt.c (_getopt_internal_r): Use correct type.
13712         Reported by Dagobert Michelson, via Joel E. Denny.
13713
13714 2010-04-16  Bruno Haible  <bruno@clisp.org>
13715
13716         Override netdb.h always.
13717         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
13718         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
13719         Reported by Ludovic Courtès <ludo@gnu.org>.
13720
13721 2010-04-15  Bruno Haible  <bruno@clisp.org>
13722
13723         openpty: Fix mistake from 2010-03-21.
13724         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
13725         Reported by Simon Josefsson.
13726
13727 2010-04-15  Eric Blake  <eblake@redhat.com>
13728
13729         test-forkpty: fix expected signature
13730         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
13731         Reported by Simon Josefsson.
13732
13733 2010-04-15  Jim Meyering  <meyering@redhat.com>
13734
13735         maint.mk: texinfo_suffix_re_: correct the default regexp
13736         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
13737
13738         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
13739         make it configurable via texinfo_suffix_re_.
13740
13741 2010-04-14  Eric Blake  <eblake@redhat.com>
13742
13743         strtok_r: relax license to LGPLv2+
13744         * modules/strtok_r (License): Relax license.
13745         Reported by Matthias Bolte.
13746
13747 2010-04-14  Simon Josefsson  <simon@josefsson.org>
13748
13749         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
13750         version 1.4.4 by default instead of requiring the libgcrypt
13751         version used during build.  This makes it possible to use the
13752         application with older but still binary compatible libgcrypt
13753         versions.
13754
13755 2010-04-13  Eric Blake  <eblake@redhat.com>
13756
13757         getopt-gnu: match recent glibc fixes and posix ruling
13758         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
13759         '+' handling, when requesting extensions.
13760         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
13761         'W;' handling.
13762         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
13763         * doc/posix-functions/getopt.texi (getopt): Document this.
13764         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13765         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13766         Likewise.
13767
13768         getopt: merge bug fixes from glibc
13769         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
13770         diagnostics.  Honor '+:' correctly.  Reject ';'.
13771
13772         getopt-posix: detect MacOS bug
13773         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
13774         optind when missing a required argument.
13775         * doc/posix-functions/getopt.texi (getopt): Document the bug.
13776         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13777         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13778         Likewise.
13779
13780         getopt-posix: avoid spurious failure on Solaris
13781         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
13782         an indicator that setting optind=1 is sufficient for reset.
13783
13784         getopt-posix: avoid spurious failure on FreeBSD
13785         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
13786         in POSIX mode, since the m4 test uses it.
13787
13788         gnulib-tool: silence warning on BSD sh
13789         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
13790
13791 2010-04-13  Jim Meyering  <meyering@redhat.com>
13792
13793         doc: users.txt: GNU patch now uses gnulib
13794         * users.txt: Add patch.
13795
13796 2010-04-12  Jim Meyering  <meyering@redhat.com>
13797
13798         maint.mk: generate more concise timing data for syntax-check rules
13799         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
13800         " done" from each line that reports a syntax-check test duration.
13801
13802 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
13803
13804         git-version-gen: use "git update-index..." rather than "git status"
13805         * build-aux/git-version-gen: Use git update-index --refresh, not
13806         "git status".  With some versions of git, "git status" would fail
13807         to update the index and result in an unwarranted "-dirty" suffix.
13808
13809 2010-04-11  Jim Meyering  <meyering@redhat.com>
13810
13811         openat: correct formatting (no semantic change)
13812         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
13813         Suggested by Bruno Haible.
13814
13815 2010-04-11  Bruno Haible  <bruno@clisp.org>
13816
13817         Stricter declaration checking in testdirs.
13818         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13819         If for_tests is true, augment AM_CPPFLAGS to define
13820         GNULIB_STRICT_CHECKING.
13821         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
13822         GNULIB_STRICT_CHECKING is defined, verify that the function is
13823         declared.
13824
13825 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
13826             Bruno Haible  <bruno@clisp.org>
13827
13828         libunistring: Improve configure output.
13829         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
13830         Don't say "consider installing GNU libunistring" when checking again
13831         with libiconv.
13832
13833 2010-04-11  Bruno Haible  <bruno@clisp.org>
13834
13835         libunistring: Correct value of $LTLIBUNISTRING.
13836         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
13837         correct the value of $LTLIBUNISTRING.
13838
13839 2010-04-11  Bruno Haible  <bruno@clisp.org>
13840
13841         havelib: Add static libraries to LIBS in the right order.
13842         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
13843         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
13844
13845 2010-04-11  Bruno Haible  <bruno@clisp.org>
13846
13847         libunistring: Detect libunistring also when it depends on libiconv.
13848         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
13849         the second AC_LIB_HAVE_LINKFLAGS invocation.
13850
13851 2010-04-11  James Youngman  <jay@gnu.org>
13852
13853         close-stream: declare local scalars to be "const"
13854         * lib/close-stream.c (close_stream): Make boolean variables const
13855         to document the fact that we set but do not change them.
13856
13857 2010-04-11  Bruno Haible  <bruno@clisp.org>
13858
13859         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
13860
13861 2010-04-11  Jim Meyering  <meyering@redhat.com>
13862
13863         maint.mk: don't include dist-check.mk
13864         * top/maint.mk: Remove bogus include directive.
13865
13866         maint.mk: improve empty-line-at-EOF check
13867         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
13868         solution, rather than tail+Perl-based one.  The latter would read
13869         a few kilobytes from the end of each file, and did not handle empty
13870         files properly.
13871
13872         maint.mk: print the elapsed time for each syntax-check rule
13873         * top/maint.mk (sc_m_rules_): Save start time in a file.
13874         (sc_z_rules_): New rules: remove temp file and print elapsed time.
13875         (local-check): Interpose the .z rules
13876
13877 2010-04-11  Jim Meyering  <meyering@redhat.com>
13878
13879         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
13880         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
13881         empty file with one that ends in an empty line.
13882
13883 2010-04-10  Bruno Haible  <bruno@clisp.org>
13884
13885         mkdir: Make it work on mingw64.
13886         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
13887         * lib/mkdir.c: Update comment.
13888         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
13889
13890 2010-04-10  Bruno Haible  <bruno@clisp.org>
13891
13892         Don't override improved macro from newer autoconf.
13893         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
13894         autoconf >= 2.62.
13895         Reported by Joel E. Denny <jdenny@clemson.edu>.
13896
13897 2010-04-10  Jim Meyering  <meyering@redhat.com>
13898
13899         maint.mk: new syntax-check rule: prohibit empty lines at end of file
13900         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
13901
13902         maint.mk: correct a diagnostic
13903         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
13904         in diagnostic; now use $prohibit.
13905
13906 2010-04-10  Bruno Haible  <address@hidden>
13907
13908         fchownat: Fix a C++ test error on Solaris 8.
13909         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
13910         the function does not exist.
13911
13912 2010-04-10  Bruno Haible  <bruno@clisp.org>
13913
13914         vasnprintf: Add more tests.
13915         * tests/test-vasnprintf-posix.c: Include <errno.h>.
13916         (test_function): Test converting an invalid wide string.
13917
13918         vasnprintf: Correct handling of unconvertible wide string arguments.
13919         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
13920         VASNPRINTF.
13921         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
13922         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
13923         smaller than the expected maximum need for the directive. Set errno to
13924         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
13925         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
13926         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
13927         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
13928         * modules/vasnprintf (Files): Add m4/printf.m4.
13929         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13930
13931 2010-04-10  Bruno Haible  <bruno@clisp.org>
13932
13933         vasnprintf: Fix crash in %ls directive.
13934         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
13935         string is passed as argument to %ls, with no precision and no width.
13936         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13937
13938 2010-04-10  Bruno Haible  <bruno@clisp.org>
13939
13940         vasnprintf: Fix multiple test failures on mingw.
13941         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
13942         _snprintf, or snwprintf, not _snwprintf.
13943
13944 2010-04-10  Bruno Haible  <bruno@clisp.org>
13945
13946         write: Fix a C++ test error on mingw.
13947         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
13948
13949 2010-04-10  Bruno Haible  <bruno@clisp.org>
13950
13951         vasnprintf test: Reduce code duplication.
13952         * tests/test-vasnprintf.c (test_function): New function, extracted from
13953         test_vasnprintf.
13954         (test_vasnprintf, test_asnprintf): Invoke it.
13955
13956 2010-04-10  Bruno Haible  <bruno@clisp.org>
13957
13958         strnlen: Fix warning in C++ mode on MacOS X.
13959         * lib/string.in.h (strnlen): Use the modern idiom.
13960         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
13961         defining strnlen as a macro already in <config.h>.
13962         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13963         REPLACE_STRNLEN.
13964         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
13965         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13966
13967 2010-04-08  James Youngman  <jay@gnu.org>
13968
13969         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
13970         the example.
13971
13972 2010-04-09  Jim Meyering  <meyering@redhat.com>
13973
13974         maint.mk: print better diagnostic when there is no $(_hv_file)
13975         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
13976         announce that when $(_hv_file) (aka help-version) does not exist.
13977
13978         init.sh: run tr in the "C" locale to avoid multibyte interpretation
13979         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
13980         not try to interpret its random input bytes.  Jarno Rajahalme reported
13981         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
13982         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
13983         (mktempd_): Likewise, just in case.
13984
13985         ftruncate: add two years to projected module removal date: 2012
13986         * m4/ftruncate.m4: Adjust comments.
13987
13988         ftruncate: mark module as obsolete; even MinGW provides it, now
13989         * modules/ftruncate (Status): Obsolete.
13990         (Notice): Say that.
13991         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
13992         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
13993
13994 2010-04-08  Bruno Haible  <bruno@clisp.org>
13995
13996         Fix side effects from tests-related modules.
13997         * modules/dprintf-posix (Comment): New section.
13998         * modules/fprintf-posix (Comment): Likewise.
13999         * modules/obstack-printf-posix (Comment): Likewise.
14000         * modules/printf-posix (Comment): Likewise.
14001         * modules/snprintf-posix (Comment): Likewise.
14002         * modules/sprintf-posix (Comment): Likewise.
14003         * modules/vasnprintf-posix (Comment): Likewise.
14004         * modules/vasprintf-posix (Comment): Likewise.
14005         * modules/vdprintf-posix (Comment): Likewise.
14006         * modules/vfprintf-posix (Comment): Likewise.
14007         * modules/vprintf-posix (Comment): Likewise.
14008         * modules/vsnprintf-posix (Comment): Likewise.
14009         * modules/vsprintf-posix (Comment): Likewise.
14010         * modules/xprintf-posix (Comment): Likewise.
14011         * modules/xvasprintf-posix (Comment): Likewise.
14012         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
14013         * modules/floorf-tests (Depends-on): Likewise.
14014         * modules/round-tests (Depends-on): Likewise.
14015         * modules/roundf-tests (Depends-on): Likewise.
14016         * modules/trunc-tests (Depends-on): Likewise.
14017         * modules/truncf-tests (Depends-on): Likewise.
14018         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
14019         'fprintf-posix' module is not present.
14020         * tests/test-floorf2.c (check): Likewise.
14021         * tests/test-trunc2.c (check): Likewise.
14022         * tests/test-truncf2.c (check): Likewise.
14023         * tests/test-round2.c (equal): Likewise.
14024         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14025
14026 2010-04-07  Karl Berry  <karl@gnu.org>
14027
14028         * config/srclist.txt,
14029         * config/srclistvars.sh,
14030         * config/srclist-update: doc fixes.
14031
14032 2010-04-07  Jim Meyering  <meyering@redhat.com>
14033
14034         maint.mk: add a PATH crosschecking syntax-check rule
14035         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
14036         Useful if you use a test like the one in help-version (coreutils,
14037         diffutils, grep, gzip) that ensures $(VERSION) matches what is
14038         printed by prog --version.
14039
14040 2010-04-06  Bruno Haible  <bruno@clisp.org>
14041
14042         Fix link error on mingw.
14043         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
14044         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
14045
14046 2010-04-06  Bruno Haible  <bruno@clisp.org>
14047
14048         Assume rmdir exists.
14049         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
14050
14051 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
14052
14053         doc: update users.txt
14054         * users.txt: Add gcal.
14055
14056 2010-04-06  Jim Meyering  <meyering@redhat.com>
14057
14058         init.sh: simply unset TMPDIR rather than risking env -i
14059         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
14060         although it probably works fine on all Unix-based systems, some
14061         systems (Cygwin?) cannot tolerate a totally cleared environment.
14062         Suggestion from Eric Blake.
14063
14064 2010-04-06  Jim Meyering  <meyering@redhat.com>
14065
14066         init.sh: portability fix: use env's POSIX-specified -i option not -u
14067         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
14068         than unportable env -u.  Solaris 5.11's env lacks support for -u.
14069
14070 2010-04-05  Bruno Haible  <bruno@clisp.org>
14071
14072         btowc: Work around Cygwin 1.7.2 bug.
14073         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
14074         does not map NUL to 0.
14075         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
14076
14077 2010-04-05  Bruno Haible  <bruno@clisp.org>
14078
14079         Make the multithread modules work on Cygwin 1.7.2.
14080         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
14081         imported symbols can be declared weak, so that it returns "no" on
14082         Cygwin 1.7.2.
14083
14084 2010-04-05  Bruno Haible  <bruno@clisp.org>
14085
14086         Use the module 'strncat'.
14087         * modules/unistr/u8-strncat (Depends-on): Add strncat.
14088
14089         Tests for module 'strncat'.
14090         * modules/strncat-tests: New file.
14091         * tests/test-strncat.c: New file.
14092
14093         New module 'strncat'.
14094         * lib/string.in.h (strncat): New declaration.
14095         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
14096         * m4/strncat.m4: New file, based on m4/memchr.m4.
14097         * modules/strncat: New file.
14098         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
14099         is declared.
14100         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
14101         REPLACE_STRNCAT.
14102         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
14103         REPLACE_STRNCAT.
14104         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
14105         module.
14106         * tests/test-string-c++.cc: Check signature of strncat.
14107
14108 2010-04-05  Jim Meyering  <meyering@redhat.com>
14109
14110         xstrtoumax-tests: convert to use init.sh
14111         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
14112         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14113         Use Exit, not exit.
14114         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14115
14116         xstrtoimax-tests: convert to use init.sh
14117         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
14118         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14119         Use Exit, not exit.
14120         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14121
14122 2010-04-05  Bruno Haible  <bruno@clisp.org>
14123
14124         sys_socket: Avoid #define replacements in C++ mode.
14125         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
14126         warning to the function if possible, rather than #defining the symbol
14127         to a dysfunctional alias.
14128
14129 2010-04-05  Bruno Haible  <bruno@clisp.org>
14130
14131         fseeko: Fix C++ test error on mingw.
14132         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
14133         gl_FUNC_FSEEKO.
14134         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
14135         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
14136         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
14137         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
14138
14139 2010-04-05  Bruno Haible  <bruno@clisp.org>
14140
14141         duplocale: Improve test output.
14142         * tests/test-duplocale.c (main): Print reason for skipped test.
14143
14144 2010-04-05  Bruno Haible  <bruno@clisp.org>
14145
14146         Assume rmdir exists.
14147         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
14148         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
14149
14150 2010-04-05  Bruno Haible  <bruno@clisp.org>
14151
14152         Fix link error on Solaris 8 with cc.
14153         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
14154
14155 2010-04-05  Bruno Haible  <bruno@clisp.org>
14156
14157         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
14158         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
14159
14160 2010-04-05  Bruno Haible  <bruno@clisp.org>
14161
14162         vasprintf: Update documentation.
14163         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
14164
14165 2010-04-05  Bruno Haible  <bruno@clisp.org>
14166
14167         ptsname: Improve test.
14168         * tests/test-ptsname.c (main): Also try the various master names of BSD
14169         systems.
14170
14171 2010-04-05  Bruno Haible  <bruno@clisp.org>
14172
14173         memchr: Avoid a possible C++ test error.
14174         * lib/string.in.h (memchr): Provide declaration if function is missing.
14175         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
14176         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
14177         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
14178         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
14179
14180 2010-04-05  Bruno Haible  <bruno@clisp.org>
14181
14182         strtok_r: Improve idiom.
14183         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
14184         AC_LIBOBJ is used.
14185
14186 2010-04-05  Bruno Haible  <bruno@clisp.org>
14187
14188         strdup: Improve idiom.
14189         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
14190         AC_LIBOBJ is used.
14191         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
14192         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
14193         when AC_LIBOBJ is used.
14194
14195 2010-04-05  Bruno Haible  <bruno@clisp.org>
14196
14197         mbsinit, mbrtowc, wcrtomb: Improve idioms.
14198         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
14199         don't set REPLACE_MBSINIT to 1.
14200         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
14201         don't set REPLACE_MBRTOWC to 1.
14202         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
14203         exist, don't set REPLACE_MBSRTOWCS to 1.
14204         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
14205         exist, don't set REPLACE_MBSNRTOWCS to 1.
14206         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
14207         don't set REPLACE_WCRTOMB to 1.
14208         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
14209         exist, don't set REPLACE_WCSRTOMBS to 1.
14210         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
14211         exist, don't set REPLACE_WCSNRTOMBS to 1.
14212
14213 2010-04-05  Bruno Haible  <bruno@clisp.org>
14214
14215         ldexpl: Improve idiom.
14216         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
14217         make sure to set HAVE_DECL_LDEXPL to 0.
14218
14219 2010-04-05  Jim Meyering  <meyering@redhat.com>
14220
14221         xstrtol-tests: convert to use init.sh
14222         * modules/xstrtol-tests (Files): Add tests/init.sh.
14223         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14224         Use Exit, not exit.
14225         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14226
14227         atexit-tests: convert to use init.sh
14228         * modules/atexit-tests (Files): Add tests/init.sh.
14229         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14230         Use Exit, not exit.
14231         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14232
14233         init.sh: fix typo
14234         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
14235
14236         init.sh: make it easier for a test script to write to the tty, ...
14237         when using automake's parallel-tests mode.
14238         * tests/init.sh (stderr_fileno_): Define overridable variable.
14239         (warn_): New function, to use it.
14240         (fail_, skip_, framework_failure_): Use warn_.
14241
14242 2010-04-04  Bruno Haible  <bruno@clisp.org>
14243
14244         btowc: Avoid warning.
14245         * lib/btowc.c: Include <stdlib.h>.
14246         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
14247
14248 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
14249             Bruno Haible  <bruno@clisp.org>
14250
14251         wchar: Port to NetBSD 1.5.
14252         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
14253         * lib/wctype.in.h (WEOF): Likewise.
14254
14255 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
14256             Bruno Haible  <bruno@clisp.org>
14257
14258         Port extended stdio to NetBSD 1.5.
14259         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
14260         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
14261         older.
14262
14263 2010-04-04  Bruno Haible  <bruno@clisp.org>
14264
14265         string: Remove unused substitution.
14266         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
14267         HAVE_DECL_STRERROR.
14268         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
14269
14270 2010-04-04  Bruno Haible  <bruno@clisp.org>
14271
14272         strtod: Avoid a possible C++ test error.
14273         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
14274         set REPLACE_STRTOD.
14275
14276 2010-04-04  Bruno Haible  <bruno@clisp.org>
14277
14278         strerror: Update documentation.
14279         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
14280
14281 2010-04-04  Bruno Haible  <bruno@clisp.org>
14282
14283         stdio: Fix some C++ test errors on Solaris 8 with GCC.
14284         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
14285         _GL_CXXALIAS_SYS_CAST.
14286
14287 2010-04-04  Bruno Haible  <bruno@clisp.org>
14288
14289         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
14290         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
14291         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
14292         REPLACE_FREXPL to 1.
14293         * doc/posix-functions/frexpl.texi: Update documentation.
14294
14295 2010-04-04  Bruno Haible  <bruno@clisp.org>
14296
14297         math: Fix some C++ test errors on Solaris 8 and Cygwin.
14298         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
14299
14300 2010-04-04  Bruno Haible  <bruno@clisp.org>
14301
14302         Implement nanosleep for native Windows.
14303         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
14304
14305 2010-04-04  Bruno Haible  <bruno@clisp.org>
14306
14307         math: Fix some C++ test errors on Solaris 8.
14308         * lib/math.in.h (truncf, trunc): Use simpler idiom.
14309
14310 2010-04-04  Bruno Haible  <bruno@clisp.org>
14311
14312         math: Fix some C++ test errors on Cygwin.
14313         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
14314         truncl): Provide declaration if the system does not have it.
14315         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
14316         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
14317         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
14318         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
14319         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
14320         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
14321         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
14322         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
14323         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
14324         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
14325         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
14326         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
14327         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
14328         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
14329         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
14330         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
14331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
14332         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
14333         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
14334         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
14335         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
14336         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
14337
14338 2010-04-04  Bruno Haible  <bruno@clisp.org>
14339
14340         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
14341         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14342         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14343         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14344         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14345         * m4/isinf.m4 (gl_ISINF): Likewise.
14346         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14347
14348 2010-04-04  Bruno Haible  <bruno@clisp.org>
14349
14350         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
14351         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14352
14353 2010-04-04  Bruno Haible  <bruno@clisp.org>
14354
14355         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
14356         * modules/tmpfile (configure.ac): Update.
14357
14358         tmpfile: Fix C++ test error on mingw.
14359         * lib/stdio.in.h (tmpfile): New declaration.
14360         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
14361         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
14362         * modules/tmpfile (Depends-on): Add stdio.
14363         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
14364         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
14365         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
14366         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
14367         REPLACE_TMPFILE.
14368         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
14369
14370 2010-04-04  Bruno Haible  <bruno@clisp.org>
14371
14372         ioctl: Fix C++ test error on mingw.
14373         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
14374         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
14375         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
14376
14377 2010-04-03  Bruno Haible  <bruno@clisp.org>
14378
14379         wcwidth: Fix C++ test error on mingw.
14380         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
14381         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
14382         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
14383
14384 2010-04-03  Bruno Haible  <bruno@clisp.org>
14385
14386         nanosleep: Fix C++ test error on mingw.
14387         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
14388         * lib/time.in.h (nanosleep): Use modern idiom.
14389         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
14390         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
14391         REPLACE_NANOSLEEP to 1.
14392         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
14393         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
14394
14395 2010-04-03  Bruno Haible  <bruno@clisp.org>
14396
14397         strptime: Fix C++ test error on mingw.
14398         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
14399         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
14400         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
14401         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
14402         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
14403         not REPLACE_STRPTIME.
14404         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
14405         REPLACE_STRPTIME.
14406
14407 2010-04-03  Bruno Haible  <bruno@clisp.org>
14408
14409         timegm: Fix C++ test error on mingw.
14410         * lib/time.in.h (timegm): Use modern idiom.
14411         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
14412         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
14413         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
14414         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
14415
14416 2010-04-03  Bruno Haible  <bruno@clisp.org>
14417
14418         timegm: Assume declaration if function exists.
14419         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
14420         if it exists. Don't clobber ac_cv_func_timegm.
14421
14422 2010-04-03  Bruno Haible  <bruno@clisp.org>
14423
14424         time_r: Fix C++ test error on mingw.
14425         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
14426         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
14427         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
14428         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
14429         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
14430
14431 2010-04-03  Bruno Haible  <bruno@clisp.org>
14432
14433         time_r: Minor updates.
14434         * modules/time_r (Description): Mention the provided functions.
14435         * lib/time_r.c: Don't include <string.h>.
14436         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
14437         * doc/posix-functions/localtime_r.texi: Likewise.
14438
14439 2010-04-03  Bruno Haible  <bruno@clisp.org>
14440
14441         time: Fix regression introduced on 2010-03-08.
14442         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
14443         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
14444
14445 2010-04-03  Jim Meyering  <meyering@redhat.com>
14446
14447         maint.mk: don't silently disable project-specific syntax-check rules
14448         * top/maint.mk (_prohibit_regexp): Define, to help people realize
14449         that they need to convert their project-specific syntax-check rules
14450         to use the new _sc_search_regexp.
14451
14452 2010-04-03  Bruno Haible  <bruno@clisp.org>
14453
14454         fchdir: Fix regression introduced on 2010-03-08.
14455         * lib/unistd.in.h (fchdir): Fix declaration.
14456         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
14457         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
14458         REPLACE_FCHDIR.
14459         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
14460         REPLACE_FCHDIR.
14461
14462 2010-04-03  Bruno Haible  <bruno@clisp.org>
14463
14464         getpagesize: Fix C++ test error on mingw.
14465         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
14466         system does not declare the function.
14467         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
14468         declared.
14469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14470         HAVE_DECL_GETPAGESIZE.
14471         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
14472
14473 2010-04-03  Bruno Haible  <bruno@clisp.org>
14474
14475         stdio: Make C++ tests work on mingw.
14476         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
14477         does not declare the function.
14478
14479 2010-04-03  Bruno Haible  <bruno@clisp.org>
14480
14481         ftello: Fix C++ test error on mingw.
14482         * lib/stdio.in.h (ftello): Use modern idiom.
14483         * lib/ftello.c (ftello): Renamed from rpl_ftello.
14484         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
14485         is missing and that it needs to be replaced.
14486         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
14487         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
14488         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
14489
14490 2010-04-03  Bruno Haible  <bruno@clisp.org>
14491
14492         fseeko: Fix C++ test error on mingw.
14493         * lib/stdio.in.h (fseeko): Use modern idiom.
14494         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
14495         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
14496         is missing and that it needs to be replaced.
14497         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
14498         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
14499         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
14500
14501 2010-04-03  Bruno Haible  <bruno@clisp.org>
14502
14503         mkstemp: Fix C++ test error on mingw.
14504         * lib/stdlib.in.h (mkstemp): Use modern idiom.
14505         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
14506         function is missing and that it needs to be replaced.
14507         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
14508         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
14509
14510 2010-04-03  Bruno Haible  <bruno@clisp.org>
14511
14512         stpncpy: Fix C++ test error on mingw.
14513         * lib/string.in.h (stpncpy): Use modern idiom.
14514         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
14515         function is missing and that it needs to be replaced.
14516         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14517         REPLACE_STPNCPY.
14518         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
14519
14520 2010-04-03  Bruno Haible  <bruno@clisp.org>
14521
14522         sys_stat: Fix C++ test error on mingw.
14523         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
14524         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
14525
14526 2010-04-03  Bruno Haible  <bruno@clisp.org>
14527
14528         pty: Update doc.
14529         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
14530
14531 2010-04-03  Bruno Haible  <bruno@clisp.org>
14532
14533         unistd: Fix C++ test error on mingw.
14534         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
14535
14536 2010-04-03  Bruno Haible  <bruno@clisp.org>
14537
14538         Update doc regarding mingw.
14539         * doc/glibc-functions/openpty.texi: Update regarding mingw.
14540         * doc/glibc-functions/login_tty.texi: Likewise.
14541         * doc/glibc-functions/forkpty.texi: Likewise.
14542
14543 2010-04-03  Bruno Haible  <bruno@clisp.org>
14544
14545         stdlib: Avoid compilation failure of c-strtold on mingw.
14546         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
14547
14548 2010-04-03  Bruno Haible  <bruno@clisp.org>
14549
14550         locale: Make C++ tests work on Cygwin and mingw.
14551         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
14552         cannot provide the function.
14553         Reported by Simon Josefsson.
14554
14555 2010-04-03  Bruno Haible  <bruno@clisp.org>
14556
14557         localename: Port to MacOS X 10.6.
14558         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
14559         memory layout of the locales in MacOS X 10.6 as well.
14560         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
14561
14562 2010-04-02  Bruno Haible  <bruno@clisp.org>
14563
14564         gnulib-tool: Ensure that long-running tests are executed last.
14565         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
14566         running tests after the one for the other tests.
14567
14568 2010-04-02  Bruno Haible  <bruno@clisp.org>
14569
14570         gnulib-tool: Ensure the tests in the main directory are executed first.
14571         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
14572         start with the current directory.
14573
14574 2010-04-02  Bruno Haible  <bruno@clisp.org>
14575
14576         Tests for module 'havelib', moved here from GNU gettext.
14577         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
14578         modifications.
14579         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
14580         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
14581         with modifications.
14582         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
14583         modifications.
14584         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
14585         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
14586         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
14587         with modifications.
14588         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
14589         with modifications.
14590         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
14591         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
14592         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
14593         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
14594         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
14595         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
14596         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
14597         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
14598         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
14599         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
14600         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
14601         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
14602         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
14603         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
14604         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
14605         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
14606         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
14607         with modifications.
14608         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
14609         with modifications.
14610         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
14611         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
14612         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
14613         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
14614         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
14615         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
14616         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
14617         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
14618         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
14619         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
14620         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
14621         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
14622         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
14623         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
14624         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
14625         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
14626         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
14627         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
14628         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
14629         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
14630         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
14631         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
14632         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
14633         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
14634         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
14635         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
14636         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
14637         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
14638         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
14639         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
14640         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
14641         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
14642         * tests/havelib/rpathx/rpathx.c: New file, from
14643         gettext/autoconf-lib-link.
14644         * tests/havelib/rpathx/Makefile.am: New file, from
14645         gettext/autoconf-lib-link.
14646         * tests/havelib/rpathx/configure.ac: New file, from
14647         gettext/autoconf-lib-link with modifications.
14648         * tests/havelib/rpathy/rpathy.c: New file, from
14649         gettext/autoconf-lib-link.
14650         * tests/havelib/rpathy/Makefile.am: New file, from
14651         gettext/autoconf-lib-link.
14652         * tests/havelib/rpathy/configure.ac: New file, from
14653         gettext/autoconf-lib-link with modifications.
14654         * tests/havelib/rpathz/rpathz.c: New file, from
14655         gettext/autoconf-lib-link.
14656         * tests/havelib/rpathz/Makefile.am: New file, from
14657         gettext/autoconf-lib-link.
14658         * tests/havelib/rpathz/configure.ac: New file, from
14659         gettext/autoconf-lib-link with modifications.
14660         * tests/havelib/rpathlx/usex.c: New file, from
14661         gettext/autoconf-lib-link.
14662         * tests/havelib/rpathlx/Makefile.am: New file, from
14663         gettext/autoconf-lib-link.
14664         * tests/havelib/rpathlx/configure.ac: New file, from
14665         gettext/autoconf-lib-link with modifications.
14666         * tests/havelib/rpathly/usey.c: New file, from
14667         gettext/autoconf-lib-link.
14668         * tests/havelib/rpathly/Makefile.am: New file, from
14669         gettext/autoconf-lib-link.
14670         * tests/havelib/rpathly/configure.ac: New file, from
14671         gettext/autoconf-lib-link with modifications.
14672         * tests/havelib/rpathlz/usez.c: New file, from
14673         gettext/autoconf-lib-link.
14674         * tests/havelib/rpathlz/Makefile.am: New file, from
14675         gettext/autoconf-lib-link.
14676         * tests/havelib/rpathlz/configure.ac: New file, from
14677         gettext/autoconf-lib-link with modifications.
14678         * tests/havelib/rpathlyx/usey.c: New file, from
14679         gettext/autoconf-lib-link.
14680         * tests/havelib/rpathlyx/Makefile.am: New file, from
14681         gettext/autoconf-lib-link.
14682         * tests/havelib/rpathlyx/configure.ac: New file, from
14683         gettext/autoconf-lib-link with modifications.
14684         * tests/havelib/rpathlzyx/usez.c: New file, from
14685         gettext/autoconf-lib-link.
14686         * tests/havelib/rpathlzyx/Makefile.am: New file, from
14687         gettext/autoconf-lib-link.
14688         * tests/havelib/rpathlzyx/configure.ac: New file, from
14689         gettext/autoconf-lib-link with modifications.
14690         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
14691         with modifications.
14692
14693 2010-04-02  Bruno Haible  <bruno@clisp.org>
14694
14695         gnulib-tool: Create distributed built sources also for the tests.
14696         * gnulib-tool (func_create_testdir): Also generate distributed built
14697         sources in the tests directory.
14698
14699 2010-04-02  Bruno Haible  <bruno@clisp.org>
14700
14701         gnulib-tool: Obey user's environment variables.
14702         * gnulib-tool (func_create_testdir): When creating built sources,
14703         respect the environment variables for autoconf, automake, etc. given by
14704         the user.
14705
14706 2010-04-02  Bruno Haible  <bruno@clisp.org>
14707
14708         gnulib-tool: Provide the value of --m4-base to modules.
14709         * gnulib-tool (func_import, func_create_testdir): Emit a definition
14710         of gl_m4_base.
14711
14712 2010-04-02  Eric Blake  <eblake@redhat.com>
14713
14714         maint.mk: fix some fallout
14715         * NEWS: Document the incompatible change, and its effect on cfg.mk.
14716         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
14717
14718 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14719
14720         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
14721         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
14722         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
14723         (sc_cast_of_x_alloc_return_value): Likewise.
14724         (sc_cast_of_alloca_return_value): Likewise.
14725         (sc_space_tab): Likewise.
14726         (sc_prohibit_atoi_atof): Likewise.
14727         (sc_prohibit_magic_number_exit): Likewise.
14728         (sc_error_exit_success): Likewise.
14729         (sc_file_system): Likewise.
14730         (sc_prohibit_have_config_h): Likewise.
14731         (sc_require_config_h): Likewise.
14732         (sc_prohibit_HAVE_MBRTOWC): Likewise.
14733         (sc_obsolete_symbols): Likewise.
14734         (sc_changelog): Likewise.
14735         (sc_program_name): Likewise.
14736         (sc_the_the): Likewise.
14737         (sc_trailing_blank): Likewise.
14738         (sc_two_space_separator_in_usage): Likewise.
14739         (sc_useless_cpp_parens): Likewise.
14740         (sc_GPL_version): Likewise.
14741         (sc_GFDL_version): Likewise.
14742         (sc_texinfo_acronym): Likewise.
14743         (sc_prohibit_cvs_keyword): Likewise.
14744         (sc_prohibit_stat_st_blocks): Likewise.
14745         (sc_prohibit_S_IS_definition): Likewise.
14746         (sc_redundant_const): Likewise.
14747         (sc_makefile_TAB_only_indentation): Likewise.
14748         (sc_m4_quote_check): Likewise.
14749         (sc_makefile_path_separator_check): Likewise.
14750         (sc_copyright_check): Likewise.
14751         (sc_Wundef_boolean): Likewise.
14752         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
14753
14754         maint.mk: match 0 or more whitespace-before-function-call '('
14755         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
14756         that have zero or two-and-more spaces between the function name
14757         and the open parenthesis.
14758         (sc_error_message_warn_fatal): Likewise.
14759         (sc_error_message_uppercase): Likewise.
14760         (sc_error_message_period): Likewise.
14761
14762 2010-03-31  Eric Blake  <eblake@redhat.com>
14763
14764         maint.mk: check for [ as well as test
14765         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
14766         Based on a libvirt report by Matthias Bolte.
14767
14768         gnumakefile: don't squelch _version output
14769         * top/GNUmakefile (_version): Create one-shot dependency rather
14770         than using $(shell) when version must be regenerated.
14771         (_autoreconf): Run verbosely, by default.
14772
14773         sys_time: avoid compiler warnings
14774         * lib/sys_time.in.h (includes): Ensure gcc pragma is
14775         unconditional, fixing regression from 2010-03-29.
14776         Reported by Simon Josefsson.
14777
14778 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14779
14780         maint.mk: s/_header_without_use/_sc_header_without_use/
14781         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
14782         (sc_prohibit_assert_without_use): Use the new name.
14783         (sc_prohibit_close_stream_without_use): Likewise.
14784         (sc_prohibit_getopt_without_use): Likewise.
14785         (sc_prohibit_quotearg_without_use): Likewise.
14786         (sc_prohibit_quote_without_use): Likewise.
14787         (sc_prohibit_long_options_without_use): Likewise.
14788         (sc_prohibit_inttostr_without_use): Likewise.
14789         (sc_prohibit_ignore_value_without_use): Likewise.
14790         (sc_prohibit_error_without_use): Likewise.
14791         (sc_prohibit_xalloc_without_use): Likewise.
14792         (sc_prohibit_hash_without_use): Likewise.
14793         (sc_prohibit_hash_pjw_without_use): Likewise.
14794         (sc_prohibit_safe_read_without_use): Likewise.
14795         (sc_prohibit_argmatch_without_use): Likewise.
14796         (sc_prohibit_canonicalize_without_use): Likewise.
14797         (sc_prohibit_root_dev_ino_without_use): Likewise.
14798         (sc_prohibit_openat_without_use): Likewise.
14799         (sc_prohibit_c_ctype_without_use): Likewise.
14800         (sc_prohibit_signal_without_use): Likewise.
14801         (sc_prohibit_intprops_without_use): Likewise.
14802
14803 2010-03-30  Eric Blake  <eblake@redhat.com>
14804
14805         maint: improve module indicators
14806         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
14807         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
14808         columns, and avoid extra macro expansion.
14809
14810         fdopendir: work around FreeBSD bug
14811         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
14812         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
14813         * modules/dirent (Makefile.am): Substitute it.
14814         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
14815         declaration.
14816         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
14817         fix.
14818         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14819
14820 2010-03-29  Bruno Haible  <bruno@clisp.org>
14821
14822         Emit #pragma system_header after the inclusion guard, not before.
14823         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
14824         guard that spans the entire file, not before. This enables an
14825         optimization in GCC's preprocessor.
14826         * lib/ctype.in.h: Likewise.
14827         * lib/dirent.in.h: Likewise.
14828         * lib/errno.in.h: Likewise.
14829         * lib/float.in.h: Likewise.
14830         * lib/getopt.in.h: Likewise.
14831         * lib/iconv.in.h: Likewise.
14832         * lib/langinfo.in.h: Likewise.
14833         * lib/locale.in.h: Likewise.
14834         * lib/math.in.h: Likewise.
14835         * lib/netdb.in.h: Likewise.
14836         * lib/netinet_in.in.h: Likewise.
14837         * lib/pty.in.h: Likewise.
14838         * lib/sched.in.h: Likewise.
14839         * lib/se-selinux.in.h: Likewise.
14840         * lib/search.in.h: Likewise.
14841         * lib/spawn.in.h: Likewise.
14842         * lib/stdarg.in.h: Likewise.
14843         * lib/stdint.in.h: Likewise.
14844         * lib/string.in.h: Likewise.
14845         * lib/strings.in.h: Likewise.
14846         * lib/sys_file.in.h: Likewise.
14847         * lib/sys_ioctl.in.h: Likewise.
14848         * lib/sys_time.in.h: Likewise.
14849         * lib/sys_times.in.h: Likewise.
14850         * lib/sys_utsname.in.h: Likewise.
14851         * lib/sys_wait.in.h: Likewise.
14852         * lib/sysexits.in.h: Likewise.
14853         * lib/wctype.in.h: Likewise.
14854
14855 2010-03-28  James Youngman  <jay@gnu.org>
14856
14857         save-cwd: don't leak a file descriptor when the caller execs.
14858         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
14859         saved file descriptor.
14860         * modules/save-cwd (Depends-on): Depend on cloexec.
14861
14862 2010-03-29  Bruno Haible  <bruno@clisp.org>
14863
14864         Remove vestiges of fts-lgpl module.
14865         * lib/fts_.h: Assume GNULIB_FTS is 1.
14866         * lib/fts.c: Likewise.
14867         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
14868
14869 2010-03-28  Bruno Haible  <bruno@clisp.org>
14870
14871         Fix definition of tests witness macro.
14872         * gnulib-tool (func_import): Fix definition of witness macro.
14873
14874 2010-03-28  Bruno Haible  <bruno@clisp.org>
14875
14876         Fix ioctl's protoype on glibc systems.
14877         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
14878         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
14879         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
14880         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
14881         signature. If not, arrange to replace the ioctl function.
14882         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
14883         REPLACE_IOCTL.
14884         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
14885         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
14886         Reported by Ludovic Courtès <ludo@gnu.org>.
14887
14888 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
14889
14890         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
14891         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
14892         made it so grep -r --include=GLOB* ... did not work.
14893
14894 2010-03-26  Jim Meyering  <meyering@redhat.com>
14895             Eric Blake  <eblake@redhat.com>
14896
14897         maint.mk: prohibit use of test's -o and -a operators
14898         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
14899
14900 2010-03-28  Bruno Haible  <bruno@clisp.org>
14901
14902         Remove unused GNULIB_XYZ macro definitions.
14903         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
14904         invocation.
14905
14906 2010-03-28  Bruno Haible  <bruno@clisp.org>
14907
14908         Mark privileged tests modules.
14909         * modules/idpriv-drop-tests (Status): New section.
14910         * modules/idpriv-droptemp-tests (Status): New section.
14911
14912 2010-03-28  Bruno Haible  <bruno@clisp.org>
14913
14914         Split C++ tests into separate tests modules.
14915         * modules/dirent-c++-tests: New file, extracted from
14916         modules/dirent-tests.
14917         * modules/dirent-tests: Depend on it.
14918         * modules/fcntl-h-c++-tests: New file, extracted from
14919         modules/fcntl-h-tests.
14920         * modules/fcntl-h-tests: Depend on it.
14921         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
14922         * modules/glob-tests: Depend on it.
14923         * modules/iconv-h-c++-tests: New file, extracted from
14924         modules/iconv-h-tests.
14925         * modules/iconv-h-tests: Depend on it.
14926         * modules/langinfo-c++-tests: New file, extracted from
14927         modules/langinfo-tests.
14928         * modules/langinfo-tests: Depend on it.
14929         * modules/locale-c++-tests: New file, extracted from
14930         modules/locale-tests.
14931         * modules/locale-tests: Depend on it.
14932         * modules/math-c++-tests: New file, extracted from modules/math-tests.
14933         * modules/math-tests: Depend on it.
14934         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
14935         * modules/pty-tests: Depend on it.
14936         * modules/search-c++-tests: New file, extracted from
14937         modules/search-tests.
14938         * modules/search-tests: Depend on it.
14939         * modules/signal-c++-tests: New file, extracted from
14940         modules/signal-tests.
14941         * modules/signal-tests: Depend on it.
14942         * modules/spawn-c++-tests: New file, extracted from
14943         modules/spawn-tests.
14944         * modules/spawn-tests: Depend on it.
14945         * modules/stdio-c++-tests: New file, extracted from
14946         modules/stdio-tests.
14947         * modules/stdio-tests: Depend on it.
14948         * modules/stdlib-c++-tests: New file, extracted from
14949         modules/stdlib-tests.
14950         * modules/stdlib-tests: Depend on it.
14951         * modules/string-c++-tests: New file, extracted from
14952         modules/string-tests.
14953         * modules/string-tests: Depend on it.
14954         * modules/sys_ioctl-c++-tests: New file, extracted from
14955         modules/sys_ioctl-tests.
14956         * modules/sys_ioctl-tests: Depend on it.
14957         * modules/sys_select-c++-tests: New file, extracted from
14958         modules/sys_select-tests.
14959         * modules/sys_select-tests: Depend on it.
14960         * modules/sys_socket-c++-tests: New file, extracted from
14961         modules/sys_socket-tests.
14962         * modules/sys_socket-tests: Depend on it.
14963         * modules/sys_stat-c++-tests: New file, extracted from
14964         modules/sys_stat-tests.
14965         * modules/sys_stat-tests: Depend on it.
14966         * modules/sys_time-c++-tests: New file, extracted from
14967         modules/sys_time-tests.
14968         * modules/sys_time-tests: Depend on it.
14969         * modules/time-c++-tests: New file, extracted from modules/time-tests.
14970         * modules/time-tests: Depend on it.
14971         * modules/unistd-c++-tests: New file, extracted from
14972         modules/unistd-tests.
14973         * modules/unistd-tests: Depend on it.
14974         * modules/wchar-c++-tests: New file, extracted from
14975         modules/wchar-tests.
14976         * modules/wchar-tests: Depend on it.
14977         * modules/wctype-c++-tests: New file, extracted from
14978         modules/wctype-tests.
14979         * modules/wctype-tests: Depend on it.
14980         Reported by Simon Josefsson.
14981
14982 2010-03-28  Bruno Haible  <bruno@clisp.org>
14983
14984         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
14985         * gnulib-tool (func_exists_module): New function, extracted from
14986         func_verify_module.
14987         (func_verify_module): Use it.
14988         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
14989         'foo' only if 'foo' exists.
14990         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
14991         module.
14992
14993 2010-03-28  Bruno Haible  <bruno@clisp.org>
14994
14995         gnulib-tool: Add support for special categories of tests.
14996         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
14997         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
14998         (func_usage): Document them.
14999         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
15000         inc_unportable_tests, inc_all_tests): New variables.
15001         (func_acceptable): Consider these variables.
15002         (func_modules_transitive_closure): Make it work when the 'Status' field
15003         consists of multiple words.
15004         (func_import): Store and restore the values of inc_cxx_tests,
15005         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
15006         inc_all_tests in gnulib-comp.m4.
15007         (func_create_testdir): Set inc_all_tests to true.
15008         * doc/gnulib.texi (Extra tests modules): New section.
15009         Suggested by Jim Meyering.
15010
15011 2010-03-28  Bruno Haible  <bruno@clisp.org>
15012
15013         ansi-c++-opt: Allow turning off the C++ build by default.
15014         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
15015         gl_CXX_CHOICE_DEFAULT_NO is defined.
15016         Requested by Eric Blake.
15017
15018 2010-03-28  Bruno Haible  <bruno@clisp.org>
15019
15020         unistd: Avoid #define replacements in C++ mode.
15021         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15022         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15023         setsockopt, shutdown, select): In C++, attach a warning to the function
15024         if possible, rather than #defining the symbol to a dysfunctional alias.
15025         Reported by John W. Eaton <jwe@gnu.org>.
15026
15027 2010-03-28  Bruno Haible  <bruno@clisp.org>
15028
15029         Fix link errors on mingw.
15030         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
15031         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
15032         $(LIBSOCKET).
15033         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
15034         $(LIBSOCKET).
15035
15036 2010-03-28  Bruno Haible  <bruno@clisp.org>
15037             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15038
15039         lib-ignore: Determine different options for different compilers.
15040         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
15041         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
15042         Add comments.
15043         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
15044         * NEWS: Mention the change.
15045
15046 2010-03-27  Bruno Haible  <bruno@clisp.org>
15047
15048         Remove unused GNULIB_XYZ macro definitions.
15049         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15050         * modules/fseek (configure.ac): Likewise.
15051         * modules/ioctl (configure.ac): Likewise.
15052         * modules/open (configure.ac): Likewise.
15053         * modules/stdlib-safer (configure.ac): Likewise.
15054
15055 2010-03-27  Bruno Haible  <bruno@clisp.org>
15056
15057         Add a remark about certain modules.
15058         * modules/malloc (Comment): New section.
15059         * modules/realloc (Comment): Likewise.
15060         * modules/sigpipe (Comment): Likewise.
15061
15062 2010-03-27  Bruno Haible  <bruno@clisp.org>
15063
15064         Resolve conflict between the two kinds of module indicators.
15065         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
15066         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
15067         * modules/canonicalize (configure.ac): Invoke
15068         gl_MODULE_INDICATOR_FOR_TESTS.
15069         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
15070         GNULIB_XYZ.
15071         * tests/test-dirent-c++.cc: Likewise.
15072         * tests/test-dirent-safer.c: Likewise.
15073         * tests/test-dup2.c: Likewise.
15074         * tests/test-fchdir.c: Likewise.
15075         * tests/test-fcntl-h-c++.cc: Likewise.
15076         * tests/test-getopt.c: Likewise.
15077         * tests/test-getopt.h: Likewise.
15078         * tests/test-langinfo-c++.cc: Likewise.
15079         * tests/test-locale-c++.cc: Likewise.
15080         * tests/test-math-c++.cc: Likewise.
15081         * tests/test-pty-c++.cc: Likewise.
15082         * tests/test-search-c++.cc: Likewise.
15083         * tests/test-signal-c++.cc: Likewise.
15084         * tests/test-spawn-c++.cc: Likewise.
15085         * tests/test-stdio-c++.cc: Likewise.
15086         * tests/test-stdlib-c++.cc: Likewise.
15087         * tests/test-string-c++.cc: Likewise.
15088         * tests/test-sys_ioctl-c++.cc: Likewise.
15089         * tests/test-sys_select-c++.cc: Likewise.
15090         * tests/test-sys_socket-c++.cc: Likewise.
15091         * tests/test-sys_stat-c++.cc: Likewise.
15092         * tests/test-sys_time-c++.cc: Likewise.
15093         * tests/test-time-c++.cc: Likewise.
15094         * tests/test-unistd-c++.cc: Likewise.
15095         * tests/test-wchar-c++.cc: Likewise.
15096         * tests/uninorm/test-u8-nfc.c: Likewise.
15097         * tests/uninorm/test-u8-nfd.c: Likewise.
15098         * tests/uninorm/test-u8-nfkc.c: Likewise.
15099         * tests/uninorm/test-u8-nfkd.c: Likewise.
15100         * tests/uninorm/test-u16-nfc.c: Likewise.
15101         * tests/uninorm/test-u16-nfd.c: Likewise.
15102         * tests/uninorm/test-u16-nfkc.c: Likewise.
15103         * tests/uninorm/test-u16-nfkd.c: Likewise.
15104         * tests/uninorm/test-u32-nfc.c: Likewise.
15105         * tests/uninorm/test-u32-nfc-big.c: Likewise.
15106         * tests/uninorm/test-u32-nfd.c: Likewise.
15107         * tests/uninorm/test-u32-nfd-big.c: Likewise.
15108         * tests/uninorm/test-u32-nfkc.c: Likewise.
15109         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
15110         * tests/uninorm/test-u32-nfkd.c: Likewise.
15111         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
15112         * tests/uninorm/test-u32-normalize-big.c: Likewise.
15113
15114 2010-03-27  Bruno Haible  <bruno@clisp.org>
15115
15116         Distinguish two kinds of module indicators.
15117         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
15118         gl_MODULE_INDICATOR.
15119         (gl_MODULE_INDICATOR): New macro.
15120         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
15121         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
15122         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
15123         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
15124         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
15125         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
15126         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
15127         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
15128         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
15129         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
15130         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
15131         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
15132         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
15133         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
15134         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
15135         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
15136         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
15137         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
15138         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
15139         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
15140         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
15141         * modules/cloexec (configure.ac): Likewise.
15142         * modules/getopt-gnu (configure.ac): Likewise.
15143         * modules/uninorm/u8-normalize (configure.ac): Likewise.
15144         * modules/uninorm/u16-normalize (configure.ac): Likewise.
15145         * modules/uninorm/u32-normalize (configure.ac): Likewise.
15146         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
15147
15148 2010-03-27  Bruno Haible  <bruno@clisp.org>
15149
15150         New module description field 'Comment'.
15151         * gnulib-tool: New option --extract-comment.
15152         (func_usage): Document it.
15153         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
15154         (func_get_comment): New function.
15155         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
15156
15157 2010-03-27  Bruno Haible  <bruno@clisp.org>
15158
15159         Addendum to 2010-02-07 commit.
15160         * gnulib-tool (func_usage): Document --extract-applicability option.
15161
15162 2010-03-27  Bruno Haible  <bruno@clisp.org>
15163
15164         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
15165         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
15166         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
15167         rather than link errors.
15168
15169 2010-03-27  Bruno Haible  <bruno@clisp.org>
15170
15171         Avoid side effects from tests-related modules on the compilation of lib.
15172         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
15173         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
15174         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
15175         parameter. Emit into AM_CPPFLAGS a definition of the designated C
15176         macro.
15177         (func_import): Define a witness macro. Assign it a value that depends
15178         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
15179         tests-related modules.
15180         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
15181         Reported by Jim Meyering.
15182
15183 2010-03-27  Bruno Haible  <bruno@clisp.org>
15184
15185         Factorize common .m4 code.
15186         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
15187         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
15188         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
15189         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
15190         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
15191         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
15192         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
15193         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
15194         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
15195         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
15196         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
15197         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
15198         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
15199         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
15200         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
15201         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
15202         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
15203         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
15204         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
15205         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
15206         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
15207         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
15208         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
15209         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
15210         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
15211         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
15212         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
15213         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
15214         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
15215         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
15216         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
15217         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
15218
15219 2010-03-27  Bruno Haible  <bruno@clisp.org>
15220
15221         Fix a compilation error on Cygwin with g++ >= 4.3.
15222         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
15223         if it is undefined or if we alias it to chmod.
15224         (lstat): Don't warn about the use of this function if it is undefined
15225         or if we alias it to stat.
15226         Reported by Simon Josefsson.
15227
15228 2010-03-27  Bruno Haible  <bruno@clisp.org>
15229
15230         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
15231         * modules/getlogin (configure.ac): Update.
15232
15233         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
15234         * modules/getlogin_r (configure.ac): Update.
15235
15236         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
15237         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
15238         * modules/inet_ntop (configure.ac): Update.
15239
15240         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
15241         * modules/inet_pton (configure.ac): Update.
15242
15243         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
15244         * modules/mbslen (configure.ac): Update.
15245
15246         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
15247         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
15248         * modules/forkpty (configure.ac): Update.
15249         * modules/openpty (configure.ac): Update.
15250
15251 2010-03-26  Simon Josefsson  <simon@josefsson.org>
15252
15253         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
15254         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
15255
15256 2010-03-25  Eric Blake  <eblake@redhat.com>
15257
15258         maint: use pragma consistently across replacement headers
15259         * lib/ctype.in.h (system_header): Hoist for consistent placement.
15260         * lib/dirent.in.h (system_header): Likewise.
15261         * lib/errno.in.h (system_header): Likewise.
15262         * lib/float.in.h (system_header): Likewise.
15263         * lib/getopt.in.h (system_header): Likewise.
15264         * lib/iconv.in.h (system_header): Likewise.
15265         * lib/inttypes.in.h (system_header): Likewise.
15266         * lib/langinfo.in.h (system_header): Likewise.
15267         * lib/locale.in.h (system_header): Likewise.
15268         * lib/math.in.h (system_header): Likewise.
15269         * lib/netdb.in.h (system_header): Likewise.
15270         * lib/netinet_in.in.h (system_header): Likewise.
15271         * lib/pty.in.h (system_header): Likewise.
15272         * lib/sched.in.h (system_header): Likewise.
15273         * lib/se-selinux.in.h (system_header): Likewise.
15274         * lib/search.in.h (system_header): Likewise.
15275         * lib/spawn.in.h (system_header): Likewise.
15276         * lib/stdarg.in.h (system_header): Likewise.
15277         * lib/stdint.in.h (system_header): Likewise.
15278         * lib/string.in.h (system_header): Likewise.
15279         * lib/strings.in.h (system_header): Likewise.
15280         * lib/sys_file.in.h (system_header): Likewise.
15281         * lib/sys_ioctl.in.h (system_header): Likewise.
15282         * lib/sys_socket.in.h (system_header): Likewise.
15283         * lib/sys_times.in.h (system_header): Likewise.
15284         * lib/sys_utsname.in.h (system_header): Likewise.
15285         * lib/sys_wait.in.h (system_header): Likewise.
15286         * lib/sysexits.in.h (system_header): Likewise.
15287         * lib/unistd.in.h (system_header): Likewise.
15288         * lib/wctype.in.h (system_header): Likewise.
15289
15290         arpa/inet: fix mingw compilation warning
15291         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
15292         Reported by Matthew Bolte.
15293
15294 2010-03-25  Bruno Haible  <bruno@clisp.org>
15295
15296         Avoid collision between gnulib wrapper and libintl wrapper.
15297         * lib/printf.c (printf): Don't define if a printf wrapper is already
15298         defined in intl/printf.c.
15299         Reported by Michel Boaventura <michel@michelboaventura.com>.
15300
15301 2010-03-25  Bruno Haible  <bruno@clisp.org>
15302
15303         Use ANSI C.
15304         * lib/readutmp.h (getutent): Provide ANSI C prototype.
15305
15306 2010-03-25  Bruno Haible  <bruno@clisp.org>
15307
15308         Minor formatting changes.
15309         * lib/acosl.c: Insert space before function argument list.
15310         * lib/argz.c: Likewise.
15311         * lib/asinl.c: Likewise.
15312         * lib/expl.c: Likewise.
15313         * lib/gen-uni-tables.c: Likewise.
15314         * lib/gettext.h: Likewise.
15315         * lib/glthread/lock.h: Likewise.
15316         * lib/tanl.c: Likewise.
15317         * lib/uniname/uniname.c: Likewise.
15318         * tests/test-idpriv-drop.c: Likewise.
15319         * tests/test-idpriv-droptemp.c: Likewise.
15320         * tests/test-lock.c: Likewise.
15321         * tests/test-tls.c: Likewise.
15322         * lib/argp-help.c: Insert space before function-like macro argument
15323         list.
15324         * lib/memcmp.c: Likewise.
15325         * tests/test-base64.c: Likewise.
15326         * lib/localename.c: Insert space before sizeof's argument list.
15327         * lib/safe-alloc.h: Likewise.
15328         * lib/file-set.h: Insert space before macro argument list.
15329         * tests/test-argp.c: Likewise.
15330         * lib/argp-namefrob.h: Insert space before function parameter list.
15331         * lib/getaddrinfo.c: Likewise.
15332         * lib/netdb.in.h: Likewise.
15333         * lib/parse-duration.h: Likewise.
15334         * lib/parse-duration.c: Likewise.
15335         * lib/poll.c: Likewise.
15336         * lib/select.c: Likewise.
15337         * lib/trim.h: Likewise.
15338         * tests/test-usleep.c: Likewise.
15339         * lib/ldexpl.c: Insert space before function parameter list and before
15340         function argument list.
15341         * lib/logl.c: Likewise.
15342         * lib/sqrtl.c: Likewise.
15343         * lib/trim.c: Likewise.
15344         * lib/cosl.c: Use GNU style indentation. Insert space before function
15345         argument list.
15346         * lib/sinl.c: Likewise.
15347         * lib/tsearch.c: Insert space after 'for'.
15348         Reported by Jim Meyering.
15349
15350 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
15351
15352         * maint.mk (sc_Wundef_boolean): Check for the presence of the
15353         config header before grepping, as it's not present before
15354         autoreconf/configure are run.  Reported by Simon Josefsson.
15355
15356 2010-03-23  Bruno Haible  <bruno@clisp.org>
15357
15358         pt_chown: Make it work with automake < 1.11.
15359         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
15360         Reported by Simon Josefsson.
15361
15362 2010-03-23  Bruno Haible  <bruno@clisp.org>
15363
15364         pt_chown: Don't depend on GPLed modules.
15365         * lib/pt_chown.c: Don't include idpriv.h.
15366         (main): Don't drop privileges.
15367         * modules/pt_chown (Depends-on): Remove idpriv-drop.
15368         Reported by Simon Josefsson.
15369
15370 2010-03-24  Simon Josefsson  <simon@josefsson.org>
15371
15372         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
15373         suggestions from karl@freefriends.org (Karl Berry).
15374
15375 2010-03-22  Eric Blake  <eblake@redhat.com>
15376
15377         gethostname: further tweaks
15378         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
15379         are overriding gethostname.
15380         Suggested by Bruno Haible.
15381
15382 2010-03-21  Bruno Haible  <bruno@clisp.org>
15383
15384         Fix comments.
15385         * lib/forkpty.c (rpl_forkpty): Fix comment.
15386         * lib/openpty.c (rpl_openpty): Likewise.
15387         Reported by Eric Blake.
15388
15389 2010-03-22  Eric Blake  <eblake@redhat.com>
15390
15391         gethostname: fix build on mingw
15392         * lib/unistd.in.h (includes): Work around fact that mingw
15393         <winsock2.h> re-includes <unistd.h>, by avoiding any
15394         redeclarations if we are being included by <winsock2.h>.
15395         Reported by Matthias Bolte.
15396
15397 2010-03-21  Bruno Haible  <bruno@clisp.org>
15398
15399         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15400         * lib/forkpty.c (forkpty): New replacement function, from glibc with
15401         modifications.
15402         * lib/pty.in.h (forkpty): Update declaration. Add comments.
15403         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
15404         provide the replacement.
15405         * modules/forkpty (Depends-on): Add openpty, login_tty.
15406         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
15407         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
15408         * doc/glibc-functions/forkpty.texi: More supported platforms.
15409         * config/srclist.txt: Add forkpty.c (commented).
15410
15411 2010-03-21  Bruno Haible  <bruno@clisp.org>
15412
15413         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
15414         (Makefile.am): Verify that PTY_LIB is defined.
15415
15416         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
15417
15418 2010-03-21  Bruno Haible  <bruno@clisp.org>
15419
15420         Tests for module 'login_tty'.
15421         * modules/login_tty-tests: New file.
15422         * tests/test-login_tty.c: New file.
15423
15424         New module 'login_tty'.
15425         * lib/login_tty.c: New file.
15426         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
15427         * modules/login_tty: New file.
15428         * doc/glibc-functions/login_tty.texi: Mention the new module.
15429
15430 2010-03-21  Bruno Haible  <bruno@clisp.org>
15431
15432         login_tty: Documentation.
15433         * doc/glibc-functions/login_tty.texi: New file.
15434         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
15435
15436 2010-03-21  Bruno Haible  <bruno@clisp.org>
15437
15438         pty: Consistent macro naming.
15439         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
15440         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
15441         * modules/pty (configure.ac): Update.
15442
15443 2010-03-21  Bruno Haible  <bruno@clisp.org>
15444
15445         Tests for openpty: Make stricter.
15446         * tests/test-openpty.c (main): Add test of canonical processing and
15447         erase.
15448         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
15449
15450         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15451         * lib/openpty.c (openpty): New replacement function.
15452         * lib/pty.in.h: Include <termios.h>.
15453         (openpty): Update declaration. Add comments.
15454         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
15455         is not declared, arrange to provide the replacement. Check for _getpty
15456         and posix_openpt.
15457         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
15458         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
15459         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
15460         * modules/pty-tests (test_pty_c___LDADD): New variable.
15461         * doc/glibc-functions/openpty.texi: More supported platforms.
15462
15463 2010-03-21  Bruno Haible  <bruno@clisp.org>
15464
15465         setenv: Tweaks.
15466         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
15467         the test program.
15468         * doc/posix-functions/setenv.texi: Update platforms list.
15469
15470 2010-03-21  Bruno Haible  <bruno@clisp.org>
15471
15472         New module 'unlockpt'.
15473         * lib/unlockpt.c: New file, from glibc with modifications.
15474         * m4/unlockpt.m4: New file.
15475         * modules/unlockpt: New file.
15476         * lib/stdlib.in.h (unlockpt): New declaration.
15477         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
15478         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
15479         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
15480         HAVE_UNLOCKPT.
15481         * doc/posix-functions/unlockpt.texi: Mention the new module.
15482         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
15483         * config/srclist.txt: Add unlockpt.c (commented).
15484
15485 2010-03-21  Jim Meyering  <meyering@redhat.com>
15486
15487         maint.mk: prohibit inclusion of "intprops.h" without use
15488         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
15489
15490 2010-03-21  Bruno Haible  <bruno@clisp.org>
15491
15492         New module 'grantpt'.
15493         * lib/grantpt.c: New file, from glibc with modifications.
15494         * m4/grantpt.m4: New file.
15495         * modules/grantpt: New file.
15496         * lib/stdlib.in.h (grantpt): New declaration.
15497         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
15498         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
15499         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
15500         HAVE_GRANTPT.
15501         * doc/posix-functions/grantpt.texi: Mention the new module.
15502         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
15503         * config/srclist.txt: Add grantpt.c (commented).
15504
15505 2010-03-21  Bruno Haible  <bruno@clisp.org>
15506
15507         New module 'pt_chown'.
15508         * lib/pt_chown.c: New file, from glibc with modifications.
15509         * lib/pty-private.h: New file, from glibc with modifications.
15510         * modules/pt_chown: New file.
15511         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
15512
15513 2010-03-21  Bruno Haible  <bruno@clisp.org>
15514
15515         Tests for module 'ptsname'.
15516         * modules/ptsname-tests: New file.
15517         * tests/test-ptsname.c: New file.
15518
15519         New module 'ptsname'.
15520         * lib/ptsname.c: New file, from glibc with modifications.
15521         * m4/ptsname.m4: New file.
15522         * modules/ptsname: New file.
15523         * lib/stdlib.in.h (ptsname): New declaration.
15524         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
15525         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
15526         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
15527         HAVE_PTSNAME.
15528         * doc/posix-functions/ptsname.texi: Mention the new module.
15529         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
15530         * config/srclist.txt: Add ptsname.c (commented).
15531
15532 2010-03-21  Bruno Haible  <bruno@clisp.org>
15533
15534         Tests for module 'ttyname_r'.
15535         * modules/ttyname_r-tests: New file.
15536         * tests/test-ttyname_r.c: New file.
15537
15538         New module 'ttyname_r'.
15539         * lib/ttyname_r.c: New file.
15540         * m4/ttyname_r.m4: New file.
15541         * modules/ttyname_r: New file.
15542         * lib/unistd.in.h (ttyname_r): New declaration.
15543         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
15544         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
15545         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
15546         HAVE_TTYNAME_R.
15547         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
15548         * doc/posix-functions/ttyname_r.texi: Mention the new module.
15549
15550 2010-03-20  Bruno Haible  <bruno@clisp.org>
15551
15552         signal: Undefine macro definitions in C++ mode.
15553         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
15554         sigfillset): Undefine macro definitions from the system header in C++
15555         mode.
15556         Reported by John W. Eaton <jwe@gnu.org>.
15557
15558 2010-03-20  Bruno Haible  <bruno@clisp.org>
15559
15560         Ensure no #include statements inside extern "C" { ... }.
15561         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
15562         contain #include statements.
15563         * lib/time.in.h: Likewise.
15564
15565 2010-03-20  Bruno Haible  <bruno@clisp.org>
15566
15567         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
15568         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
15569         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
15570         Reported by John W. Eaton <jwe@gnu.org>.
15571
15572 2010-03-20  Bruno Haible  <bruno@clisp.org>
15573
15574         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
15575         Reported by Jim Meyering.
15576
15577 2010-03-20  Bruno Haible  <bruno@clisp.org>
15578
15579         pipe: Set errno upon failure.
15580         * lib/pipe.h: Specify that when -1 is returned, errno is set.
15581         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
15582         errno value in error message.
15583
15584 2010-03-20  Bruno Haible  <bruno@clisp.org>
15585             Jim Meyering  <meyering@redhat.com>
15586
15587         lchown: Avoid "unused variable" warning.
15588         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
15589
15590 2010-03-20  Bruno Haible  <bruno@clisp.org>
15591
15592         Work around unlink() bug on MacOS X 10.5.6.
15593         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
15594         attempting to unlink a parent directory.
15595         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
15596         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
15597         activate for the replacement function.
15598         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
15599
15600 2010-03-20  Bruno Haible  <bruno@clisp.org>
15601
15602         Fix link errors on Solaris 8.
15603         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
15604         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
15605
15606 2010-03-19  Jim Meyering  <meyering@redhat.com>
15607
15608         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
15609         The _LIBC implementation of build_range_exp correctly honors the
15610         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
15611         However, the non-_LIBC implementation would ignore that syntax-bit
15612         flag and return REG_ERANGE unconditionally.
15613         This change makes it honor that flag.
15614         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
15615         Make two pointer parameters "const".
15616         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
15617         (parse_bracket_exp): Update caller.
15618
15619         regex.m4: correct the reversed range endpoint ([b-a]) test
15620         * m4/regex.m4: When requiring that [b-a] evoke failure,
15621         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
15622         test pass once again for x86-based systems.
15623
15624 2010-03-19  Bruno Haible  <bruno@clisp.org>
15625
15626         scandir: Fix link error on Solaris 8.
15627         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
15628         macros.
15629
15630 2010-03-19  Bruno Haible  <bruno@clisp.org>
15631
15632         getusershell: Fix documentation.
15633         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
15634         module.
15635         * doc/glibc-functions/setusershell.texi: Likewise.
15636
15637         getusershell: Provide declaration, missing on Solaris 9.
15638         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
15639         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
15640         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
15641         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
15642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15643         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
15644         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
15645         HAVE_GETUSERSHELL.
15646         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
15647
15648 2010-03-19  Bruno Haible  <bruno@clisp.org>
15649
15650         wctype: Provide iswblank function.
15651         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
15652         exists and is fine.
15653         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
15654         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
15655         * tests/test-wctype.c (main): Re-enable the iswblank tests.
15656         * doc/posix-functions/iswblank.texi: Update.
15657
15658 2010-03-19  Bruno Haible  <bruno@clisp.org>
15659
15660         Tests of module 'pty' in C++ mode.
15661         * modules/pty-tests: New file.
15662         * tests/test-pty-c++.cc: New file.
15663         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15664
15665 2010-03-19  Eric Blake  <eblake@redhat.com>
15666
15667         logb: fix documentation
15668         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
15669         1.5 declaration bug.
15670
15671         forkpty, openpty: prefer glibc's const-safe prototype
15672         * lib/forkpty.c (rpl_forkpty): New file.
15673         * lib/openpty.c (rpl_openpty): Likewise.
15674         * modules/forkpty (Files): Distribute it.
15675         * modules/openpty (Files): Likewise.
15676         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
15677         check...
15678         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
15679         replacement for for non-const BSD signature.
15680         * modules/pty (Makefile.am): Substitute witnesses.
15681         * lib/pty.in.h (forkpty, openpty): Declare replacements.
15682         * tests/test-forkpty.c: Update signature check.
15683         * tests/test-openpty.c: Likewise.
15684         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
15685         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15686
15687         forkpty, openpty: split functions into new modules
15688         * modules/pty (Makefile.am): Substitute new witnesses.
15689         (Libraries): Move library detection...
15690         * modules/forkpty: ...into new module.
15691         * modules/openpty: Another new module.
15692         * modules/pty-tests: Rename and split...
15693         * modules/forkpty-tests: ...to this...
15694         * modules/openpty-tests: ...and this.
15695         * tests/test-pty.c: Rename and split...
15696         * tests/test-forkpty.c: ...to this...
15697         * tests/test-openpty.c: ...and this.
15698         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
15699         (gl_PTY): Split library searching...
15700         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
15701         (gl_FORKPTY, gl_OPENPTY): New macros.
15702         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
15703         * NEWS: Mention the split.
15704         * MODULES.html.sh (Misc): Document the modules.
15705         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
15706         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15707
15708         pty: improve replacement header
15709         * lib/pty.in.h: New file.
15710         * modules/pty (Files): Ship it.
15711         (Makefile.am): Always build replacement.
15712         * m4/pty.m4: Rename...
15713         * m4/pty_h.m4: ...to this.
15714         (gl_PTY): Modernize setting of witness macros; update check of
15715         forkpty to take proper advantage of cache.
15716         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
15717
15718         getopt: avoid compiler warning
15719         * lib/getopt.c (attribute_hidden): Remove unused macro.
15720
15721 2010-03-18  Bruno Haible  <bruno@clisp.org>
15722
15723         Fix link errors on Solaris 8.
15724         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
15725         * modules/search-tests (test_search_c___LDADD): Likewise.
15726         * modules/signal-tests (test_signal_c___LDADD): Likewise.
15727         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
15728         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
15729         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
15730         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
15731         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
15732         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
15733
15734 2010-03-18  Bruno Haible  <bruno@clisp.org>
15735
15736         Fix bug introduced on 2010-03-14.
15737         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
15738         (gl_SPAWN_H): Require it.
15739         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
15740         Reported by Simon Josefsson.
15741
15742 2010-03-18  Bruno Haible  <bruno@clisp.org>
15743
15744         Fix typo introduced on 2009-12-31.
15745         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
15746         posix_spawn_file_actions_adddup2.
15747
15748 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
15749         and Eric Blake  <eblake@redhat.com>
15750
15751         test-vc-list-files-git: make more robust
15752         * tests/test-vc-list-files-git.sh: Unset problematic environment
15753         variables.  Chain commands together.
15754
15755 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
15756
15757         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
15758         `AC_CHECK_DECL' invocation.
15759
15760 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
15761
15762         * lib/inttostr.c (inttostr): Make sure the invocation of verify
15763         appears before executable statements. Suggested by Petr Sumbera
15764         <Petr.Sumbera@Sun.COM>.
15765
15766 2010-03-14  Bruno Haible  <bruno@clisp.org>
15767
15768         * tests/test-flock.c (test_exclusive): Comment out a test that causes
15769         portability problems. Instead use a simpler test.
15770         (main): Check that invalid arguments are rejected only on Linux.
15771
15772 2010-03-14  Bruno Haible  <bruno@clisp.org>
15773
15774         Fix bug introduced on 2009-12-31.
15775         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
15776         gl_PREREQ_SYS_H_WINSOCK2 always.
15777         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
15778         SYS_SOCKET_H variable.
15779         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
15780         Update comments.
15781         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
15782         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15783         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15784         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15785         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
15786
15787 2010-03-14  Bruno Haible  <bruno@clisp.org>
15788
15789         Fix values returned by sinl, cosl.
15790         * lib/trigl.h: Add specification comments.
15791         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
15792         that combines the values from the precomputed table with the values of
15793         the Chebyshev polynomials.
15794
15795 2010-03-14  Bruno Haible  <bruno@clisp.org>
15796
15797         Fix compilation error when modules 'posix_spawn[p]' are not used.
15798         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
15799         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
15800
15801 2010-03-14  Bruno Haible  <bruno@clisp.org>
15802
15803         Fix compilation error on mingw when module 'time_r' is not used.
15804         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
15805         is 1.
15806         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
15807         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15808         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
15809         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
15810
15811 2010-03-14  Bruno Haible  <bruno@clisp.org>
15812
15813         Fix compilation error with Sun C.
15814         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
15815         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
15816         instead of GCC specific ULONG_LONG_MAX.
15817         * lib/xstrtoll.c: Likewise.
15818         * lib/xstrtoull.c: Likewise.
15819
15820 2010-03-13  Bruno Haible  <bruno@clisp.org>
15821
15822         Allow the user to disable C++ code and tests.
15823         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
15824         (gl_PROG_ANSI_CXX): Require it.
15825
15826 2010-03-13  Bruno Haible  <bruno@clisp.org>
15827
15828         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
15829         cases.
15830
15831 2010-03-13  Bruno Haible  <bruno@clisp.org>
15832
15833         Test that gnulib does not break the standard C++ headers.
15834         * tests/test-locale-c++2.cc: New file.
15835         * modules/locale-tests (Files): Add it.
15836         (Makefile.am): Compile it for test-locale-c++.
15837         * tests/test-math-c++2.cc: New file.
15838         * modules/math-tests (Files): Add it.
15839         (Makefile.am): Compile it for test-math-c++.
15840         * tests/test-signal-c++2.cc: New file.
15841         * modules/signal-tests (Files): Add it.
15842         (Makefile.am): Compile it for test-signal-c++.
15843         * tests/test-stdio-c++2.cc: New file.
15844         * modules/stdio-tests (Files): Add it.
15845         (Makefile.am): Compile it for test-stdio-c++.
15846         * tests/test-stdlib-c++2.cc: New file.
15847         * modules/stdlib-tests (Files): Add it.
15848         (Makefile.am): Compile it for test-stdlib-c++.
15849         * tests/test-string-c++2.cc: New file.
15850         * modules/string-tests (Files): Add it.
15851         (Makefile.am): Compile it for test-string-c++.
15852         * tests/test-time-c++2.cc: New file.
15853         * modules/time-tests (Files): Add it.
15854         (Makefile.am): Compile it for test-time-c++.
15855         Reported by John W. Eaton <jwe@gnu.org>.
15856
15857 2010-03-13  Bruno Haible  <bruno@clisp.org>
15858
15859         * gnulib-tool (func_usage): Clarify which options are available for
15860         --create-testdir and --create-megatestdir.
15861
15862 2010-03-13  Bruno Haible  <bruno@clisp.org>
15863
15864         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
15865         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
15866         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
15867         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
15868         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
15869         when appropriate.
15870         Reported by Jim Meyering.
15871
15872 2010-03-12  Simon Josefsson  <simon@josefsson.org>
15873
15874         * gnulib-tool (func_import): Explain origin of code.
15875
15876 2010-03-12  Bruno Haible  <bruno@clisp.org>
15877
15878         Fix problem with automake's definition of CXXLINK.
15879         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
15880         Reported by Simon Josefsson and Ludovic Courtès.
15881
15882 2010-03-12  Bruno Haible  <bruno@clisp.org>
15883
15884         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
15885         stable releases.
15886
15887 2010-03-11  Bruno Haible  <bruno@clisp.org>
15888
15889         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
15890         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
15891         whether the system provides one variant or multiple variants of the
15892         function.
15893         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
15894         C++ compilers.
15895         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
15896         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
15897         Reported by Jim Meyering.
15898
15899 2010-03-09  Simon Josefsson  <simon@josefsson.org>
15900
15901         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
15902
15903 2010-03-08  Bruno Haible  <bruno@clisp.org>
15904
15905         gnulib-tool: Add support for --libtool in --create-testdir.
15906         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
15907         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
15908
15909 2010-03-08  Eric Blake  <eblake@redhat.com>
15910
15911         gnulib-tool.texi: mention possibility of git submodule
15912         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
15913         submodules.
15914         * doc/.gitignore: Ignore another generated file.
15915
15916 2010-03-08  Karl Berry  <karl@gnu.org>
15917
15918         * doc/gnulib-tool.texi (VCS Issues): Mention third option
15919         of committing gnulib files while skipping others.
15920
15921 2010-03-07  Bruno Haible  <bruno@clisp.org>
15922
15923         Tests of module 'wctype' in C++ mode.
15924         * tests/test-wctype-c++.cc: New file.
15925         * modules/wctype-tests (Files): Add it and tests/signature.h.
15926         (Depends-on): Add ansi-c++-opt.
15927         (Makefile.am): Arrange to compile and run test-wctype-c++.
15928
15929         Tests of module 'wchar' in C++ mode.
15930         * tests/test-wchar-c++.cc: New file.
15931         * modules/wchar-tests (Files): Add it and tests/signature.h.
15932         (Depends-on): Add ansi-c++-opt.
15933         (Makefile.am): Arrange to compile and run test-wchar-c++.
15934         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
15935         gl_MODULE_INDICATOR.
15936
15937         Tests of module 'unistd' in C++ mode.
15938         * tests/test-unistd-c++.cc: New file.
15939         * modules/unistd-tests (Files): Add it and tests/signature.h.
15940         (Depends-on): Add ansi-c++-opt.
15941         (Makefile.am): Arrange to compile and run test-unistd-c++.
15942         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
15943         gl_MODULE_INDICATOR.
15944
15945         Tests of module 'time' in C++ mode.
15946         * tests/test-time-c++.cc: New file.
15947         * modules/time-tests (Files): Add it and tests/signature.h.
15948         (Depends-on): Add ansi-c++-opt.
15949         (Makefile.am): Arrange to compile and run test-time-c++.
15950         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15951
15952         Tests of module 'sys_time' in C++ mode.
15953         * tests/test-sys_time-c++.cc: New file.
15954         * modules/sys_time-tests (Files): Add it and tests/signature.h.
15955         (Depends-on): Add ansi-c++-opt.
15956         (Makefile.am): Arrange to compile and run test-sys_time-c++.
15957         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
15958         gl_MODULE_INDICATOR.
15959
15960         Tests of module 'sys_stat' in C++ mode.
15961         * tests/test-sys_stat-c++.cc: New file.
15962         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
15963         (Depends-on): Add ansi-c++-opt.
15964         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
15965         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
15966         gl_MODULE_INDICATOR.
15967
15968         Tests of module 'sys_socket' in C++ mode.
15969         * tests/test-sys_socket-c++.cc: New file.
15970         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
15971         (Depends-on): Add ansi-c++-opt.
15972         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
15973         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
15974         gl_MODULE_INDICATOR.
15975
15976         Tests of module 'sys_select' in C++ mode.
15977         * tests/test-sys_select-c++.cc: New file.
15978         * modules/sys_select-tests (Files): Add it and tests/signature.h.
15979         (Depends-on): Add ansi-c++-opt.
15980         (Makefile.am): Arrange to compile and run test-sys_select-c++.
15981         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
15982         gl_MODULE_INDICATOR.
15983
15984         Tests of module 'sys_ioctl' in C++ mode.
15985         * tests/test-sys_ioctl-c++.cc: New file.
15986         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
15987         (Depends-on): Add ansi-c++-opt.
15988         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
15989         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
15990         gl_MODULE_INDICATOR.
15991
15992         Tests of module 'string' in C++ mode.
15993         * tests/test-string-c++.cc: New file.
15994         * modules/string-tests (Files): Add it and tests/signature.h.
15995         (Depends-on): Add ansi-c++-opt.
15996         (Makefile.am): Arrange to compile and run test-string-c++.
15997         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
15998         gl_MODULE_INDICATOR.
15999
16000         Tests of module 'stdlib' in C++ mode.
16001         * tests/test-stdlib-c++.cc: New file.
16002         * modules/stdlib-tests (Files): Add it and tests/signature.h.
16003         (Depends-on): Add ansi-c++-opt.
16004         (Makefile.am): Arrange to compile and run test-stdlib-c++.
16005         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
16006         gl_MODULE_INDICATOR.
16007
16008         Tests of module 'stdio' in C++ mode.
16009         * tests/test-stdio-c++.cc: New file.
16010         * modules/stdio-tests (Files): Add it and tests/signature.h.
16011         (Depends-on): Add ansi-c++-opt.
16012         (Makefile.am): Arrange to compile and run test-stdio-c++.
16013         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
16014         gl_MODULE_INDICATOR.
16015
16016         Tests of module 'spawn' in C++ mode.
16017         * tests/test-spawn-c++.cc: New file.
16018         * modules/spawn-tests (Files): Add it and tests/signature.h.
16019         (Depends-on): Add ansi-c++-opt.
16020         (Makefile.am): Arrange to compile and run test-spawn-c++.
16021         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
16022         gl_MODULE_INDICATOR.
16023
16024         Tests of module 'signal' in C++ mode.
16025         * tests/test-signal-c++.cc: New file.
16026         * modules/signal-tests (Files): Add it and tests/signature.h.
16027         (Depends-on): Add ansi-c++-opt.
16028         (Makefile.am): Arrange to compile and run test-signal-c++.
16029         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
16030         gl_MODULE_INDICATOR.
16031
16032         Tests of module 'search' in C++ mode.
16033         * tests/test-search-c++.cc: New file.
16034         * modules/search-tests (Files): Add it and tests/signature.h.
16035         (Depends-on): Add ansi-c++-opt.
16036         (Makefile.am): Arrange to compile and run test-search-c++.
16037         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
16038         gl_MODULE_INDICATOR.
16039
16040         Tests of module 'math' in C++ mode.
16041         * tests/test-math-c++.cc: New file.
16042         * modules/math-tests (Files): Add it and tests/signature.h.
16043         (Depends-on): Add ansi-c++-opt.
16044         (Makefile.am): Arrange to compile and run test-math-c++.
16045         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16046
16047         Tests of module 'locale' in C++ mode.
16048         * tests/test-locale-c++.cc: New file.
16049         * modules/locale-tests (Files): Add it and tests/signature.h.
16050         (Depends-on): Add ansi-c++-opt.
16051         (Makefile.am): Arrange to compile and run test-locale-c++.
16052         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
16053         gl_MODULE_INDICATOR.
16054
16055         Tests of module 'langinfo' in C++ mode.
16056         * tests/test-langinfo-c++.cc: New file.
16057         * modules/langinfo-tests (Files): Add it and tests/signature.h.
16058         (Depends-on): Add ansi-c++-opt.
16059         (Makefile.am): Arrange to compile and run test-langinfo-c++.
16060         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
16061         gl_MODULE_INDICATOR.
16062
16063         Tests of module 'iconv-h' in C++ mode.
16064         * tests/test-iconv-h-c++.cc: New file.
16065         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
16066         (Depends-on): Add ansi-c++-opt.
16067         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
16068
16069         Tests of module 'glob' in C++ mode.
16070         * tests/test-glob-c++.cc: New file.
16071         * modules/glob-tests (Files): Add it.
16072         (Depends-on): Add ansi-c++-opt.
16073         (Makefile.am): Arrange to compile and run test-glob-c++.
16074
16075         Tests of module 'fcntl-h' in C++ mode.
16076         * tests/test-fcntl-h-c++.cc: New file.
16077         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
16078         (Depends-on): Add ansi-c++-opt.
16079         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
16080         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
16081         gl_MODULE_INDICATOR.
16082
16083         Tests of module 'dirent' in C++ mode.
16084         * tests/test-dirent-c++.cc: New file.
16085         * modules/dirent-tests (Files): Add it and tests/signature.h.
16086         (Depends-on): Add ansi-c++-opt.
16087         (Makefile.am): Arrange to compile and run test-dirent-c++.
16088         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16089         gl_MODULE_INDICATOR.
16090
16091         New module 'ansi-c++-opt'.
16092         * modules/ansi-c++-opt: New file.
16093         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
16094
16095         Document C++ namespace mode.
16096         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
16097
16098         wctype: Avoid #define replacements in C++ mode.
16099         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
16100         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
16101         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
16102         In C++, define a namespaced alias symbol.
16103         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
16104         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
16105         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
16106         rule.
16107
16108         wchar: Avoid #define replacements in C++ mode.
16109         * lib/wchar.in.h: Include c++defs.h.
16110         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
16111         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
16112         symbol.
16113         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
16114         * modules/wchar (Depends-on): Add c++defs.
16115         (Makefile.am): Update wchar.h rule.
16116
16117         unistd: Avoid #define replacements in C++ mode.
16118         * lib/unistd.in.h: Include c++defs.h.
16119         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
16120         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
16121         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
16122         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
16123         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
16124         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
16125         symbol.
16126         (environ): Update.
16127         * modules/unistd (Depends-on): Add c++defs.
16128         (Makefile.am): Update unistd.h rule.
16129
16130         time: Avoid #define replacements in C++ mode.
16131         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
16132         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
16133         define a namespaced alias symbol.
16134         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
16135         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
16136         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
16137         * modules/time (Depends-on): Add c++defs, warn-on-use.
16138         (Makefile.am): Update time.h rule.
16139         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16140         * modules/nanosleep (configure.ac): Likewise.
16141         * modules/strptime (configure.ac): Likewise.
16142         * modules/timegm (configure.ac): Likewise.
16143
16144         sys_time: Avoid #define replacements in C++ mode.
16145         * lib/sys_time.in.h: Include c++defs.h.
16146         (gettimeofday): In C++, define a namespaced alias symbol.
16147         * modules/sys_time (Depends-on): Add c++defs.
16148         (Makefile.am): Update sys/time.h rule.
16149
16150         sys_stat: Avoid #define replacements in C++ mode.
16151         * lib/sys_stat.in.h: Include c++defs.h.
16152         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
16153         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
16154         namespaced alias symbol.
16155         In C++, define a namespaced alias symbol.
16156         * modules/sys_stat (Depends-on): Add c++defs.
16157         (Makefile.am): Update sys/stat.h rule.
16158
16159         sys_socket: Avoid #define replacements in C++ mode.
16160         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
16161         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
16162         definitions also when the system has a <sys/socket.h>.
16163         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16164         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
16165         In C++, define a namespaced alias symbol.
16166         * modules/sys_socket (Depends-on): Add c++defs.
16167         (Makefile.am): Update sys/socket.h rule.
16168
16169         sys_select: Avoid #define replacements in C++ mode.
16170         * lib/sys_select.in.h: Include c++defs.h. Enable the function
16171         definitions also when the system has a <sys/select.h>.
16172         (select): In C++, define a namespaced alias symbol.
16173         * modules/sys_select (Depends-on): Add c++defs.
16174         (Makefile.am): Update sys/select.h rule.
16175
16176         sys_ioctl: Avoid #define replacements in C++ mode.
16177         * lib/sys_ioctl.in.h: Include c++defs.h.
16178         (ioctl): In C++, define a namespaced alias symbol.
16179         * modules/sys_ioctl (Depends-on): Add c++defs.
16180         (Makefile.am): Update sys/ioctl.h rule.
16181
16182         string: Avoid #define replacements in C++ mode.
16183         * lib/string.in.h: Include c++defs.h.
16184         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
16185         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
16186         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
16187         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
16188         strsignal, strverscmp): In C++, define a namespaced alias symbol.
16189         * modules/string (Depends-on): Add c++defs.
16190         (Makefile.am): Update string.h rule.
16191
16192         stdlib: Avoid #define replacements in C++ mode.
16193         * lib/stdlib.in.h: Include c++defs.h.
16194         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
16195         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
16196         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
16197         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
16198         symbol.
16199         * modules/stdlib (Depends-on): Add c++defs.
16200         (Makefile.am): Update stdlib.h rule.
16201
16202         stdio: Avoid #define replacements in C++ mode.
16203         * lib/stdio.in.h: Include c++defs.h.
16204         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
16205         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
16206         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
16207         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
16208         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
16209         namespaced alias symbol.
16210         * modules/stdio (Depends-on): Add c++defs.
16211         (Makefile.am): Update stdio.h rule.
16212
16213         spawn: Avoid #define replacements in C++ mode.
16214         * lib/spawn.in.h: Include c++defs.h.
16215         (posix_spawn, posix_spawnp, posix_spawnattr_init,
16216         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
16217         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
16218         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
16219         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
16220         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
16221         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
16222         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
16223         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
16224         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
16225         In C++, define a namespaced alias symbol.
16226         * modules/spawn (Depends-on): Add c++defs.
16227         (Makefile.am): Update spawn.h rule.
16228
16229         signal: Avoid #define replacements in C++ mode.
16230         * lib/signal.in.h: Include c++defs.h.
16231         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
16232         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
16233         namespaced alias symbol.
16234         * modules/signal (Depends-on): Add c++defs.
16235         (Makefile.am): Update signal.h rule.
16236
16237         search: Avoid #define replacements in C++ mode.
16238         * lib/search.in.h: Include c++defs.h.
16239         (_gl_search_compar_fn, _gl_search_action_fn): New types.
16240         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
16241         symbol.
16242         * modules/search (Depends-on): Add c++defs.
16243         (Makefile.am): Update search.h rule.
16244
16245         math: Avoid #define replacements in C++ mode.
16246         * lib/math.in.h: Include c++defs.h.
16247         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
16248         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
16249         trunc, truncl): In C++, define a namespaced alias symbol.
16250         * modules/math (Depends-on): Add c++defs.
16251         (Makefile.am): Update math.h rule.
16252
16253         locale: Avoid #define replacements in C++ mode.
16254         * lib/locale.in.h: Include c++defs.h.
16255         (duplocale): In C++, define a namespaced alias symbol.
16256         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
16257         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
16258         * modules/locale (Depends-on): Add c++defs.
16259         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
16260
16261         langinfo: Avoid #define replacements in C++ mode.
16262         * lib/langinfo.in.h: Include c++defs.h.
16263         (nl_langinfo): In C++, define a namespaced alias symbol.
16264         * modules/langinfo (Depends-on): Add c++defs.
16265         (Makefile.am): Update langinfo.h rule.
16266
16267         iconv-h: Avoid #define replacements in C++ mode.
16268         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
16269         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
16270         symbol.
16271         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
16272         whenever iconv is present.
16273         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
16274         (Makefile.am): Update iconv.h rule.
16275
16276         glob: Avoid #define replacements in C++ mode.
16277         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
16278         (_gl_glob_errfunc_fn): New type.
16279         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
16280         symbol.
16281         * modules/glob (Depends-on): Add c++defs, warn-on-use.
16282         (Makefile.am): Update glob.h rule.
16283
16284         fcntl-h: Avoid #define replacements in C++ mode.
16285         * lib/fcntl.in.h: Include c++defs.h.
16286         (fcntl, open, openat): In C++, define a namespaced alias symbol.
16287         * modules/fcntl-h (Depends-on): Add c++defs.
16288         (Makefile.am): Update fcntl.h rule.
16289
16290         dirent: Avoid #define replacements in C++ mode.
16291         * lib/dirent.in.h: Include c++defs.h.
16292         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
16293         namespaced alias symbol.
16294         (dirfd): Update declaration.
16295         * modules/dirent (Depends-on): Add c++defs.
16296         (Makefile.am): Update dirent.h rule.
16297
16298         ctype: Make it usable in C++ code.
16299         * lib/ctype.in.h: Include c++defs.h.
16300         (isblank): Declare as extern "C".
16301         * modules/ctype (Depends-on): Add c++defs.
16302         (Makefile.am): Update ctype.h rule.
16303
16304         New module 'c++defs'.
16305         * modules/c++defs: New file.
16306         * build-aux/c++defs.h: New file.
16307         Reported by John W. Eaton <jwe@gnu.org>.
16308
16309 2010-03-07  Bruno Haible  <bruno@clisp.org>
16310
16311         logb: Provide missing declaration for Cygwin.
16312         * lib/math.in.h (logb): New declaration.
16313         * m4/logb.m4: New file.
16314         * modules/logb (Files): Add m4/logb.m4.
16315         (Depends-on): Add math.
16316         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
16317         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
16318         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
16319         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
16320         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
16321
16322 2010-03-07  Bruno Haible  <bruno@clisp.org>
16323
16324         Fix test-cond link error.
16325         * tests/test-cond.c: Include <stdio.h>.
16326
16327 2010-03-07  Bruno Haible  <bruno@clisp.org>
16328
16329         Fix test-dirent-safer link error.
16330         * modules/dirent-safer-tests (Makefile.am): Define
16331         test_dirent_safer_LDADD.
16332
16333 2010-03-07  Bruno Haible  <bruno@clisp.org>
16334
16335         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
16336         among default module list.
16337
16338 2010-03-07  Bruno Haible  <bruno@clisp.org>
16339
16340         Fix link error on platforms with GNU libiconv.
16341         * modules/unistr/u8-strcoll-tests (Makefile): Define
16342         test_u8_strcoll_LDADD.
16343         * modules/unistr/u16-strcoll-tests (Makefile): Define
16344         test_u16_strcoll_LDADD.
16345         * modules/unistr/u32-strcoll-tests (Makefile): Define
16346         test_u32_strcoll_LDADD.
16347
16348 2010-03-07  Bruno Haible  <bruno@clisp.org>
16349
16350         Use POSIX declarations for socket functions.
16351         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
16352         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
16353         rpl_sendto): Change declaration to match POSIX.
16354         * lib/connect.c (rpl_connect): Likewise.
16355         * lib/accept.c (rpl_accept): Likewise.
16356         * lib/bind.c (rpl_bind): Likewise.
16357         * lib/getpeername.c (rpl_getpeername): Likewise.
16358         * lib/getsockname.c (rpl_getsockname): Likewise.
16359         * lib/recv.c (rpl_recv): Likewise.
16360         * lib/send.c (rpl_send): Likewise.
16361         * lib/recvfrom.c (rpl_recvfrom): Likewise.
16362         * lib/sendto.c (rpl_sendto): Likewise.
16363
16364 2010-03-06  Bruno Haible  <bruno@clisp.org>
16365
16366         Clarify access, euidaccess, faccessat.
16367         * doc/posix-functions/faccessat.texi: Mention security problem under
16368         "Other problems", not "Portability problems".
16369         * doc/posix-functions/access.texi: Likewise. Mention a related security
16370         problem.
16371         * doc/glibc-functions/euidaccess.texi: Mention security problems.
16372         * lib/euidaccess.c: Add comments about platforms.
16373         * lib/unistd.in.h (access, euidaccess): Add warnings.
16374
16375 2010-03-07  Bruno Haible  <bruno@clisp.org>
16376
16377         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
16378         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
16379         (POSIX_SPAWN_SETSCHEDULER): Likewise.
16380         (POSIX_SPAWN_USEVFORK): Define in a way that works when
16381         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16382         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
16383         declare when POSIX_SPAWN_SETSCHEDULER is zero.
16384         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
16385         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
16386         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
16387         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
16388         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
16389         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
16390         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
16391         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
16392         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
16393         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
16394         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
16395         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
16396         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
16397         Likewise.
16398         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
16399         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
16400         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
16401         Likewise.
16402         * tests/test-spawn.c (main): Make it work when
16403         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16404
16405 2010-03-07  Bruno Haible  <bruno@clisp.org>
16406
16407         Fix incorrect Makefile.am generation in German locale.
16408         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16409         Execute sed command with character range in C locale.
16410
16411 2010-03-06  Bruno Haible  <bruno@clisp.org>
16412
16413         Tests for module 'iconv-h'.
16414         * modules/iconv-h-tests: New file.
16415         * tests/test-iconv-h.c: New file.
16416
16417         New module 'iconv-h'.
16418         * modules/iconv-h: New file.
16419         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
16420         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
16421         (configure.ac): Remove gl_ICONV_H.
16422         (Makefile.am): Remove rule for iconv.h.
16423
16424 2010-03-06  Bruno Haible  <bruno@clisp.org>
16425
16426         More consistent naming of *.m4 files.
16427         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
16428         * modules/wctype (Files): Update.
16429
16430         More consistent naming of *.m4 files.
16431         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
16432         * modules/wchar (Files): Update.
16433
16434 2010-03-06  Jim Meyering  <meyering@redhat.com>
16435
16436         euidaccess: relax license to LGPLv2+
16437         * modules/euidaccess (License): Relax to LGPLv2+.
16438
16439 2010-03-06  Bruno Haible  <bruno@clisp.org>
16440
16441         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
16442         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
16443         (Makefile.am): Augment lib_SOURCES instead.
16444
16445 2010-03-04  Jim Meyering  <meyering@redhat.com>
16446
16447         utime: remove obsolete module
16448         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
16449         unnecessary for years, and has been marked as obsolete for 10 months.
16450         * modules/utime: Remove file.
16451         * lib/utime.c: Remove file.
16452         * m4/utime.m4: Remove file.
16453         * m4/utimes-null.m4: Remove file.
16454         * doc/posix-functions/utime.texi (utime): Remove reference to
16455         the module.  Move the sole "fixed by gnulib" item into the
16456         "problems not fixed by Gnulib" list.
16457         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
16458
16459 2010-03-05  Simon Josefsson  <simon@josefsson.org>
16460
16461         * modules/exit (License): Relax license to LGPLv2+.
16462         (Status): Mark as obsolete.
16463         * NEWS: Mention deprecated 'exit' module.
16464         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
16465         of now obsolete 'exit'.
16466
16467 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16468
16469         fts-lgpl: remove unused module
16470         * modules/fts-lgpl: Remove.
16471         * MODULES.html.sh (func_all_modules): Adjust.
16472         * check-module (find_included_lib_files): Adjust.
16473         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
16474
16475 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
16476
16477         copy-acl: enhance Solaris ACL error handling
16478         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
16479         * lib/set-mode-acl.c (qset_acl): Likewise.
16480
16481 2010-03-02  Bruno Haible  <bruno@clisp.org>
16482
16483         spawn: Don't override the system defined values on FreeBSD 8.
16484         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
16485         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
16486         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
16487         if HAVE_POSIX_SPAWN is 1.
16488         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
16489
16490 2010-03-01  Bruno Haible  <bruno@clisp.org>
16491
16492         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
16493         regarding Automake.
16494
16495 2010-02-25  Bruno Haible  <bruno@clisp.org>
16496
16497         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
16498         * gnulib-tool: Define 'echo' as a function only before the ksh alias
16499         setting, not afterwards.
16500         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
16501
16502 2010-02-24  Eric Blake  <eblake@redhat.com>
16503
16504         bootstrap, git-version-gen: use timestamp
16505         * build-aux/git-version-gen (scriptversion): Force UTC.
16506         * build-aux/bootstrap (scriptversion): New variable.
16507
16508         bootstrap: allow older git
16509         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
16510         older than 1.6.4.  Requested by the libvirt project.
16511
16512 2010-02-23  Eric Blake  <eblake@redhat.com>
16513
16514         warn-on-use: work with old autoconf
16515         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
16516         AS_VAR semantics of autoconf 2.60.
16517         Reported by Bruno Haible.
16518
16519         bootstrap: improve some comments
16520         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
16521         clarification comments.
16522
16523         gettimeofday: provide correct function
16524         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
16525         when replacement is declared, otherwise provide gettimeofday.
16526         Reported by Michael Goffioul.
16527
16528 2010-02-23  Jim Meyering  <meyering@redhat.com>
16529
16530         lib-ignore: relax license to "unlimited", not LGPLv2+
16531         * modules/lib-ignore (License): Relax to "unlimited".
16532
16533 2010-02-23  Jim Meyering  <meyering@redhat.com>
16534
16535         lib-ignore: relax license to LGPLv2+
16536         * modules/lib-ignore (License): Relax to LGPLv2+.
16537
16538 2010-02-22  Eric Blake  <eblake@redhat.com>
16539
16540         lseek: avoid bash 3.2 broken pipe bug
16541         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
16542         warning from bash 3.2.
16543         Reported by Ben Pfaff, with analysis from Bruno Haible.
16544
16545         bootstrap: support non-FSF copyright holder
16546         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
16547         bootstrap.conf override of COPYRIGHT_HOLDER.
16548         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
16549
16550         bootstrap: interoperate with gettext 0.14.1
16551         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
16552
16553         bootstrap: allow for alternate submodule location
16554         * build-aux/bootstrap (gnulib_path): New variable; use instead of
16555         hardcoding submodule location.
16556         (gnulib_mk): Allow direct use of Makefile.am.
16557
16558         bootstrap: use GNULIB_SRCDIR to reduce disk usage
16559         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
16560         rather than reconfiguring where the submodule points.
16561
16562         gettimeofday: restore support for platforms that lack function
16563         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
16564         replacement if function is missing.
16565         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
16566         * modules/sys_time (Makefile.am): Substitute it.
16567         * lib/sys_time.in.h (gettimeofday): Check it.
16568         Reported by Michael Goffioul.
16569
16570 2010-02-21  Bruno Haible  <bruno@clisp.org>
16571
16572         * lib/stdio.in.h (obstack_printf): Fix typo.
16573
16574 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
16575
16576         vc-list-files: use bzr ls's -R option
16577         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
16578         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
16579
16580 2010-02-21  Jim Meyering  <meyering@redhat.com>
16581
16582         init.sh: fix EXEEXT shims to work also for names like test-prog
16583         * tests/init.sh: Re-exec a better shell, when needed.
16584         If the current shell lacks support for posix $(...), an init.sh-using
16585         test will now try to find a shell that supports that.  If EXEEXT is
16586         nonempty, we also require support for hyphen-in-alias-name and shell
16587         substitutions like ${var#glob}.  Failure to find such a shell results
16588         in a skipped test.
16589
16590 2010-02-21  Bruno Haible  <bruno@clisp.org>
16591
16592         Really work around around "broken pipe" error message from bash 3.2.
16593         * gnulib-tool (func_reset_sigpipe): Remove function.
16594         (echo): In bash 3.2, define to a function that uses printf.
16595         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
16596
16597 2010-02-20  Bruno Haible  <bruno@clisp.org>
16598
16599         Restore support for automake 1.9.6 with autoconf 2.61.
16600         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
16601         Reported by James Youngman <jay@gnu.org>.
16602
16603 2010-02-20  Bruno Haible  <bruno@clisp.org>
16604
16605         Improve *printf warning condition.
16606         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
16607         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
16608         and the function is overridden due to SIGPIPE emulation.
16609
16610 2010-02-20  Bruno Haible  <bruno@clisp.org>
16611
16612         * lib/stdio.in.h: Tweak comments.
16613
16614 2010-02-19  Bruno Haible  <bruno@clisp.org>
16615
16616         Make it easier to find modules. New gnulib-tool option '--find'.
16617         * gnulib-tool: New option --find.
16618         (func_usage): Document it.
16619         (func_sanitize_modulelist): New function, extracted from
16620         func_all_modules.
16621         (func_all_modules): Invoke it.
16622         * doc/gnulib-tool.texi (Which modules?): New node.
16623
16624 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
16625
16626         * lib/sys_select.in.h: Provide select replacement even if
16627         sys/select.h exists on a system, for Interix.
16628
16629 2010-02-18  Jim Meyering  <meyering@redhat.com>
16630
16631         init.sh: don't use $(...) just yet
16632         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
16633         to accommodate e.g., Solaris' /bin/sh.
16634
16635 2010-02-17  Bruno Haible  <bruno@clisp.org>
16636
16637         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
16638         Reported by Ludovic Courtès <ludo@gnu.org>.
16639
16640 2010-02-16  Simon Josefsson  <simon@josefsson.org>
16641
16642         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
16643         linking with -lintl.
16644
16645 2010-02-17  Simon Josefsson  <simon@josefsson.org>
16646
16647         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
16648         if not provided by the system's netdb.h.  Reported by
16649         ludo@gnu.org (Ludovic Courtès).
16650
16651 2010-02-15  Jim Meyering  <meyering@redhat.com>
16652
16653         init.sh: improve portability and efficiency
16654         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
16655         "dummy" in a for loop.
16656         Use '!', not '^' to select the complement of a character set used
16657         in a "case" statement.
16658         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
16659         Suggestions from Eric Blake.
16660
16661         init.sh: automatically accommodate programs with the .exe suffix
16662         Automatically arrange for an invocation of "prog" to execute the
16663         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
16664         may use the simpler "prog", yet still work when built on a system
16665         that requires specifying the added suffix.
16666         Do this by constructing a function named "prog" that invokes
16667         "prog.exe" for each .exe file in selected directories.
16668         * tests/init.sh (find_exe_basenames_): New function.
16669         (create_exe_shim_functions_): New function.
16670         (path_prepend_): Use it.
16671
16672         maint.mk: mark syntax-check sc_*.m rules as .PHONY
16673         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
16674         "make -t syntax-check" doesn't create a ton of sc_*.m files.
16675
16676 2010-02-14  Jim Meyering  <meyering@redhat.com>
16677
16678         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
16679         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
16680         (sc_prohibit_hash_pjw_without_use): New rule.
16681
16682         maint.mk: allow the default upload destination dir to be overridden
16683         * top/maint.mk (upload_dest_dir_): Define with a default that
16684         preserves the status quo.
16685         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
16686         Reported by Peter Simons.
16687
16688         maint.mk: prohibit inclusion of "hash.h" without_use
16689         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
16690
16691 2010-02-10  Jim Meyering  <meyering@redhat.com>
16692
16693         maint.mk: prohibit inclusion of "ignore-value.h" without_use
16694         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
16695
16696 2010-02-09  Eric Blake  <ebb9@byu.net>
16697         and Bruno Haible  <bruno@clisp.org>
16698
16699         obstack-printf-posix: ensure declaration
16700         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
16701         extracted from gl_FUNC_OBSTACK_PRINTF.
16702         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
16703         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
16704         Likewise.
16705         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
16706         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
16707         0.
16708
16709 2010-02-08  Bruno Haible  <bruno@clisp.org>
16710
16711         gnulib-tool: Fix typo in 2010-02-07 commit.
16712         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
16713         Reported by Eric Blake.
16714
16715 2010-02-07  Bruno Haible  <bruno@clisp.org>
16716
16717         gnulib-tool: Fix up caching patches.
16718         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
16719         option --no-cache. Use associative arrays when supported by the shell.
16720         (sed_comments): New variable.
16721         (modcache): Renamed from do_cache.
16722         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
16723         abbreviate unnecessarily.
16724         (have_associative): New variable.
16725         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
16726         way also for ksh and zsh.
16727         (func_init_sed_convert_to_cache_statements): New function, extracted
16728         from func_cache_lookup_module. Add support for associative arrays.
16729         Don't set the c_MODULE_cached variable here. Ignore all lines before
16730         the first field header. Remove only the final newline, not all trailing
16731         newlines. Support empty fields correctly. Limit the use of 'eval' to
16732         assignments.
16733         (func_get_description, func_get_status, func_get_notice,
16734         func_get_applicability, func_get_filelist, func_get_dependencies,
16735         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
16736         func_get_automake_snippet, func_get_include_directive,
16737         func_get_link_directive, func_get_license, func_get_maintainer):
16738         Update documentation. List the unoptimized code first. Add support for
16739         associative arrays. Limit the use of 'eval' to assignments.
16740         (func_get_applicability): Undo stylistic pessimisations.
16741         (func_get_automake_snippet, func_get_include_directive): Reduce code
16742         duplication.
16743         (func_modules_transitive_closure, func_modules_add_dummy,
16744         func_modules_notice, func_modules_to_filelist, func_add_file,
16745         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
16746         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
16747         func_create_testdir, func_create_megatestdir): Update documentation.
16748
16749 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16750
16751         * gnulib-tool (func_cache_lookup_module): Store the module name
16752         belonging to the cache variable; error out if two different
16753         module names map to the same cache variable name.
16754
16755 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16756
16757         gnulib-tool: Make caching optional.
16758         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
16759         Update matching short versions of --no-changelog.
16760         (func_usage): Update.
16761         (sed_extract_cache_prog): Renamed from ...
16762         (sed_extract_prog): ... this; revert to old extraction script.
16763         (func_get_description, func_get_status)
16764         (func_get_notice, func_get_applicability, func_get_filelist)
16765         (func_get_dependencies, func_get_autoconf_early_snippet)
16766         (func_get_autoconf_snippet, func_get_automake_snippet)
16767         (func_get_include_directive, func_get_link_directive)
16768         (func_get_license, func_get_maintainer): If $do_cache is false,
16769         use old, non-caching extraction scripts.
16770         Suggestion by Bruno Haible.
16771
16772 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16773
16774         gnulib-tool: cache module metainformation.
16775         * gnulib-tool (sed_extract_prog): Match newline before each
16776         header, and rewrite header to a shell variable suffix.
16777         (func_cache_var, func_cache_lookup_module): New functions,
16778         to turn a module name into a cache variable prefix, and to
16779         look up and cache module metainformation.
16780         (func_get_description, func_get_status)
16781         (func_get_notice, func_get_applicability, func_get_filelist)
16782         (func_get_dependencies, func_get_autoconf_early_snippet)
16783         (func_get_autoconf_snippet, func_get_automake_snippet)
16784         (func_get_include_directive, func_get_link_directive)
16785         (func_get_license, func_get_maintainer): Use
16786         func_cache_lookup_module.
16787
16788 2010-02-07  Bruno Haible  <bruno@clisp.org>
16789
16790         fnctl: Fix missing dependency.
16791         * modules/fcntl (Depends-on): Add getdtablesize.
16792         Reported by John W. Eaton <jwe@gnu.org>.
16793
16794 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16795
16796         Argp: fix recognition of short alias options.
16797
16798         * lib/argp-parse.c (convert_options): Fix improper use of
16799         `|' between character values.
16800         * tests/test-argp.c (group1_option): New alias option
16801         --read (-r).
16802         (group1_parser): Special handling for 'r'.
16803         (test15): New test case.
16804         (test_fun): Add test15.
16805         * tests/test-argp-2.sh: Update expected --help and --usage
16806         outputs.
16807
16808 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16809
16810         * tests/test-argp.c: Fix indentation.
16811
16812 2010-02-04  Eric Blake  <ebb9@byu.net>
16813
16814         gettimeofday: expose type of second argument
16815         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
16816         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
16817         * tests/test-gettimeofday.c: Use it to silence warning.
16818         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
16819         the issue.
16820
16821 2010-02-03  Jim Meyering  <meyering@redhat.com>
16822
16823         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
16824         * lib/regcomp.c (TYPE_SIGNED): Define.
16825         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
16826
16827         regcomp.c: avoid a new -Wshadow warning
16828         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
16829
16830 2010-02-01  Jim Meyering  <meyering@redhat.com>
16831
16832         removing useless parentheses in cpp #define directives
16833         For motivation, see commit c0221df4, "define STREQ(a,b)
16834         consistently, removing useless parentheses"
16835         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
16836         * lib/mountlist.c (MNT_IGNORE): Likewise.
16837         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
16838
16839 2010-02-01  Eric Blake  <ebb9@byu.net>
16840
16841         sys_time: use link-warning
16842         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
16843         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
16844         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
16845         * modules/sys_time (Depends-on): Add warn-on-use.
16846         (Makefile.am): Always build replacement.
16847         (configure.ac): Update substitutions.
16848         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
16849         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
16850         bother with SYS_TIME_H.
16851         * modules/gettimeofday (configure.ac): Declare indicator.
16852         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
16853         in use.
16854
16855         closein-tests: silence compiler warning
16856         * tests/test-closein.c (main): Ignore fread result.
16857         * modules/closein-tests (Depends-on): Add ignore-value.
16858
16859         tests: silence warning about system return
16860         * tests/test-areadlink-with-size.c (main): Ignore system result.
16861         * tests/test-areadlink.c (main): Likewise.
16862         * tests/test-areadlinkat-with-size.c (main): Likewise.
16863         * tests/test-areadlinkat.c (main): Likewise.
16864         * tests/test-canonicalize-lgpl.c (main): Likewise.
16865         * tests/test-canonicalize.c (main): Likewise.
16866         * tests/test-chown.c (main): Likewise.
16867         * tests/test-fchownat.c (main): Likewise.
16868         * tests/test-fdutimensat.c (main): Likewise.
16869         * tests/test-fstatat.c (main): Likewise.
16870         * tests/test-futimens.c (main): Likewise.
16871         * tests/test-lchown.c (main): Likewise.
16872         * tests/test-link.c (main): Likewise.
16873         * tests/test-linkat.c (main): Likewise.
16874         * tests/test-lstat.c (main): Likewise.
16875         * tests/test-mkdir.c (main): Likewise.
16876         * tests/test-mkdirat.c (main): Likewise.
16877         * tests/test-mkfifo.c (main): Likewise.
16878         * tests/test-mkfifoat.c (main): Likewise.
16879         * tests/test-mknod.c (main): Likewise.
16880         * tests/test-readlink.c (main): Likewise.
16881         * tests/test-remove.c (main): Likewise.
16882         * tests/test-rename.c (main): Likewise.
16883         * tests/test-renameat.c (main): Likewise.
16884         * tests/test-rmdir.c (main): Likewise.
16885         * tests/test-symlink.c (main): Likewise.
16886         * tests/test-symlinkat.c (main): Likewise.
16887         * tests/test-unlink.c (main): Likewise.
16888         * tests/test-unlinkat.c (main): Likewise.
16889         * tests/test-utimens.c (main): Likewise.
16890         * tests/test-utimensat.c (main): Likewise.
16891         * modules/areadlink-tests (Depends-on): Add ignore-value.
16892         * modules/areadlink-with-size-tests (Depends-on): Likewise.
16893         * modules/areadlinkat-tests (Depends-on): Likewise.
16894         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
16895         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16896         * modules/canonicalize-tests (Depends-on): Likewise.
16897         * modules/chown-tests (Depends-on): Likewise.
16898         * modules/fdutimensat-tests (Depends-on): Likewise.
16899         * modules/futimens-tests (Depends-on): Likewise.
16900         * modules/lchown-tests (Depends-on): Likewise.
16901         * modules/link-tests (Depends-on): Likewise.
16902         * modules/linkat-tests (Depends-on): Likewise.
16903         * modules/lstat-tests (Depends-on): Likewise.
16904         * modules/mkdir-tests (Depends-on): Likewise.
16905         * modules/mkfifo-tests (Depends-on): Likewise.
16906         * modules/mkfifoat-tests (Depends-on): Likewise.
16907         * modules/mknod-tests (Depends-on): Likewise.
16908         * modules/openat-tests (Depends-on): Likewise.
16909         * modules/readlink-tests (Depends-on): Likewise.
16910         * modules/remove-tests (Depends-on): Likewise.
16911         * modules/rename-tests (Depends-on): Likewise.
16912         * modules/renameat-tests (Depends-on): Likewise.
16913         * modules/rmdir-tests (Depends-on): Likewise.
16914         * modules/symlink-tests (Depends-on): Likewise.
16915         * modules/symlinkat-tests (Depends-on): Likewise.
16916         * modules/unlink-tests (Depends-on): Likewise.
16917         * modules/utimens-tests (Depends-on): Likewise.
16918         * modules/utimensat-tests (Depends-on): Likewise.
16919
16920 2010-01-31  Bruno Haible  <bruno@clisp.org>
16921
16922         Perform the same test for many <math.h> functions.
16923         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
16924         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
16925         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
16926         of gl_MATHFUNC.
16927         * modules/acos (configure.ac): Likewise.
16928         * modules/asin (configure.ac): Likewise.
16929         * modules/atan (configure.ac): Likewise.
16930         * modules/atan2 (configure.ac): Likewise.
16931         * modules/cbrt (configure.ac): Likewise.
16932         * modules/copysign (configure.ac): Likewise.
16933         * modules/cos (configure.ac): Likewise.
16934         * modules/cosh (configure.ac): Likewise.
16935         * modules/erf (configure.ac): Likewise.
16936         * modules/erfc (configure.ac): Likewise.
16937         * modules/exp (configure.ac): Likewise.
16938         * modules/fmod (configure.ac): Likewise.
16939         * modules/hypot (configure.ac): Likewise.
16940         * modules/j0 (configure.ac): Likewise.
16941         * modules/j1 (configure.ac): Likewise.
16942         * modules/jn (configure.ac): Likewise.
16943         * modules/lgamma (configure.ac): Likewise.
16944         * modules/log (configure.ac): Likewise.
16945         * modules/log10 (configure.ac): Likewise.
16946         * modules/log1p (configure.ac): Likewise.
16947         * modules/pow (configure.ac): Likewise.
16948         * modules/remainder (configure.ac): Likewise.
16949         * modules/sin (configure.ac): Likewise.
16950         * modules/sinh (configure.ac): Likewise.
16951         * modules/tan (configure.ac): Likewise.
16952         * modules/tanh (configure.ac): Likewise.
16953         * modules/y0 (configure.ac): Likewise.
16954         * modules/y1 (configure.ac): Likewise.
16955         * modules/yn (configure.ac): Likewise.
16956         Suggested by Paolo Bonzini.
16957
16958 2010-01-31  Bruno Haible  <bruno@clisp.org>
16959
16960         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
16961
16962 2010-01-31  Bruno Haible  <bruno@clisp.org>
16963
16964         Work around getdelim() bug on FreeBSD 8.0.
16965         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
16966         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
16967         not work.
16968         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
16969         is 1.
16970         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
16971         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
16972         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
16973         a non-zero size.
16974         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
16975
16976 2010-01-31  Bruno Haible  <bruno@clisp.org>
16977
16978         Work around getline() bug on FreeBSD 8.0.
16979         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
16980         and a non-zero size.
16981         * tests/test-getline.c (main): Likewise.
16982         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
16983         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
16984
16985 2010-01-28  Eric Blake  <ebb9@byu.net>
16986
16987         regex: fix build failure
16988         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
16989         platforms.
16990
16991 2010-01-28  Jim Meyering  <meyering@redhat.com>
16992
16993         regex: do not ignore memory allocation failure
16994         * lib/regex_internal.c (create_cd_newstate): Detect
16995         re_node_set_init_copy failure.   Extracted from glibc commit
16996         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16997
16998         regex: sync more white-space changes from libc
16999         * lib/regex_internal.c: White-space only changes.
17000         * lib/regexec.c: Likewise.
17001
17002         regex: add many uses of __attribute_warn_unused_result__
17003         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
17004         * lib/regexec.c: Likewise.
17005         Extracted from a messy glibc commit.
17006
17007         regcomp.c: spelling and merge-artifact from glibc
17008         * lib/regcomp.c: Merge remainder of glibc's
17009         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17010
17011         regcomp.c: sync white-space changes from glibc
17012         * lib/regcomp.c: Merge to accommodate white space
17013         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17014
17015         regcomp.c: do not ignore internal return values
17016         * lib/regcomp.c: Do not ignore internal return values.
17017         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
17018         but without its white-space changes and spelling fixes.
17019
17020         regex_internal.h: define __attribute_warn_unused_result__
17021         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
17022
17023         maint: add a syntax-check rule to check for vulnerable Makefile.in
17024         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
17025
17026 2010-01-27  Jim Meyering  <meyering@redhat.com>
17027
17028         ncftpput-ftp: clean up spaces
17029         * build-aux/ncftpput-ftp: Make Copyright line consistent.
17030         Remove trailing blanks.
17031
17032 2010-01-27  Simon Josefsson  <simon@josefsson.org>
17033
17034         * build-aux/git-version-gen: Fix copyright statement.
17035         * build-aux/gnupload: Likewise.
17036         * tests/test-arcfour.c: Likewise.
17037         * tests/test-arctwo.c: Likewise.
17038         * tests/test-count-one-bits.c: Likewise.
17039         * tests/test-crc.c: Likewise.
17040         * tests/test-des.c: Likewise.
17041         * tests/test-gc-arcfour.c: Likewise.
17042         * tests/test-gc-arctwo.c: Likewise.
17043         * tests/test-gc-des.c: Likewise.
17044         * tests/test-gc-hmac-md5.c: Likewise.
17045         * tests/test-gc-hmac-sha1.c: Likewise.
17046         * tests/test-gc-md2.c: Likewise.
17047         * tests/test-gc-md4.c: Likewise.
17048         * tests/test-gc-md5.c: Likewise.
17049         * tests/test-gc-pbkdf2-sha1.c: Likewise.
17050         * tests/test-gc-rijndael.c: Likewise.
17051         * tests/test-gc-sha1.c: Likewise.
17052         * tests/test-gc.c: Likewise.
17053         * tests/test-gethostname.c: Likewise.
17054         * tests/test-gettimeofday.c: Likewise.
17055         * tests/test-hash.c: Likewise.
17056         * tests/test-hmac-md5.c: Likewise.
17057         * tests/test-hmac-sha1.c: Likewise.
17058         * tests/test-md2.c: Likewise.
17059         * tests/test-md4.c: Likewise.
17060         * tests/test-md5.c: Likewise.
17061         * tests/test-memchr.c: Likewise.
17062         * tests/test-memchr2.c: Likewise.
17063         * tests/test-memcmp.c: Likewise.
17064         * tests/test-memmem.c: Likewise.
17065         * tests/test-memrchr.c: Likewise.
17066         * tests/test-rawmemchr.c: Likewise.
17067         * tests/test-read-file.c: Likewise.
17068         * tests/test-rijndael.c: Likewise.
17069         * tests/test-sockets.c: Likewise.
17070         * tests/test-strchrnul.c: Likewise.
17071         * tests/test-strstr.c: Likewise.
17072         * tests/test-strtod.c: Likewise.
17073         * build-aux/ncftpput-ftp: Likewise.
17074
17075 2010-01-26  Eric Blake  <ebb9@byu.net>
17076
17077         ignore-value: update recommended header name
17078         * modules/ignore-value (Include): Only use <> for headers that
17079         exist in glibc.
17080
17081 2010-01-26  Jim Meyering  <meyering@redhat.com>
17082
17083         test-userspec.c: avoid compiler warnings
17084         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
17085         and "initialization discards qualifiers..." warnings.
17086         Put the first "uid" in its own scope, and make char* members "const".
17087
17088 2010-01-25  Bruno Haible  <bruno@clisp.org>
17089
17090         gnulib-tool: Make warning diagnostics consistent.
17091         * gnulib-tool (func_warning): New function.
17092         Use it everywhere where gnulib-tool produces output to stderr and it is
17093         not a fatal error.
17094
17095 2010-01-25  Bruno Haible  <bruno@clisp.org>
17096
17097         Fix test dependencies.
17098         * modules/xstrtol-tests (Depends-on): Add inttypes.
17099         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
17100
17101 2010-01-25 Pádraig Brady <P@draigBrady.com>
17102
17103         syntax-check: detect incorrect boolean macro values in config.h
17104         * modules/maintainer-makefile (configure.ac): Parameterize the location
17105         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
17106         The logic is from Eric Blake and the location indicated by Jim Meyering.
17107         Note the more natural CONFIG_HEADER name is prohibited by automake
17108         for backwards compatibility reasons.
17109         * top/maint.mk (sc_Wundef_boolean): New rule.
17110
17111 2010-01-25  Jim Meyering  <meyering@redhat.com>
17112
17113         bootstrap: detect MacOS 10.6's shasum, too
17114         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
17115         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
17116
17117 2010-01-23  Jim Meyering  <meyering@redhat.com>
17118
17119         xstrtoll: new module
17120         * modules/xstrtoll: New file.
17121         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
17122         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
17123         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
17124         ./configure fails if you use this module and lack "long long".
17125         * modules/xstrtoll-tests: New module.
17126         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
17127         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
17128         new init.sh-based test framework.
17129
17130 2010-01-24  Bruno Haible  <bruno@clisp.org>
17131
17132         Tests for module 'yn'.
17133         * modules/yn-tests: New file.
17134         * tests/test-yn.c: New file.
17135
17136         Tests for module 'y1'.
17137         * modules/y1-tests: New file.
17138         * tests/test-y1.c: New file.
17139
17140         Tests for module 'y0'.
17141         * modules/y0-tests: New file.
17142         * tests/test-y0.c: New file.
17143
17144         Tests for module 'tanh'.
17145         * modules/tanh-tests: New file.
17146         * tests/test-tanh.c: New file.
17147
17148         Tests for module 'tan'.
17149         * modules/tan-tests: New file.
17150         * tests/test-tan.c: New file.
17151
17152         Tests for module 'sqrt'.
17153         * modules/sqrt-tests: New file.
17154         * tests/test-sqrt.c: New file.
17155
17156         Tests for module 'sinh'.
17157         * modules/sinh-tests: New file.
17158         * tests/test-sinh.c: New file.
17159
17160         Tests for module 'sin'.
17161         * modules/sin-tests: New file.
17162         * tests/test-sin.c: New file.
17163
17164         Tests for module 'rint'.
17165         * modules/rint-tests: New file.
17166         * tests/test-rint.c: New file.
17167
17168         Tests for module 'remainder'.
17169         * modules/remainder-tests: New file.
17170         * tests/test-remainder.c: New file.
17171
17172         Tests for module 'pow'.
17173         * modules/pow-tests: New file.
17174         * tests/test-pow.c: New file.
17175
17176         Tests for module 'nextafter'.
17177         * modules/nextafter-tests: New file.
17178         * tests/test-nextafter.c: New file.
17179
17180         Tests for module 'modf'.
17181         * modules/modf-tests: New file.
17182         * tests/test-modf.c: New file.
17183
17184         Tests for module 'logb'.
17185         * modules/logb-tests: New file.
17186         * tests/test-logb.c: New file.
17187
17188         Tests for module 'log1p'.
17189         * modules/log1p-tests: New file.
17190         * tests/test-log1p.c: New file.
17191
17192         Tests for module 'log10'.
17193         * modules/log10-tests: New file.
17194         * tests/test-log10.c: New file.
17195
17196         Tests for module 'log'.
17197         * modules/log-tests: New file.
17198         * tests/test-log.c: New file.
17199
17200         Tests for module 'lgamma'.
17201         * modules/lgamma-tests: New file.
17202         * tests/test-lgamma.c: New file.
17203
17204         Tests for module 'ldexp'.
17205         * modules/ldexp-tests: New file.
17206         * tests/test-ldexp.c: New file.
17207
17208         Tests for module 'jn'.
17209         * modules/jn-tests: New file.
17210         * tests/test-jn.c: New file.
17211
17212         Tests for module 'j1'.
17213         * modules/j1-tests: New file.
17214         * tests/test-j1.c: New file.
17215
17216         Tests for module 'j0'.
17217         * modules/j0-tests: New file.
17218         * tests/test-j0.c: New file.
17219
17220         Tests for module 'hypot'.
17221         * modules/hypot-tests: New file.
17222         * tests/test-hypot.c: New file.
17223
17224         Tests for module 'fmod'.
17225         * modules/fmod-tests: New file.
17226         * tests/test-fmod.c: New file.
17227
17228         Tests for module 'fabs'.
17229         * modules/fabs-tests: New file.
17230         * tests/test-fabs.c: New file.
17231
17232         Tests for module 'exp'.
17233         * modules/exp-tests: New file.
17234         * tests/test-exp.c: New file.
17235
17236         Tests for module 'erfc'.
17237         * modules/erfc-tests: New file.
17238         * tests/test-erfc.c: New file.
17239
17240         Tests for module 'erf'.
17241         * modules/erf-tests: New file.
17242         * tests/test-erf.c: New file.
17243
17244         Tests for module 'cosh'.
17245         * modules/cosh-tests: New file.
17246         * tests/test-cosh.c: New file.
17247
17248         Tests for module 'cos'.
17249         * modules/cos-tests: New file.
17250         * tests/test-cos.c: New file.
17251
17252         Tests for module 'copysign'.
17253         * modules/copysign-tests: New file.
17254         * tests/test-copysign.c: New file.
17255
17256         Tests for module 'cbrt'.
17257         * modules/cbrt-tests: New file.
17258         * tests/test-cbrt.c: New file.
17259
17260         Tests for module 'atan2'.
17261         * modules/atan2-tests: New file.
17262         * tests/test-atan2.c: New file.
17263
17264         Tests for module 'atan'.
17265         * modules/atan-tests: New file.
17266         * tests/test-atan.c: New file.
17267
17268         Tests for module 'asin'.
17269         * modules/asin-tests: New file.
17270         * tests/test-asin.c: New file.
17271
17272         Tests for module 'acos'.
17273         * modules/acos-tests: New file.
17274         * tests/test-acos.c: New file.
17275
17276 2010-01-24  Bruno Haible  <bruno@clisp.org>
17277
17278         Fix tests for common <math.h> functions.
17279         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
17280         code snippet that references the function pointer, rather than merely
17281         calling the function. Substitute the FUNC_LIBM variable.
17282         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
17283         * modules/acos (configure.ac): Likewise.
17284         * modules/asin (configure.ac): Likewise.
17285         * modules/atan (configure.ac): Likewise.
17286         * modules/atan2 (configure.ac): Likewise.
17287         * modules/cbrt (configure.ac): Likewise.
17288         * modules/copysign (configure.ac): Likewise.
17289         * modules/cos (configure.ac): Likewise.
17290         * modules/cosh (configure.ac): Likewise.
17291         * modules/erf (configure.ac): Likewise.
17292         * modules/erfc (configure.ac): Likewise.
17293         * modules/exp (configure.ac): Likewise.
17294         * modules/fabs (configure.ac): Likewise.
17295         * modules/fmod (configure.ac): Likewise.
17296         * modules/hypot (configure.ac): Likewise.
17297         * modules/j0 (configure.ac): Likewise.
17298         * modules/j1 (configure.ac): Likewise.
17299         * modules/jn (configure.ac): Likewise.
17300         * modules/ldexp (configure.ac): Likewise.
17301         * modules/lgamma (configure.ac): Likewise.
17302         * modules/log (configure.ac): Likewise.
17303         * modules/log10 (configure.ac): Likewise.
17304         * modules/log1p (configure.ac): Likewise.
17305         * modules/logb (configure.ac): Likewise.
17306         * modules/modf (configure.ac): Likewise.
17307         * modules/nextafter (configure.ac): Likewise.
17308         * modules/pow (configure.ac): Likewise.
17309         * modules/remainder (configure.ac): Likewise.
17310         * modules/rint (configure.ac): Likewise.
17311         * modules/sin (configure.ac): Likewise.
17312         * modules/sinh (configure.ac): Likewise.
17313         * modules/tan (configure.ac): Likewise.
17314         * modules/tanh (configure.ac): Likewise.
17315         * modules/y0 (configure.ac): Likewise.
17316         * modules/y1 (configure.ac): Likewise.
17317         * modules/yn (configure.ac): Likewise.
17318
17319 2010-01-24  Bruno Haible  <bruno@clisp.org>
17320
17321         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
17322         * tests/test-acosl.c (x): New variable.
17323         (main): Store argument in x and fetch it from x.
17324         * tests/test-asinl.c (x): New variable.
17325         (main): Store argument in x and fetch it from x.
17326         * tests/test-atanl.c (x): New variable.
17327         (main): Store argument in x and fetch it from x.
17328         * tests/test-cosl.c (x): New variable.
17329         (main): Store argument in x and fetch it from x.
17330         * tests/test-expl.c (x): New variable.
17331         (main): Store argument in x and fetch it from x.
17332         * tests/test-logl.c (x): New variable.
17333         (main): Store argument in x and fetch it from x.
17334         * tests/test-sinl.c (x): New variable.
17335         (main): Store argument in x and fetch it from x.
17336         * tests/test-sqrtl.c (x): New variable.
17337         (main): Store argument in x and fetch it from x.
17338         * tests/test-tanl.c (x): New variable.
17339         (main): Store argument in x and fetch it from x.
17340
17341 2010-01-24  Bruno Haible  <bruno@clisp.org>
17342
17343         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
17344         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
17345         assignments to the initial TESTS_ENVIRONMENT.
17346         * doc/gnulib.texi (Unit test modules): Document it.
17347         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
17348         TESTS_ENVIRONMENT.
17349         * modules/btowc-tests (Makefile.am): Likewise.
17350         * modules/c-stack-tests (Makefile.am): Likewise.
17351         * modules/c-strcase-tests (Makefile.am): Likewise.
17352         * modules/copy-file-tests (Makefile.am): Likewise.
17353         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
17354         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
17355         * modules/mbrtowc-tests (Makefile.am): Likewise.
17356         * modules/mbscasecmp-tests (Makefile.am): Likewise.
17357         * modules/mbscasestr-tests (Makefile.am): Likewise.
17358         * modules/mbschr-tests (Makefile.am): Likewise.
17359         * modules/mbscspn-tests (Makefile.am): Likewise.
17360         * modules/mbsinit-tests (Makefile.am): Likewise.
17361         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
17362         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
17363         * modules/mbspbrk-tests (Makefile.am): Likewise.
17364         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
17365         * modules/mbsrchr-tests (Makefile.am): Likewise.
17366         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
17367         * modules/mbsspn-tests (Makefile.am): Likewise.
17368         * modules/mbsstr-tests (Makefile.am): Likewise.
17369         * modules/nl_langinfo-tests (Makefile.am): Likewise.
17370         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
17371         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
17372         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
17373         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
17374         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
17375         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
17376         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
17377         * modules/wcrtomb-tests (Makefile.am): Likewise.
17378         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
17379         * modules/wcsrtombs-tests (Makefile.am): Likewise.
17380         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
17381         assignments from TESTS_ENVIRONMENT.
17382         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
17383         augmentation.
17384         * modules/argp-version-etc-tests (Makefile.am): Likewise.
17385         * modules/atexit-tests (Makefile.am): Likewise.
17386         * modules/binary-io-tests (Makefile.am): Likewise.
17387         * modules/closein-tests (Makefile.am): Likewise.
17388         * modules/dprintf-posix-tests (Makefile.am): Likewise.
17389         * modules/exclude-tests (Makefile.am): Likewise.
17390         * modules/fflush-tests (Makefile.am): Likewise.
17391         * modules/fpending-tests (Makefile.am): Likewise.
17392         * modules/fprintf-posix-tests (Makefile.am): Likewise.
17393         * modules/freadahead-tests (Makefile.am): Likewise.
17394         * modules/freadptr-tests (Makefile.am): Likewise.
17395         * modules/freadseek-tests (Makefile.am): Likewise.
17396         * modules/fseek-tests (Makefile.am): Likewise.
17397         * modules/fseeko-tests (Makefile.am): Likewise.
17398         * modules/ftell-tests (Makefile.am): Likewise.
17399         * modules/ftello-tests (Makefile.am): Likewise.
17400         * modules/idpriv-drop-tests (Makefile.am): Likewise.
17401         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
17402         * modules/lseek-tests (Makefile.am): Likewise.
17403         * modules/parse-duration-tests (Makefile.am): Likewise.
17404         * modules/perror-tests (Makefile.am): Likewise.
17405         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
17406         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
17407         * modules/pipe-tests (Makefile.am): Likewise.
17408         * modules/pread-tests (Makefile.am): Likewise.
17409         * modules/printf-posix-tests (Makefile.am): Likewise.
17410         * modules/select-tests (Makefile.am): Likewise.
17411         * modules/sigpipe-tests (Makefile.am): Likewise.
17412         * modules/tsearch-tests (Makefile.am): Likewise.
17413         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
17414         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
17415         * modules/uniname/uniname-tests (Makefile.am): Likewise.
17416         * modules/uniwidth/width-tests (Makefile.am): Likewise.
17417         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
17418         * modules/version-etc-tests (Makefile.am): Likewise.
17419         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
17420         * modules/vprintf-posix-tests (Makefile.am): Likewise.
17421         * modules/xalloc-die-tests (Makefile.am): Likewise.
17422         * modules/xprintf-posix-tests (Makefile.am): Likewise.
17423         * modules/xstrtoimax-tests (Makefile.am): Likewise.
17424         * modules/xstrtol-tests (Makefile.am): Likewise.
17425         * modules/xstrtoumax-tests (Makefile.am): Likewise.
17426         * modules/yesno-tests (Makefile.am): Likewise.
17427         Suggested by Jim Meyering.
17428
17429 2010-01-24  Bruno Haible  <bruno@clisp.org>
17430
17431         More documentation.
17432         * doc/gnulib.texi (Writing modules): New chapter.
17433         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
17434         the new chapter.
17435
17436 2010-01-24  Jim Meyering  <meyering@redhat.com>
17437
17438         maint.mk: do not prepend "./" after filtering
17439         * top/maint.mk (_prepend_srcdir_prefix): New variable
17440         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
17441         "./" when $(srcdir) is ".".
17442
17443         define STREQ(a,b) consistently, removing useless parentheses
17444         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
17445         since the only risk is that "a" or "b" contains an unparenthesized
17446         comma, but if either did that, STREQ would have 3 or more arguments.
17447         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
17448         * lib/fts.c (STREQ): Remove unnecessary parentheses.
17449         * lib/hash-triple.c (STREQ): Likewise.
17450         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
17451         * lib/getugroups.c (STREQ): Likewise.
17452
17453 2010-01-23  Jim Meyering  <meyering@redhat.com>
17454
17455         maint.mk: fix syntax-check in a non-srcdir build directory
17456         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
17457         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
17458
17459 2010-01-22  Jim Meyering  <meyering@redhat.com>
17460
17461         userspec: add unit tests
17462         * tests/test-userspec.c: New file.
17463         * modules/userspec-tests: Likewise.
17464
17465 2010-01-21  Jim Meyering  <meyering@redhat.com>
17466
17467         maint.mk: handle source file names containing "." robustly
17468         * top/maint.mk (_dot_escaped_srcdir): Define.
17469         (VC_LIST): Use it in LHS of sed substitution.
17470
17471 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
17472
17473         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
17474         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
17475         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
17476         from a non-srcdir build.
17477
17478 2010-01-20  Eric Blake  <ebb9@byu.net>
17479
17480         warn-on-use: use instead of link-warning
17481         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
17482         * modules/unistd (Depends-on, Makefile.am): Likewise.
17483         * modules/arpa_inet (Depends-on): Replace link-warning with
17484         warn-on-use.
17485         (Makefile.am): Update rules accordingly.
17486         * modules/ctype (Depends-on, Makefile.am): Likewise.
17487         * modules/dirent (Depends-on, Makefile.am): Likewise.
17488         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
17489         * modules/inttypes (Depends-on, Makefile.am): Likewise.
17490         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17491         * modules/locale (Depends-on, Makefile.am): Likewise.
17492         * modules/math (Depends-on, Makefile.am): Likewise.
17493         * modules/search (Depends-on, Makefile.am): Likewise.
17494         * modules/signal (Depends-on, Makefile.am): Likewise.
17495         * modules/spawn (Depends-on, Makefile.am): Likewise.
17496         * modules/stdlib (Depends-on, Makefile.am): Likewise.
17497         * modules/string (Depends-on, Makefile.am): Likewise.
17498         * modules/strings (Depends-on, Makefile.am): Likewise.
17499         * modules/sys_file (Depends-on, Makefile.am): Likewise.
17500         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
17501         * modules/sys_select (Depends-on, Makefile.am): Likewise.
17502         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
17503         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
17504         * modules/sys_times (Depends-on, Makefile.am): Likewise.
17505         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17506         * modules/wchar (Depends-on, Makefile.am): Likewise.
17507         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
17508         should be poisoned.
17509         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
17510         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
17511         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
17512         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17513         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17514         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
17515         * m4/math_h.m4 (gl_MATH_H): Likewise.
17516         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17517         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
17518         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17519         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
17520         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
17521         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
17522         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
17523         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
17524         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17525         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17526         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17527         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
17528         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17529         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17530         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17531         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17532         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
17533         GL_LINK_WARNING.
17534         * lib/ctype.in.h: Likewise.
17535         * lib/dirent.in.h: Likewise.
17536         * lib/fcntl.in.h: Likewise.
17537         * lib/inttypes.in.h: Likewise.
17538         * lib/langinfo.in.h: Likewise.
17539         * lib/locale.in.h: Likewise.
17540         * lib/math.in.h: Likewise.
17541         * lib/search.in.h: Likewise.
17542         * lib/signal.in.h: Likewise.
17543         * lib/spawn.in.h: Likewise.
17544         * lib/stdio.in.h: Likewise.
17545         * lib/stdlib.in.h: Likewise.
17546         * lib/string.in.h: Likewise.
17547         * lib/strings.in.h: Likewise.
17548         * lib/sys_file.in.h: Likewise.
17549         * lib/sys_ioctl.in.h: Likewise.
17550         * lib/sys_select.in.h: Likewise.
17551         * lib/sys_socket.in.h: Likewise.
17552         * lib/sys_stat.in.h: Likewise.
17553         * lib/sys_times.in.h: Likewise.
17554         * lib/sys_utsname.in.h: Likewise.
17555         * lib/unistd.in.h: Likewise.
17556         * lib/wchar.in.h: Likewise.
17557
17558 2010-01-20  Bruno Haible  <bruno@clisp.org>
17559
17560         Avoid duplicate -lm.
17561         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
17562         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
17563         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
17564         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
17565         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
17566         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
17567         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
17568         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
17569         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
17570         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
17571         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
17572         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
17573         Reported by Paolo Bonzini.
17574
17575 2010-01-19  Bruno Haible  <bruno@clisp.org>
17576
17577         langinfo, nl_langinfo: Relicense under LGPLv2+.
17578         * modules/langinfo (License): Change to LGPLv2+.
17579         * modules/nl_langinfo (License): Likewise.
17580         Patch by David Lutterkort <lutter@redhat.com>.
17581
17582 2010-01-19  Bruno Haible  <bruno@clisp.org>
17583
17584         Avoid compilation error with cc on OSF/1 5.1.
17585         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
17586         statement, not before.
17587         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17588
17589 2010-01-18  Bruno Haible  <bruno@clisp.org>
17590
17591         Avoid a link error due to the __printf__ symbol.
17592         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
17593         and 2.6.x.
17594         (__format__, __printf__): Remove definitions.
17595         * lib/argp-fmtstream.h: Likewise.
17596         * lib/argp.h: Likewise.
17597         * lib/error.h: Likewise.
17598         * lib/vasnprintf.h: Likewise.
17599         * lib/xprintf.h: Likewise.
17600         * lib/xvasprintf.h: Likewise.
17601         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17602
17603 2010-01-18  Bruno Haible  <bruno@clisp.org>
17604
17605         Tests for module 'tanl'.
17606         * modules/tanl-tests: New file.
17607         * tests/test-tanl.c: New file.
17608
17609         Tests for module 'sqrtl'.
17610         * modules/sqrtl-tests: New file.
17611         * tests/test-sqrtl.c: New file.
17612
17613         Tests for module 'sinl'.
17614         * modules/sinl-tests: New file.
17615         * tests/test-sinl.c: New file.
17616
17617         Tests for module 'logl'.
17618         * modules/logl-tests: New file.
17619         * tests/test-logl.c: New file.
17620
17621         Tests for module 'expl'.
17622         * modules/expl-tests: New file.
17623         * tests/test-expl.c: New file.
17624
17625         Tests for module 'cosl'.
17626         * modules/cosl-tests: New file.
17627         * tests/test-cosl.c: New file.
17628
17629         Tests for module 'atanl'.
17630         * modules/atanl-tests: New file.
17631         * tests/test-atanl.c: New file.
17632
17633         Tests for module 'asinl'.
17634         * modules/asinl-tests: New file.
17635         * tests/test-asinl.c: New file.
17636
17637         Tests for module 'acosl'.
17638         * modules/acosl-tests: New file.
17639         * tests/test-acosl.c: New file.
17640
17641         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17642         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
17643         tanl): Use the standard gnulib idiom.
17644         * lib/cosl.c: Don't include trigl.c and sincosl.c.
17645         * lib/sinl.c: Likewise.
17646         * lib/tanl.c: Don't include trigl.c.
17647         (kernel_tanl): Make static.
17648         * lib/sincosl.c: Include trigl.h first.
17649         * lib/trigl.c: Likewise.
17650         * m4/acosl.m4: New file.
17651         * m4/asinl.m4: New file.
17652         * m4/atanl.m4: New file.
17653         * m4/cosl.m4: New file.
17654         * m4/expl.m4: New file.
17655         * m4/logl.m4: New file.
17656         * m4/sinl.m4: New file.
17657         * m4/sqrtl.m4: New file.
17658         * m4/tanl.m4: New file.
17659         * m4/mathl.m4: Remove file.
17660         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
17661         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17662         Don't initialize GNULIB_MATHL.
17663         * modules/acosl: New file.
17664         * modules/asinl: New file.
17665         * modules/atanl: New file.
17666         * modules/cosl: New file.
17667         * modules/expl: New file.
17668         * modules/logl: New file.
17669         * modules/sinl: New file.
17670         * modules/sqrtl: New file.
17671         * modules/tanl: New file.
17672         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
17673         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
17674         substitute GNULIB_MATHL.
17675         * modules/mathl: Rewritten.
17676         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
17677         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
17678         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
17679         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
17680         * doc/posix-functions/expl.texi: Mention the 'expl' module.
17681         * doc/posix-functions/logl.texi: Mention the 'logl' module.
17682         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
17683         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
17684         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
17685
17686 2010-01-18  Bruno Haible  <bruno@clisp.org>
17687
17688         sqrt: Make gl_FUNC_SQRT requirable.
17689         * m4/sqrt.m4: New file.
17690         * modules/sqrt (Files): Add it.
17691         (configure.ac): Invoke gl_FUNC_SQRT.
17692
17693 2010-01-18  Bruno Haible  <bruno@clisp.org>
17694
17695         New modules for common <math.h> functions.
17696         * m4/mathfunc.m4: New file.
17697         * modules/acos: New file.
17698         * modules/asin: New file.
17699         * modules/atan: New file.
17700         * modules/atan2: New file.
17701         * modules/cbrt: New file.
17702         * modules/copysign: New file.
17703         * modules/cos: New file.
17704         * modules/cosh: New file.
17705         * modules/erf: New file.
17706         * modules/erfc: New file.
17707         * modules/exp: New file.
17708         * modules/fabs: New file.
17709         * modules/fmod: New file.
17710         * modules/hypot: New file.
17711         * modules/j0: New file.
17712         * modules/j1: New file.
17713         * modules/jn: New file.
17714         * modules/ldexp: New file.
17715         * modules/lgamma: New file.
17716         * modules/log: New file.
17717         * modules/log10: New file.
17718         * modules/log1p: New file.
17719         * modules/logb: New file.
17720         * modules/modf: New file.
17721         * modules/nextafter: New file.
17722         * modules/pow: New file.
17723         * modules/remainder: New file.
17724         * modules/rint: New file.
17725         * modules/sin: New file.
17726         * modules/sinh: New file.
17727         * modules/sqrt: New file.
17728         * modules/tan: New file.
17729         * modules/tanh: New file.
17730         * modules/y0: New file.
17731         * modules/y1: New file.
17732         * modules/yn: New file.
17733         * doc/posix-functions/acos.texi: Mention the 'acos' module.
17734         * doc/posix-functions/asin.texi: Mention the 'asin' module.
17735         * doc/posix-functions/atan.texi: Mention the 'atan' module.
17736         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
17737         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
17738         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
17739         * doc/posix-functions/cos.texi: Mention the 'cos' module.
17740         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
17741         * doc/posix-functions/erf.texi: Mention the 'erf' module.
17742         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
17743         * doc/posix-functions/exp.texi: Mention the 'exp' module.
17744         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
17745         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
17746         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
17747         * doc/posix-functions/j0.texi: Mention the 'j0' module.
17748         * doc/posix-functions/j1.texi: Mention the 'j1' module.
17749         * doc/posix-functions/jn.texi: Mention the 'jn' module.
17750         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
17751         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
17752         * doc/posix-functions/log.texi: Mention the 'log' module.
17753         * doc/posix-functions/log10.texi: Mention the 'log10' module.
17754         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
17755         * doc/posix-functions/logb.texi: Mention the 'logb' module.
17756         * doc/posix-functions/modf.texi: Mention the 'modf' module.
17757         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
17758         * doc/posix-functions/pow.texi: Mention the 'pow' module.
17759         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
17760         * doc/posix-functions/rint.texi: Mention the 'rint' module.
17761         * doc/posix-functions/sin.texi: Mention the 'sin' module.
17762         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
17763         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
17764         * doc/posix-functions/tan.texi: Mention the 'tan' module.
17765         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
17766         * doc/posix-functions/y0.texi: Mention the 'y0' module.
17767         * doc/posix-functions/y1.texi: Mention the 'y1' module.
17768         * doc/posix-functions/yn.texi: Mention the 'yn' module.
17769
17770 2010-01-18  Jim Meyering  <meyering@redhat.com>
17771
17772         ignore-value: relax license to LGPLv2+
17773         * modules/ignore-value (License): Relax to LGPLv2+.
17774
17775         getdate: don't leak when TZ contains two or more '"'s
17776         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
17777         double quote in TZ after the first one.
17778
17779         readtokens: do not leak internal token_lengths buffer
17780         * lib/readtokens.c (readtokens): Free the local, lengths,
17781         when the supplied "token_lengths" parameter is NULL.
17782
17783 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17784
17785         Fix a couple of missing LIBTHREAD link failures on AIX.
17786         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
17787         $(LIBTHREAD).
17788         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
17789
17790         Link test-poll against INET_PTON_LIB.
17791         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
17792         for inet_pton on Solaris 10.
17793
17794 2010-01-17  Bruno Haible  <bruno@clisp.org>
17795
17796         unistdio/*-sprintf: Fix typo in module description.
17797         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
17798         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
17799         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
17800         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
17801         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
17802         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
17803         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
17804         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17805
17806 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17807
17808         gnulib-tool: fix filelist for AIX, HP-UX ksh.
17809         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
17810         variables in shell case patterns, for AIX and HP-UX ksh.
17811
17812         Split large sed scripts, for HP-UX sed.
17813         * modules/stdio: Split sed scripts around 50 sed commands,
17814         to avoid HP-UX limit of 99 commands, in the near future.
17815         * modules/string: Likewise.
17816         * modules/unistd: Likewise.
17817
17818         gnulib-tool: avoid writing in the current directory.
17819         * gnulib-tool (func_emit_lib_Makefile_am)
17820         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
17821         not in the current directory, so concurrent gnulib-tool
17822         instances do not interfere.
17823
17824 2010-01-16  Jim Meyering  <meyering@redhat.com>
17825
17826         doc: update users.txt
17827         * users.txt: Add grep.
17828         (diffutils, gzip): Update URLs.
17829
17830 2010-01-12  Bruno Haible  <bruno@clisp.org>
17831
17832         posix_spawn: Avoid test failure on Cygwin.
17833         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
17834         characters.
17835         Reported by Simon Josefsson.
17836
17837 2010-01-12  Bruno Haible  <bruno@clisp.org>
17838
17839         * tests/test-cond.c (main): When skipping the test, show the reason.
17840
17841 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17842
17843         * lib/striconv.c (str_cd_iconv): Avoid if before free.
17844
17845 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17846
17847         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
17848         VC_LIST_ALWAYS_EXCLUDE_REGEX.
17849
17850 2010-01-12  Eric Blake  <ebb9@byu.net>
17851
17852         build: guarantee AS_VAR_IF
17853         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
17854         (gl_AS_VAR_IF): Move...
17855         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
17856         Reported by Simon Josefsson.
17857
17858 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17859
17860         * lib/stdio.in.h: Fix typo.
17861
17862 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17863
17864         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
17865         libgpg-error.
17866
17867 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17868
17869         * tests/test-xalloc-die.sh: Use $EXEEXT.
17870
17871 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17872             Bruno Haible  <bruno@clisp.org>
17873
17874         getlogin, getlogin_r: Avoid test failure.
17875         * tests/test-getlogin.c: Include <stdio.h>.
17876         (main): Skip the test when the function fails because stdin is not a
17877         tty.
17878         * tests/test-getlogin_r.c: Include <stdio.h>.
17879         (main): Skip the test when the function fails because stdin is not a
17880         tty.
17881
17882 2010-01-11  Eric Blake  <ebb9@byu.net>
17883
17884         tests: avoid more large file warnings
17885         * tests/test-fflush.c: Avoid warning about ftell use.
17886         * tests/test-fseek.c: Avoid warning about fseek use.
17887
17888 2010-01-10  Bruno Haible  <bruno@clisp.org>
17889
17890         nproc: Work better on Linux when /proc and /sys are not mounted.
17891         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
17892         as lower bound when, on glibc/Linux systems,
17893         sysconf (_SC_NPROCESSORS_CONF) returns 1.
17894         Suggested by Pádraig Brady <P@draigbrady.com>.
17895         Reported by Dmitry V. Levin <ldv@altlinux.org>.
17896
17897         nproc: Refactor.
17898         * lib/nproc.c (num_processors_via_affinity_mask): New function,
17899         extracted from num_processors.
17900         (num_processors): Call it.
17901
17902 2010-01-11  Jim Meyering  <meyering@redhat.com>
17903
17904         utimecmp: avoid new warning from upcoming gcc-4.5.0
17905         * lib/utimecmp.c (BILLION): Define using #define rather than an
17906         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
17907
17908 2010-01-11  Eric Blake  <ebb9@byu.net>
17909
17910         math: add portability warnings for classification macros
17911         * modules/math (Depends-on): Add warn-on-use.
17912         (Makefile.am): Provide new substitutions.
17913         * m4/math_h.m4 (gl_MATH_H): Require inline.
17914         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
17915         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
17916         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
17917         implement warnings.
17918
17919         unistd: warn on use of environ without module
17920         * modules/unistd (Depends-on): Add warn-on-use.
17921         (Makefile.am): Provide new substitutions.
17922         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
17923         * lib/unistd.in.h (environ): Wrap with a warning helper function.
17924
17925         stdio: warn on suspicious uses
17926         * modules/stdio (Depends-on): Add warn-on-use.
17927         (Makefile.am): Provide new substitutions.
17928         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
17929         fseeko.
17930         * lib/stdio.in.h (gets): Always warn on use.
17931         (fseek, ftell): Adjust when warnings are issued, and honor
17932         _GL_NO_LARGE_FILES as a way to silence the warning.
17933         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
17934         any warning about large file offsets.
17935         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
17936         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
17937         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
17938         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
17939         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
17940         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
17941         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
17942         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
17943
17944         warn-on-use: new module
17945         * modules/warn-on-use: New file.
17946         * build-aux/warn-on-use.h: Likewise.
17947         * m4/warn-on-use.m4: Likewise.
17948         * MODULES.html.sh (Support for building): Mention it.
17949
17950 2010-01-10  Bruno Haible  <bruno@clisp.org>
17951
17952         Tests for module 'unistr/u32-strdup'.
17953         * modules/unistr/u32-strdup-tests: New file.
17954         * tests/unistr/test-u32-strdup.c: New file.
17955
17956         Tests for module 'unistr/u16-strdup'.
17957         * modules/unistr/u16-strdup-tests: New file.
17958         * tests/unistr/test-u16-strdup.c: New file.
17959
17960         Tests for module 'unistr/u8-strdup'.
17961         * modules/unistr/u8-strdup-tests: New file.
17962         * tests/unistr/test-u8-strdup.c: New file.
17963         * tests/unistr/test-strdup.h: New file.
17964
17965         Tests for module 'unistr/u32-strncmp'.
17966         * modules/unistr/u32-strncmp-tests: New file.
17967         * tests/unistr/test-u32-strncmp.c: New file.
17968
17969         Tests for module 'unistr/u16-strncmp'.
17970         * modules/unistr/u16-strncmp-tests: New file.
17971         * tests/unistr/test-u16-strncmp.c: New file.
17972
17973         Tests for module 'unistr/u8-strncmp'.
17974         * modules/unistr/u8-strncmp-tests: New file.
17975         * tests/unistr/test-u8-strncmp.c: New file.
17976         * tests/unistr/test-strncmp.h: New file.
17977
17978         Tests for module 'unistr/u32-strcoll'.
17979         * modules/unistr/u32-strcoll-tests: New file.
17980         * tests/unistr/test-u32-strcoll.c: New file.
17981
17982         Tests for module 'unistr/u16-strcoll'.
17983         * modules/unistr/u16-strcoll-tests: New file.
17984         * tests/unistr/test-u16-strcoll.c: New file.
17985
17986         Tests for module 'unistr/u8-strcoll'.
17987         * modules/unistr/u8-strcoll-tests: New file.
17988         * tests/unistr/test-u8-strcoll.c: New file.
17989
17990         Tests for module 'unistr/u32-strcmp'.
17991         * modules/unistr/u32-strcmp-tests: New file.
17992         * tests/unistr/test-u32-strcmp.c: New file.
17993         * tests/unistr/test-u32-strcmp.h: New file.
17994
17995         Tests for module 'unistr/u16-strcmp'.
17996         * modules/unistr/u16-strcmp-tests: New file.
17997         * tests/unistr/test-u16-strcmp.c: New file.
17998         * tests/unistr/test-u16-strcmp.h: New file.
17999
18000         Tests for module 'unistr/u8-strcmp'.
18001         * modules/unistr/u8-strcmp-tests: New file.
18002         * tests/unistr/test-u8-strcmp.c: New file.
18003         * tests/unistr/test-u8-strcmp.h: New file.
18004         * tests/unistr/test-strcmp.h: New file.
18005
18006         Tests for module 'unistr/u32-strncat'.
18007         * modules/unistr/u32-strncat-tests: New file.
18008         * tests/unistr/test-u32-strncat.c: New file.
18009
18010         Tests for module 'unistr/u16-strncat'.
18011         * modules/unistr/u16-strncat-tests: New file.
18012         * tests/unistr/test-u16-strncat.c: New file.
18013
18014         Tests for module 'unistr/u8-strncat'.
18015         * modules/unistr/u8-strncat-tests: New file.
18016         * tests/unistr/test-u8-strncat.c: New file.
18017         * tests/unistr/test-strncat.h: New file.
18018
18019         Tests for module 'unistr/u32-strcat'.
18020         * modules/unistr/u32-strcat-tests: New file.
18021         * tests/unistr/test-u32-strcat.c: New file.
18022
18023         Tests for module 'unistr/u16-strcat'.
18024         * modules/unistr/u16-strcat-tests: New file.
18025         * tests/unistr/test-u16-strcat.c: New file.
18026
18027         Tests for module 'unistr/u8-strcat'.
18028         * modules/unistr/u8-strcat-tests: New file.
18029         * tests/unistr/test-u8-strcat.c: New file.
18030         * tests/unistr/test-strcat.h: New file.
18031
18032         Tests for module 'unistr/u32-stpncpy'.
18033         * modules/unistr/u32-stpncpy-tests: New file.
18034         * tests/unistr/test-u32-stpncpy.c: New file.
18035
18036         Tests for module 'unistr/u16-stpncpy'.
18037         * modules/unistr/u16-stpncpy-tests: New file.
18038         * tests/unistr/test-u16-stpncpy.c: New file.
18039
18040         Tests for module 'unistr/u8-stpncpy'.
18041         * modules/unistr/u8-stpncpy-tests: New file.
18042         * tests/unistr/test-u8-stpncpy.c: New file.
18043         * tests/unistr/test-stpncpy.h: New file.
18044
18045         Tests for module 'unistr/u32-strncpy'.
18046         * modules/unistr/u32-strncpy-tests: New file.
18047         * tests/unistr/test-u32-strncpy.c: New file.
18048
18049         Tests for module 'unistr/u16-strncpy'.
18050         * modules/unistr/u16-strncpy-tests: New file.
18051         * tests/unistr/test-u16-strncpy.c: New file.
18052
18053         Tests for module 'unistr/u8-strncpy'.
18054         * modules/unistr/u8-strncpy-tests: New file.
18055         * tests/unistr/test-u8-strncpy.c: New file.
18056         * tests/unistr/test-strncpy.h: New file.
18057
18058         Tests for module 'unistr/u32-stpcpy'.
18059         * modules/unistr/u32-stpcpy-tests: New file.
18060         * tests/unistr/test-u32-stpcpy.c: New file.
18061
18062         Tests for module 'unistr/u16-stpcpy'.
18063         * modules/unistr/u16-stpcpy-tests: New file.
18064         * tests/unistr/test-u16-stpcpy.c: New file.
18065
18066         Tests for module 'unistr/u8-stpcpy'.
18067         * modules/unistr/u8-stpcpy-tests: New file.
18068         * tests/unistr/test-u8-stpcpy.c: New file.
18069         * tests/unistr/test-stpcpy.h: New file.
18070
18071         Tests for module 'unistr/u32-strcpy'.
18072         * modules/unistr/u32-strcpy-tests: New file.
18073         * tests/unistr/test-u32-strcpy.c: New file.
18074
18075         Tests for module 'unistr/u16-strcpy'.
18076         * modules/unistr/u16-strcpy-tests: New file.
18077         * tests/unistr/test-u16-strcpy.c: New file.
18078
18079         Tests for module 'unistr/u8-strcpy'.
18080         * modules/unistr/u8-strcpy-tests: New file.
18081         * tests/unistr/test-u8-strcpy.c: New file.
18082         * tests/unistr/test-strcpy.h: New file.
18083
18084         Tests for module 'unistr/u32-strnlen'.
18085         * modules/unistr/u32-strnlen-tests: New file.
18086         * tests/unistr/test-u32-strnlen.c: New file.
18087
18088         Tests for module 'unistr/u16-strnlen'.
18089         * modules/unistr/u16-strnlen-tests: New file.
18090         * tests/unistr/test-u16-strnlen.c: New file.
18091
18092         Tests for module 'unistr/u8-strnlen'.
18093         * modules/unistr/u8-strnlen-tests: New file.
18094         * tests/unistr/test-u8-strnlen.c: New file.
18095         * tests/unistr/test-strnlen.h: New file.
18096
18097         Tests for module 'unistr/u32-strlen'.
18098         * modules/unistr/u32-strlen-tests: New file.
18099         * tests/unistr/test-u32-strlen.c: New file.
18100
18101         Tests for module 'unistr/u16-strlen'.
18102         * modules/unistr/u16-strlen-tests: New file.
18103         * tests/unistr/test-u16-strlen.c: New file.
18104
18105         Tests for module 'unistr/u8-strlen'.
18106         * modules/unistr/u8-strlen-tests: New file.
18107         * tests/unistr/test-u8-strlen.c: New file.
18108
18109         Tests for module 'unistr/u32-prev'.
18110         * modules/unistr/u32-prev-tests: New file.
18111         * tests/unistr/test-u32-prev.c: New file.
18112
18113         Tests for module 'unistr/u16-prev'.
18114         * modules/unistr/u16-prev-tests: New file.
18115         * tests/unistr/test-u16-prev.c: New file.
18116
18117         Tests for module 'unistr/u8-prev'.
18118         * modules/unistr/u8-prev-tests: New file.
18119         * tests/unistr/test-u8-prev.c: New file.
18120
18121         Tests for module 'unistr/u32-next'.
18122         * modules/unistr/u32-next-tests: New file.
18123         * tests/unistr/test-u32-next.c: New file.
18124
18125         Tests for module 'unistr/u16-next'.
18126         * modules/unistr/u16-next-tests: New file.
18127         * tests/unistr/test-u16-next.c: New file.
18128
18129         Tests for module 'unistr/u8-next'.
18130         * modules/unistr/u8-next-tests: New file.
18131         * tests/unistr/test-u8-next.c: New file.
18132
18133         Tests for module 'unistr/u32-strmbtouc'.
18134         * modules/unistr/u32-strmbtouc-tests: New file.
18135         * tests/unistr/test-u32-strmbtouc.c: New file.
18136
18137         Tests for module 'unistr/u16-strmbtouc'.
18138         * modules/unistr/u16-strmbtouc-tests: New file.
18139         * tests/unistr/test-u16-strmbtouc.c: New file.
18140
18141         Tests for module 'unistr/u8-strmbtouc'.
18142         * modules/unistr/u8-strmbtouc-tests: New file.
18143         * tests/unistr/test-u8-strmbtouc.c: New file.
18144
18145         Tests for module 'unistr/u32-strmblen'.
18146         * modules/unistr/u32-strmblen-tests: New file.
18147         * tests/unistr/test-u32-strmblen.c: New file.
18148
18149         Tests for module 'unistr/u16-strmblen'.
18150         * modules/unistr/u16-strmblen-tests: New file.
18151         * tests/unistr/test-u16-strmblen.c: New file.
18152
18153         Tests for module 'unistr/u8-strmblen'.
18154         * modules/unistr/u8-strmblen-tests: New file.
18155         * tests/unistr/test-u8-strmblen.c: New file.
18156
18157         Tests for module 'unistr/u32-cpy-alloc'.
18158         * modules/unistr/u32-cpy-alloc-tests: New file.
18159         * tests/unistr/test-u32-cpy-alloc.c: New file.
18160
18161         Tests for module 'unistr/u16-cpy-alloc'.
18162         * modules/unistr/u16-cpy-alloc-tests: New file.
18163         * tests/unistr/test-u16-cpy-alloc.c: New file.
18164
18165         Tests for module 'unistr/u8-cpy-alloc'.
18166         * modules/unistr/u8-cpy-alloc-tests: New file.
18167         * tests/unistr/test-u8-cpy-alloc.c: New file.
18168         * tests/unistr/test-cpy-alloc.h: New file.
18169
18170         Tests for module 'unistr/u32-mbsnlen'.
18171         * modules/unistr/u32-mbsnlen-tests: New file.
18172         * tests/unistr/test-u32-mbsnlen.c: New file.
18173
18174         Tests for module 'unistr/u16-mbsnlen'.
18175         * modules/unistr/u16-mbsnlen-tests: New file.
18176         * tests/unistr/test-u16-mbsnlen.c: New file.
18177
18178         Tests for module 'unistr/u8-mbsnlen'.
18179         * modules/unistr/u8-mbsnlen-tests: New file.
18180         * tests/unistr/test-u8-mbsnlen.c: New file.
18181
18182         Tests for module 'unistr/u32-chr'.
18183         * modules/unistr/u32-chr-tests: New file.
18184         * tests/unistr/test-u32-chr.c: New file.
18185
18186         Tests for module 'unistr/u16-chr'.
18187         * modules/unistr/u16-chr-tests: New file.
18188         * tests/unistr/test-u16-chr.c: New file.
18189
18190         Tests for module 'unistr/u8-chr'.
18191         * modules/unistr/u8-chr-tests: New file.
18192         * tests/unistr/test-u8-chr.c: New file.
18193         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
18194
18195         Tests for module 'unistr/u32-cmp2'.
18196         * modules/unistr/u32-cmp2-tests: New file.
18197         * tests/unistr/test-u32-cmp2.c: New file.
18198
18199         Tests for module 'unistr/u16-cmp2'.
18200         * modules/unistr/u16-cmp2-tests: New file.
18201         * tests/unistr/test-u16-cmp2.c: New file.
18202
18203         Tests for module 'unistr/u8-cmp2'.
18204         * modules/unistr/u8-cmp2-tests: New file.
18205         * tests/unistr/test-u8-cmp2.c: New file.
18206         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
18207
18208         Tests for module 'unistr/u32-cmp'.
18209         * modules/unistr/u32-cmp-tests: New file.
18210         * tests/unistr/test-u32-cmp.c: New file.
18211
18212         Tests for module 'unistr/u16-cmp'.
18213         * modules/unistr/u16-cmp-tests: New file.
18214         * tests/unistr/test-u16-cmp.c: New file.
18215
18216         Tests for module 'unistr/u8-cmp'.
18217         * modules/unistr/u8-cmp-tests: New file.
18218         * tests/unistr/test-u8-cmp.c: New file.
18219         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
18220
18221         Tests for module 'unistr/u32-set'.
18222         * modules/unistr/u32-set-tests: New file.
18223         * tests/unistr/test-u32-set.c: New file.
18224
18225         Tests for module 'unistr/u16-set'.
18226         * modules/unistr/u16-set-tests: New file.
18227         * tests/unistr/test-u16-set.c: New file.
18228
18229         Tests for module 'unistr/u8-set'.
18230         * modules/unistr/u8-set-tests: New file.
18231         * tests/unistr/test-u8-set.c: New file.
18232         * tests/unistr/test-set.h: New file.
18233
18234         Tests for module 'unistr/u32-move'.
18235         * modules/unistr/u32-move-tests: New file.
18236         * tests/unistr/test-u32-move.c: New file.
18237
18238         Tests for module 'unistr/u16-move'.
18239         * modules/unistr/u16-move-tests: New file.
18240         * tests/unistr/test-u16-move.c: New file.
18241
18242         Tests for module 'unistr/u8-move'.
18243         * modules/unistr/u8-move-tests: New file.
18244         * tests/unistr/test-u8-move.c: New file.
18245         * tests/unistr/test-move.h: New file.
18246
18247         Tests for module 'unistr/u32-cpy'.
18248         * modules/unistr/u32-cpy-tests: New file.
18249         * tests/unistr/test-u32-cpy.c: New file.
18250
18251         Tests for module 'unistr/u16-cpy'.
18252         * modules/unistr/u16-cpy-tests: New file.
18253         * tests/unistr/test-u16-cpy.c: New file.
18254
18255         Tests for module 'unistr/u8-cpy'.
18256         * modules/unistr/u8-cpy-tests: New file.
18257         * tests/unistr/test-u8-cpy.c: New file.
18258         * tests/unistr/test-cpy.h: New file.
18259
18260 2010-01-09  Bruno Haible  <bruno@clisp.org>
18261
18262         Tests for module 'unistr/u32-uctomb'.
18263         * modules/unistr/u32-uctomb-tests: New file.
18264         * tests/unistr/test-u32-uctomb.c: New file.
18265
18266         Tests for module 'unistr/u16-uctomb'.
18267         * modules/unistr/u16-uctomb-tests: New file.
18268         * tests/unistr/test-u16-uctomb.c: New file.
18269
18270         Tests for module 'unistr/u8-uctomb'.
18271         * modules/unistr/u8-uctomb-tests: New file.
18272         * tests/unistr/test-u8-uctomb.c: New file.
18273
18274         Tests for module 'unistr/u32-mbtoucr'.
18275         * modules/unistr/u32-mbtoucr-tests: New file.
18276         * tests/unistr/test-u32-mbtoucr.c: New file.
18277
18278         Tests for module 'unistr/u16-mbtoucr'.
18279         * modules/unistr/u16-mbtoucr-tests: New file.
18280         * tests/unistr/test-u16-mbtoucr.c: New file.
18281
18282         Tests for module 'unistr/u8-mbtoucr'.
18283         * modules/unistr/u8-mbtoucr-tests: New file.
18284         * tests/unistr/test-u8-mbtoucr.c: New file.
18285
18286         Tests for module 'unistr/u32-mbtouc'.
18287         * modules/unistr/u32-mbtouc-tests: New file.
18288         * tests/unistr/test-u32-mbtouc.c: New file.
18289
18290         Tests for module 'unistr/u16-mbtouc'.
18291         * modules/unistr/u16-mbtouc-tests: New file.
18292         * tests/unistr/test-u16-mbtouc.c: New file.
18293
18294         Tests for module 'unistr/u8-mbtouc'.
18295         * modules/unistr/u8-mbtouc-tests: New file.
18296         * tests/unistr/test-u8-mbtouc.c: New file.
18297
18298         Tests for module 'unistr/u32-mbtouc-unsafe'.
18299         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
18300         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
18301         * tests/unistr/test-u32-mbtouc.h: New file.
18302
18303         Tests for module 'unistr/u16-mbtouc-unsafe'.
18304         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
18305         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
18306         * tests/unistr/test-u16-mbtouc.h: New file.
18307
18308         Tests for module 'unistr/u8-mbtouc-unsafe'.
18309         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
18310         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
18311         * tests/unistr/test-u8-mbtouc.h: New file.
18312
18313         Tests for module 'unistr/u32-mblen'.
18314         * modules/unistr/u32-mblen-tests: New file.
18315         * tests/unistr/test-u32-mblen.c: New file.
18316
18317         Tests for module 'unistr/u16-mblen'.
18318         * modules/unistr/u16-mblen-tests: New file.
18319         * tests/unistr/test-u16-mblen.c: New file.
18320
18321         Tests for module 'unistr/u8-mblen'.
18322         * modules/unistr/u8-mblen-tests: New file.
18323         * tests/unistr/test-u8-mblen.c: New file.
18324
18325         Tests for module 'unistr/u32-to-u16'.
18326         * modules/unistr/u32-to-u16-tests: New file.
18327         * tests/unistr/test-u32-to-u16.c: New file.
18328
18329         Tests for module 'unistr/u32-to-u8'.
18330         * modules/unistr/u32-to-u8-tests: New file.
18331         * tests/unistr/test-u32-to-u8.c: New file.
18332
18333         Tests for module 'unistr/u16-to-u32'.
18334         * modules/unistr/u16-to-u32-tests: New file.
18335         * tests/unistr/test-u16-to-u32.c: New file.
18336
18337         Tests for module 'unistr/u16-to-u8'.
18338         * modules/unistr/u16-to-u8-tests: New file.
18339         * tests/unistr/test-u16-to-u8.c: New file.
18340
18341         Tests for module 'unistr/u8-to-u32'.
18342         * modules/unistr/u8-to-u32-tests: New file.
18343         * tests/unistr/test-u8-to-u32.c: New file.
18344
18345         Tests for module 'unistr/u8-to-u16'.
18346         * modules/unistr/u8-to-u16-tests: New file.
18347         * tests/unistr/test-u8-to-u16.c: New file.
18348
18349         Tests for module 'unistr/u32-check'.
18350         * modules/unistr/u32-check-tests: New file.
18351         * tests/unistr/test-u32-check.c: New file.
18352
18353         Tests for module 'unistr/u16-check'.
18354         * modules/unistr/u16-check-tests: New file.
18355         * tests/unistr/test-u16-check.c: New file.
18356
18357         Tests for module 'unistr/u8-check'.
18358         * modules/unistr/u8-check-tests: New file.
18359         * tests/unistr/test-u8-check.c: New file.
18360
18361         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
18362         (category_equals): New function.
18363         (main): Add more tests.
18364         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
18365
18366         * tests/unictype/test-bidi_byname.c (main): Add more tests.
18367
18368 2010-01-10  Bruno Haible  <bruno@clisp.org>
18369
18370         unistr/u*-strcoll: Try harder to distinguish different strings.
18371         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
18372         compare s1 and s2 to see if they are different.
18373
18374 2010-01-10  Bruno Haible  <bruno@clisp.org>
18375
18376         unistr/u*-stpncpy: Fix the return value.
18377         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
18378         description of the return value consistent with stpncpy in glibc.
18379         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
18380         written non-NUL unit.
18381
18382 2010-01-10  Bruno Haible  <bruno@clisp.org>
18383
18384         unistr/u*-next: Add missing dependencies.
18385         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
18386         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
18387         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
18388
18389 2010-01-10  Bruno Haible  <bruno@clisp.org>
18390
18391         unistr/u8-mbsnlen: Fix return value for incomplete character.
18392         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
18393         u8_mblen.
18394         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
18395         Remove unistr/u8-mblen.
18396         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
18397         u16_mblen.
18398         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
18399         Remove unistr/u16-mblen.
18400
18401 2010-01-10  Bruno Haible  <bruno@clisp.org>
18402
18403         wchar: Fix compilation error when <wchar.h> is used from coreutils.
18404         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
18405         Reported by Brian Gough <bjg@gnu.org> and
18406         Chris Clayton <chris2553@googlemail.com> via
18407         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
18408
18409 2010-01-09  Bruno Haible  <bruno@clisp.org>
18410
18411         unistr/u16-to-u32: Reject invalid input.
18412         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
18413         u16_mbtouc.
18414         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
18415         Remove unistr/u16-mbtouc.
18416
18417         unistr/u16-to-u8: Reject invalid input.
18418         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
18419         u16_mbtouc.
18420         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
18421         Remove unistr/u16-mbtouc.
18422
18423         unistr/u8-to-u32: Reject invalid input.
18424         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
18425         u8_mbtouc.
18426         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
18427         Remove unistr/u8-mbtouc.
18428
18429         unistr/u8-to-u16: Reject invalid input.
18430         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
18431         u8_mbtouc.
18432         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
18433         Remove unistr/u8-mbtouc.
18434
18435 2010-01-09  Bruno Haible  <bruno@clisp.org>
18436
18437         Tests for module 'getlogin'.
18438         * modules/getlogin-tests: New file.
18439         * tests/test-getlogin.c: New file.
18440
18441         New module 'getlogin'.
18442         * lib/unistd.in.h (getlogin): New declaration.
18443         * lib/getlogin.c: New file.
18444         * m4/getlogin.m4: New file.
18445         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
18446         HAVE_GETLOGIN.
18447         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
18448         HAVE_GETLOGIN.
18449         * modules/getlogin: New file.
18450         * doc/posix-functions/getlogin.texi: Mention the new module.
18451         Reported by John W. Eaton <jwe@gnu.org>.
18452
18453 2010-01-09  Bruno Haible  <bruno@clisp.org>
18454
18455         getlogin_r: Support for native Windows.
18456         * lib/getlogin_r.c: Include <windows.h>
18457         (getlogin_r): Implement for native Windows.
18458         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
18459         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
18460         via John W. Eaton <jwe@gnu.org>.
18461
18462 2010-01-09  Bruno Haible  <bruno@clisp.org>
18463
18464         getlogin_r: Small fixes.
18465         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
18466         succeeds.
18467         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
18468         before testing whether getlogin_r is declared. No need to set
18469         HAVE_DECL_GETLOGIN_R to 1.
18470         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
18471
18472 2010-01-09  Bruno Haible  <bruno@clisp.org>
18473
18474         * lib/unistd.in.h (getlogin_r): Add comment.
18475
18476 2010-01-09  Bruno Haible  <bruno@clisp.org>
18477
18478         Tests for module 'getlogin_r'.
18479         * modules/getlogin_r-tests: New file.
18480         * tests/test-getlogin_r.c: New file.
18481
18482 2010-01-09  Jim Meyering  <meyering@redhat.com>
18483
18484         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
18485         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
18486         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
18487
18488 2010-01-08  Simon Josefsson  <simon@josefsson.org>
18489
18490         * lib/dup2.c (rpl_dup2): Improve comment.
18491
18492 2010-01-08  Eric Blake  <ebb9@byu.net>
18493
18494         maint.mk: allow packages to add makefile @@ exceptions
18495         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
18496         (sc_makefile_check): Rename...
18497         (sc_makefile_at_at_check): ...to this, and use hook.
18498
18499         dup2: work around mingw bug
18500         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
18501         Reported by Simon Josefsson.
18502
18503 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
18504
18505         glob: Fix C++ compilation.
18506         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
18507         C++.
18508
18509 2010-01-07  Bruno Haible  <bruno@clisp.org>
18510
18511         Fix indentation of wctype.in.h, broken since 2007-01-06.
18512         * lib/wctype.in.h: Fix indentation of preprocessor directives.
18513
18514 2010-01-07  Bruno Haible  <bruno@clisp.org>
18515
18516         mbslen: Avoid collision with system function.
18517         * lib/string.in.h [MirBSD]: Include <wchar.h>.
18518         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
18519         * m4/mbslen.m4: New file.
18520         * modules/mbslen (Files): Add it.
18521         (configure.ac): Invoke gl_MBSLEN.
18522         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
18523         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
18524         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
18525         via Ian Beckwith <ianb@erislabs.net>.
18526
18527 2010-01-07  Bruno Haible  <bruno@clisp.org>
18528
18529         dirent: Document the last fix.
18530         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
18531
18532 2010-01-07  Bruno Haible  <bruno@clisp.org>
18533
18534         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
18535         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
18536         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
18537         va_list are defined.
18538         * doc/posix-headers/stdio.texi: Document the bug of missing types.
18539         Reported by Eric Blake.
18540
18541 2010-01-07  Bruno Haible  <bruno@clisp.org>
18542
18543         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
18544         * modules/xlist (Depends-on): Add 'list',
18545         * modules/xoset (Depends-on): Add 'oset'.
18546         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18547
18548 2010-01-07  Bruno Haible  <bruno@clisp.org>
18549
18550         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
18551         * doc/posix-functions/strncasecmp.texi: Likewise.
18552
18553 2010-01-07  Bruno Haible  <bruno@clisp.org>
18554
18555         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
18556
18557 2010-01-07  John W. Eaton  <jwe@octave.org>
18558
18559         wctype: allow C++ use
18560         * lib/wctype.in.h: Add extern "C" block for C++.
18561
18562 2010-01-06  Eric Blake  <ebb9@byu.net>
18563
18564         maint.mk: detect incorrect GFDL usage
18565         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
18566
18567 2010-01-06  Jim Meyering  <meyering@redhat.com>
18568         and Eric Blake  <ebb9@byu.net>
18569
18570         maint.mk: ignore multi-line copyright in NEWS
18571         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
18572
18573 2010-01-06  Eric Blake  <ebb9@byu.net>
18574
18575         select: add missing dependency
18576         * modules/select-tests (Depends-on): Move sockets dependency...
18577         * modules/select (Depends-on): ...here.
18578         Reported by Ian Beckwith.
18579
18580         doc: regenerate INSTALL
18581         * doc/INSTALL: Reflect recent autoconf update.
18582         * doc/INSTALL.ISO: Likewise.
18583         * doc/INSTALL.UTF-8: Likewise.
18584
18585         pread: fix compilation on glibc
18586         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
18587         Reported by Ralf Wildenhues.
18588
18589         dirent: fix test failure
18590         * lib/dirent.in.h (includes): Guarantee ino_t.
18591         Reported by Ralf Wildenhues.
18592
18593 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
18594
18595         linkat, renameat: avoid bad free
18596         * lib/at-func2.c (at_func2): Fix typo.
18597         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
18598
18599 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18600
18601         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
18602         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
18603         to avoid failure of symlink test later.
18604
18605 2010-01-06  Eric Blake  <ebb9@byu.net>
18606
18607         stdio, unistd: guarantee ssize_t
18608         * lib/unistd.in.h (includes): Ensure that types required by POSIX
18609         2008 are exposed when needed.
18610         * lib/stdio.in.h (includes): Likewise.
18611         Reported by Ralf Wildenhues.
18612
18613 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
18614
18615         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
18616         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
18617         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
18618
18619 2010-01-06  Jim Meyering  <meyering@redhat.com>
18620
18621         readtokens: this module *does* require xalloc.h
18622         It uses only functions that were omitted by the old syntax-check rule.
18623         * lib/readtokens.c: Include "xalloc.h" once again.
18624         * modules/readtokens (Depends-on): Add xalloc.
18625         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
18626
18627 2010-01-05  Eric Blake  <ebb9@byu.net>
18628
18629         maint: support 'make announcement' from a VPATH build
18630         * top/maint.mk (announcement): Look for correct NEWS file.
18631
18632 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
18633
18634         utimens (fdutimens): ignore a negative FD, per contract
18635         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
18636         when we have a valid file descriptor.  Otherwise, using a brand
18637         new glibc (with just-patched futimens that now fails with EBADF)
18638         would cause this function to fail with ENOSYS.
18639         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
18640         See also http://bugzilla.redhat.com/552320.
18641
18642 2010-01-05  Eric Blake  <ebb9@byu.net>
18643
18644         strcase: document what it provides
18645         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
18646         gnulib module.
18647         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
18648         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
18649
18650 2010-01-05  Jim Meyering  <meyering@redhat.com>
18651
18652         maint: remove useless inclusions of "xalloc.h"
18653         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
18654         * lib/readtokens.c: Likewise.
18655         * lib/same.c: Likewise.
18656         * modules/getloadavg (Depends-on): Remove xalloc.
18657         * modules/readtokens: Likewise.
18658         * modules/same: Likewise.
18659
18660         maint.mk: include 4 more function names in alloca.h-checking regexp
18661         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
18662         regexp.  Before, we would give a false-positive (saying alloca.h
18663         is included unnecessarily) when the only uses involved omitted symbols.
18664
18665         xalloc.h: use consistent formatting
18666         * lib/xalloc.h: Move declarations to start in the first column.
18667
18668 2010-01-05  Eric Blake  <ebb9@byu.net>
18669
18670         mkdir: avoid xalloc
18671         * lib/mkdir.c (includes): Drop unused header.
18672         Reported by John W. Eaton.
18673
18674 2010-01-04  Jim Meyering  <meyering@redhat.com>
18675
18676         nl_langinfo: avoid configure-time syntax error
18677         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
18678         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
18679         the empty string.  Don't let that provoke a shell syntax error.
18680
18681         regcomp, regexec, fnmatch: avoid array bounds read error
18682         * lib/regcomp.c (build_equiv_class): From glibc:
18683         Use only the low 24 bits of a findidx return value as an index
18684         into the weights array.  Patch by Ulrich Drepper:
18685         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
18686         * lib/regexec.c (check_node_accept_bytes): Likewise.
18687         * lib/fnmatch_loop.c (FCT): Likewise.
18688
18689         regcomp: skip collseq lookup when there are no rules
18690         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
18691         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
18692
18693         regcomp: recognize ill-formed { } expressions
18694         * lib/regcomp.c (parse_dup_op): From glibc:
18695         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
18696
18697         regcomp: fix typo in comment
18698         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
18699         s/satisfy/satisfies/.
18700
18701         regcomp: sync from glibc: remove dead store
18702         * lib/regcomp.c (duplicate_node_closure): Remove useless
18703         search_duplicated_node call and dead store.
18704
18705         regcomp: sync from glibc; always use nl_langinfo
18706         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
18707         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
18708         * modules/regex (Depends-on): Add nl_langinfo.
18709
18710 2010-01-04  Eric Blake  <ebb9@byu.net>
18711
18712         fdopendir: fix configure test
18713         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
18714
18715 2010-01-01  Bruno Haible  <bruno@clisp.org>
18716
18717         wchar: Remove unused configure check.
18718         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
18719
18720 2010-01-01  Eric Blake  <ebb9@byu.net>
18721
18722         headers: make check of system header explicit
18723         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
18724         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
18725         ourselves.
18726         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18727         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18728         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
18729         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
18730         internals.
18731         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
18732         missing.
18733         Suggested by Bruno Haible.
18734
18735 2010-01-01  Jim Meyering  <meyering@redhat.com>
18736
18737         ChangeLog: tweak to eliminate unnecessary copyright line
18738         * ChangeLog: Remove a copyright line that was mistakenly updated
18739         by today's update-copyright run.  Reported by Eric Blake.
18740
18741         test-update-copyright: don't let envvar setting cause test failure
18742         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18743
18744 2010-01-01  Bruno Haible  <bruno@clisp.org>
18745
18746         localename: Avoid gcc warning.
18747         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
18748         function if it is not used.
18749
18750 2010-01-01  Jim Meyering  <meyering@redhat.com>
18751
18752         update nearly all FSF copyright year lists to include 2010
18753         Use the same procedure as for 2009, outlined in
18754         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
18755
18756         version-etc: set COPYRIGHT_YEAR to 2010
18757         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
18758
18759 2009-12-31  Eric Blake  <ebb9@byu.net>
18760
18761         doc: correct availability of cygwin 1.5.x getopt
18762         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
18763         variables.
18764         * doc/posix-functions/opterr.texi (opterr): Likewise.
18765         * doc/posix-functions/optind.texi (optind): Likewise.
18766         * doc/posix-functions/optopt.texi (optopt): Likewise.
18767         * doc/posix-functions/tzname.texi (tzname): Likewise.
18768
18769         openat: update maintainer
18770         * modules/openat (Maintainer): Add myself.
18771
18772         utimens: avoid shadowing warning
18773         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
18774         buffers into one, to avoid shadowing, as well as avoiding a
18775         redundant stat.
18776         Reported by Jim Meyering.
18777
18778         test-dup2: avoid compiler warning
18779         * tests/test-dup2.c (is_inheritable): Only define if used.
18780
18781 2010-01-01  Bruno Haible  <bruno@clisp.org>
18782
18783         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
18784         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
18785         defined, use wctomb instead of wcrtomb.
18786
18787 2010-01-01  Bruno Haible  <bruno@clisp.org>
18788
18789         iconv: Reject native Solaris iconv.
18790         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
18791         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
18792
18793 2009-12-31  Bruno Haible  <bruno@clisp.org>
18794
18795         * tests/test-signal.c (main): Remove test of 'SIG'.
18796
18797 2009-12-31  Bruno Haible  <bruno@clisp.org>
18798
18799         spawn: Fix incomplete fix.
18800         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18801         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18802         warnings for GNULIB_POSIXCHECK again.
18803         Reported by Eric Blake.
18804
18805 2009-12-31  Bruno Haible  <bruno@clisp.org>
18806
18807         Avoid namespace pollution on glibc systems.
18808         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
18809         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
18810         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
18811         glibc systems.
18812
18813 2009-12-31  Bruno Haible  <bruno@clisp.org>
18814
18815         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
18816         (gl_REPLACE_WCHAR_H): Turn into a no-op.
18817         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
18818         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18819         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18820         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18821         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18822
18823 2009-12-31  Bruno Haible  <bruno@clisp.org>
18824
18825         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
18826         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
18827         afterwards.
18828
18829 2009-12-31  Bruno Haible  <bruno@clisp.org>
18830
18831         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
18832         SYS_UTSNAME_H.
18833
18834 2009-12-31  Bruno Haible  <bruno@clisp.org>
18835
18836         spawn: Fix misapplied patch.
18837         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18838         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18839         warnings for GNULIB_POSIXCHECK.
18840
18841 2009-12-31  Bruno Haible  <bruno@clisp.org>
18842
18843         times: Update after sys_times changed.
18844         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
18845         * modules/times (Files): Add it.
18846         (configure.ac): Invoke gl_FUNC_TIMES.
18847
18848 2009-12-31  Bruno Haible  <bruno@clisp.org>
18849
18850         Use AC_C_INLINE where necessary.
18851         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
18852         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
18853         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18854         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
18855         * m4/mbfile.m4 (gl_MBFILE): Likewise.
18856         * m4/mbiter.m4 (gl_MBITER): Likewise.
18857         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
18858         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18859         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
18860         * modules/u64 (configure.ac): Likewise.
18861
18862 2009-12-31  Bruno Haible  <bruno@clisp.org>
18863
18864         Use AC_C_INLINE instead of module 'inline' where possible.
18865         * modules/inline (Description): Clarify purpose.
18866         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
18867         * modules/count-one-bits (Depends-on): Remove inline.
18868         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
18869         * modules/openat (Depends-on): Remove inline.
18870         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
18871         instead of depending on module 'inline'.
18872         * modules/filevercmp (Depends-on, configure.ac): Likewise.
18873         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
18874         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
18875         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
18876         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
18877         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
18878         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
18879         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
18880         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
18881         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
18882         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
18883         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
18884         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
18885         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
18886         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
18887         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
18888         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
18889         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
18890         Likewise.
18891         * modules/unictype/property-ascii-hex-digit (Depends-on,
18892         configure.ac): Likewise.
18893         * modules/unictype/property-bidi-arabic-digit (Depends-on,
18894         configure.ac): Likewise.
18895         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
18896         configure.ac): Likewise.
18897         * modules/unictype/property-bidi-block-separator (Depends-on,
18898         configure.ac): Likewise.
18899         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
18900         configure.ac): Likewise.
18901         * modules/unictype/property-bidi-common-separator (Depends-on,
18902         configure.ac): Likewise.
18903         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
18904         Likewise.
18905         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
18906         configure.ac): Likewise.
18907         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
18908         configure.ac): Likewise.
18909         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
18910         configure.ac): Likewise.
18911         * modules/unictype/property-bidi-european-digit (Depends-on,
18912         configure.ac): Likewise.
18913         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
18914         configure.ac): Likewise.
18915         * modules/unictype/property-bidi-left-to-right (Depends-on,
18916         configure.ac): Likewise.
18917         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
18918         configure.ac): Likewise.
18919         * modules/unictype/property-bidi-other-neutral (Depends-on,
18920         configure.ac): Likewise.
18921         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
18922         Likewise.
18923         * modules/unictype/property-bidi-segment-separator (Depends-on,
18924         configure.ac): Likewise.
18925         * modules/unictype/property-bidi-whitespace (Depends-on,
18926         configure.ac): Likewise.
18927         * modules/unictype/property-combining (Depends-on, configure.ac):
18928         Likewise.
18929         * modules/unictype/property-composite (Depends-on, configure.ac):
18930         Likewise.
18931         * modules/unictype/property-currency-symbol (Depends-on,
18932         configure.ac): Likewise.
18933         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
18934         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
18935         Likewise.
18936         * modules/unictype/property-default-ignorable-code-point (Depends-on,
18937         configure.ac): Likewise.
18938         * modules/unictype/property-deprecated (Depends-on, configure.ac):
18939         Likewise.
18940         * modules/unictype/property-diacritic (Depends-on, configure.ac):
18941         Likewise.
18942         * modules/unictype/property-extender (Depends-on, configure.ac):
18943         Likewise.
18944         * modules/unictype/property-format-control (Depends-on, configure.ac):
18945         Likewise.
18946         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
18947         Likewise.
18948         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
18949         Likewise.
18950         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
18951         Likewise.
18952         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
18953         Likewise.
18954         * modules/unictype/property-hyphen (Depends-on, configure.ac):
18955         Likewise.
18956         * modules/unictype/property-id-continue (Depends-on, configure.ac):
18957         Likewise.
18958         * modules/unictype/property-id-start (Depends-on, configure.ac):
18959         Likewise.
18960         * modules/unictype/property-ideographic (Depends-on, configure.ac):
18961         Likewise.
18962         * modules/unictype/property-ids-binary-operator (Depends-on,
18963         configure.ac): Likewise.
18964         * modules/unictype/property-ids-trinary-operator (Depends-on,
18965         configure.ac): Likewise.
18966         * modules/unictype/property-ignorable-control (Depends-on,
18967         configure.ac): Likewise.
18968         * modules/unictype/property-iso-control (Depends-on, configure.ac):
18969         Likewise.
18970         * modules/unictype/property-join-control (Depends-on, configure.ac):
18971         Likewise.
18972         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
18973         Likewise.
18974         * modules/unictype/property-line-separator (Depends-on, configure.ac):
18975         Likewise.
18976         * modules/unictype/property-logical-order-exception (Depends-on,
18977         configure.ac): Likewise.
18978         * modules/unictype/property-lowercase (Depends-on, configure.ac):
18979         Likewise.
18980         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
18981         * modules/unictype/property-non-break (Depends-on, configure.ac):
18982         Likewise.
18983         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
18984         Likewise.
18985         * modules/unictype/property-numeric (Depends-on, configure.ac):
18986         Likewise.
18987         * modules/unictype/property-other-alphabetic (Depends-on,
18988         configure.ac): Likewise.
18989         * modules/unictype/property-other-default-ignorable-code-point
18990         (Depends-on, configure.ac): Likewise.
18991         * modules/unictype/property-other-grapheme-extend (Depends-on,
18992         configure.ac): Likewise.
18993         * modules/unictype/property-other-id-continue (Depends-on,
18994         configure.ac): Likewise.
18995         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
18996         Likewise.
18997         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
18998         Likewise.
18999         * modules/unictype/property-other-math (Depends-on, configure.ac):
19000         Likewise.
19001         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
19002         Likewise.
19003         * modules/unictype/property-paired-punctuation (Depends-on,
19004         configure.ac): Likewise.
19005         * modules/unictype/property-paragraph-separator (Depends-on,
19006         configure.ac): Likewise.
19007         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
19008         Likewise.
19009         * modules/unictype/property-pattern-white-space (Depends-on,
19010         configure.ac): Likewise.
19011         * modules/unictype/property-private-use (Depends-on, configure.ac):
19012         Likewise.
19013         * modules/unictype/property-punctuation (Depends-on, configure.ac):
19014         Likewise.
19015         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
19016         Likewise.
19017         * modules/unictype/property-radical (Depends-on, configure.ac):
19018         Likewise.
19019         * modules/unictype/property-sentence-terminal (Depends-on,
19020         configure.ac): Likewise.
19021         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
19022         Likewise.
19023         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
19024         * modules/unictype/property-terminal-punctuation (Depends-on,
19025         configure.ac): Likewise.
19026         * modules/unictype/property-titlecase (Depends-on, configure.ac):
19027         Likewise.
19028         * modules/unictype/property-unassigned-code-value (Depends-on,
19029         configure.ac): Likewise.
19030         * modules/unictype/property-unified-ideograph (Depends-on,
19031         configure.ac): Likewise.
19032         * modules/unictype/property-uppercase (Depends-on, configure.ac):
19033         Likewise.
19034         * modules/unictype/property-variation-selector (Depends-on,
19035         configure.ac): Likewise.
19036         * modules/unictype/property-white-space (Depends-on, configure.ac):
19037         Likewise.
19038         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
19039         Likewise.
19040         * modules/unictype/property-xid-start (Depends-on, configure.ac):
19041         Likewise.
19042         * modules/unictype/property-zero-width (Depends-on, configure.ac):
19043         Likewise.
19044         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
19045         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
19046         Likewise.
19047
19048 2009-12-31  Bruno Haible  <bruno@clisp.org>
19049
19050         Remove unnecessary AC_C_INLINE invocation.
19051         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
19052         since 2009-08-21.
19053
19054 2009-12-31  Jim Meyering  <meyering@redhat.com>
19055
19056         maint.mk: don't require explicit gpg_key_ID in cfg.mk
19057         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
19058         With this change, we can all remove the gpg_key_ID = ... definition
19059         from our respective cfg.mk files.
19060
19061         maint.mk: create announcement template in ~/, not in /tmp
19062         * top/maint.mk (emit_upload_commands): Adjust.
19063         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
19064         Remove temporary file, .ci-msg.
19065
19066 2009-12-31  Eric Blake  <ebb9@byu.net>
19067
19068         link-warning: always build headers with link warnings
19069         * modules/arpa_inet (Makefile.am): Always build replacement
19070         header.
19071         * modules/ctype (Makefile.am): Likewise.
19072         * modules/dirent (Makefile.am): Likewise.
19073         * modules/inttypes (Makefile.am): Likewise.
19074         * modules/langinfo (Makefile.am): Likewise.
19075         * modules/locale (Makefile.am): Likewise.
19076         * modules/spawn (Makefile.am): Likewise.
19077         * modules/sys_file (Makefile.am): Likewise.
19078         * modules/sys_ioctl (Makefile.am): Likewise.
19079         * modules/sys_select (Makefile.am): Likewise.
19080         * modules/sys_socket (Makefile.am): Likewise.
19081         * modules/sys_times (Makefile.am): Likewise.
19082         * modules/sys_utsname (Makefile.am): Likewise.
19083         * modules/sys_wait (Makefile.am): Likewise.
19084         * modules/wchar (Makefile.am): Likewise.
19085         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
19086         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
19087         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
19088         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
19089         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
19090         Likewise.
19091         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
19092         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19093         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
19094         Likewise.
19095         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
19096         Likewise.
19097         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19098         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
19099         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
19100         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19101         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19102         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
19103         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
19104         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
19105         (gl_WCHAR_H_DEFAULTS): Likewise.
19106
19107 2009-12-31  Eric Blake  <ebb9@byu.net>
19108
19109         signal, spawn: use link warnings
19110         * lib/signal.in.h (sigset_t): Make unconditional.
19111         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
19112         (sigpending, sigprocmask, sigaction): Add link warnings.
19113         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
19114         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
19115         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
19116         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
19117         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
19118         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
19119         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
19120         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
19121         (posix_spawn_file_actions_destroy)
19122         (posix_spawn_file_actions_addopen)
19123         (posix_spawn_file_actions_addclose)
19124         (posix_spawn_file_actions_adddup2): Likewise.
19125         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
19126         * tests/test-signal.c (main): Enhance test.
19127
19128         spawn: improve wrapper support
19129         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
19130         (gl_SPAWN_H_DEFAULTS): New defaults.
19131         * modules/spawn (Makefile.am): Substitute them.
19132         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
19133         Only declare if missing or broken.
19134
19135         sys_times, sys_utsname: use include_next
19136         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
19137         header.
19138         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
19139         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
19140         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
19141         * modules/sys_times (Depends-on): Add include_next.
19142         (Makefile.am): Substitute additional values.
19143         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
19144         * lib/sys_times.in.h (includes): Include native header, if
19145         available.
19146         * lib/sys_utsname.in.h (includes): Likewise.
19147         * tests/test-sys_times.c (main): Enhance test.
19148
19149         fdutimensat: revert prior patch
19150         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
19151         utimens.h.
19152         Reported by Bruno Haible.
19153
19154 2009-12-30  Eric Blake  <ebb9@byu.net>
19155
19156         sys_wait: drop link-warning dependency
19157         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
19158         link-warning efforts.
19159         * lib/sys_wait.in.h: Likewise.
19160
19161         fdutimensat: remove bogus dependency
19162         * modules/fdutimensat (Depends-on): Drop inline.
19163
19164         unistd: fix typo
19165         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
19166
19167 2009-12-30  Bruno Haible  <bruno@clisp.org>
19168
19169         Fix compilation error with Solaris cc.
19170         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
19171         * lib/unicase/u16-is-invariant.c: Likewise.
19172         * lib/unicase/u32-is-invariant.c: Likewise.
19173         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
19174
19175 2009-12-30  Bruno Haible  <bruno@clisp.org>
19176
19177         Fix test crash.
19178         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
19179         locales.
19180         Reported by Simon Josefsson <simon@josefsson.org>.
19181
19182 2009-12-30  Bruno Haible  <bruno@clisp.org>
19183
19184         Fix compilation error on most platforms.
19185         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
19186         Reported by Simon Josefsson <simon@josefsson.org>
19187         and Nelson H. F. Beebe <beebe@math.utah.edu>.
19188
19189 2009-12-30  Eric Blake  <ebb9@byu.net>
19190
19191         futimens, utimensat: work around ntfs-3g bug
19192         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
19193         a ctime bug is present, and expand workaround to cover ntfs-3g.
19194         * lib/utimens.c (fdutimens, lutimens): Likewise.
19195         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
19196         (validate_timespec): Adjust return value.
19197         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
19198         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19199         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
19200
19201 2009-12-29  Eric Blake  <ebb9@byu.net>
19202
19203         link-warning: make usage consistent
19204         * modules/ctype (Depends-on): Add link-warning.
19205         (Makefile.am): Update rules accordingly.
19206         * modules/langinfo (Depends-on, Makefile.am): Likewise.
19207         * modules/locale (Depends-on, Makefile.am): Likewise.
19208         * modules/sys_file (Makefile.am): Likewise.
19209         * modules/getopt-posix (Makefile.am): Delete unused link warning
19210         efforts.
19211         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
19212         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
19213         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
19214         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
19215
19216         stdio: remove unused variables
19217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
19218         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
19219         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19220
19221         tests: test more substitute headers
19222         * modules/ctype-tests: New file.
19223         * modules/dirent-tests: Likewise.
19224         * modules/spawn-tests: Likewise.
19225         * modules/sys_file-tests: Likewise.
19226         * modules/sys_ioctl-tests: Likewise.
19227         * modules/sys_wait-tests: Likewise.
19228         * tests/test-ctype.c: Likewise.
19229         * tests/test-dirent.c: Likewise.
19230         * tests/test-spawn.c: Likewise.
19231         * tests/test-sys_file.c: Likewise.
19232         * tests/test-sys_ioctl.c: Likewise.
19233         * tests/test-sys_wait.c: Likewise.
19234         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
19235         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
19236         whether or not flock is in use.
19237
19238         tests: remove License section from module
19239         * modules/arpa_inet-tests: Remove unneeded section.
19240         * modules/byteswap-tests: Likewise.
19241         * modules/ceilf-tests: Likewise.
19242         * modules/ceill-tests: Likewise.
19243         * modules/crypto/des-tests: Likewise.
19244         * modules/crypto/gc-arcfour-tests: Likewise.
19245         * modules/crypto/gc-arctwo-tests: Likewise.
19246         * modules/crypto/gc-des-tests: Likewise.
19247         * modules/crypto/gc-hmac-md5-tests: Likewise.
19248         * modules/crypto/gc-hmac-sha1-tests: Likewise.
19249         * modules/crypto/gc-md2-tests: Likewise.
19250         * modules/crypto/gc-md4-tests: Likewise.
19251         * modules/crypto/gc-md5-tests: Likewise.
19252         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
19253         * modules/crypto/gc-rijndael-tests: Likewise.
19254         * modules/crypto/gc-sha1-tests: Likewise.
19255         * modules/crypto/gc-tests: Likewise.
19256         * modules/crypto/md2-tests: Likewise.
19257         * modules/crypto/md4-tests: Likewise.
19258         * modules/fcntl-h-tests: Likewise.
19259         * modules/floorf-tests: Likewise.
19260         * modules/floorl-tests: Likewise.
19261         * modules/frexp-nolibm-tests: Likewise.
19262         * modules/frexp-tests: Likewise.
19263         * modules/frexpl-nolibm-tests: Likewise.
19264         * modules/frexpl-tests: Likewise.
19265         * modules/getaddrinfo-tests: Likewise.
19266         * modules/inttypes-tests: Likewise.
19267         * modules/isfinite-tests: Likewise.
19268         * modules/isinf-tests: Likewise.
19269         * modules/ldexpl-tests: Likewise.
19270         * modules/locale-tests: Likewise.
19271         * modules/math-tests: Likewise.
19272         * modules/netdb-tests: Likewise.
19273         * modules/netinet_in-tests: Likewise.
19274         * modules/printf-frexp-tests: Likewise.
19275         * modules/printf-frexpl-tests: Likewise.
19276         * modules/priv-set-tests: Likewise.
19277         * modules/random_r-tests: Likewise.
19278         * modules/round-tests: Likewise.
19279         * modules/roundf-tests: Likewise.
19280         * modules/roundl-tests: Likewise.
19281         * modules/search-tests: Likewise.
19282         * modules/select-tests: Likewise.
19283         * modules/signal-tests: Likewise.
19284         * modules/stdbool-tests: Likewise.
19285         * modules/stddef-tests: Likewise.
19286         * modules/stdint-tests: Likewise.
19287         * modules/stdio-tests: Likewise.
19288         * modules/stdlib-tests: Likewise.
19289         * modules/string-tests: Likewise.
19290         * modules/strings-tests: Likewise.
19291         * modules/sys_select-tests: Likewise.
19292         * modules/sys_socket-tests: Likewise.
19293         * modules/sys_stat-tests: Likewise.
19294         * modules/sys_time-tests: Likewise.
19295         * modules/sys_utsname-tests: Likewise.
19296         * modules/sysexits-tests: Likewise.
19297         * modules/time-tests: Likewise.
19298         * modules/trunc-tests: Likewise.
19299         * modules/truncf-tests: Likewise.
19300         * modules/truncl-tests: Likewise.
19301         * modules/tsearch-tests: Likewise.
19302         * modules/unistd-tests: Likewise.
19303         * modules/wchar-tests: Likewise.
19304         * modules/wctype-tests: Likewise.
19305
19306         tests: fix license on several tests
19307         * tests/test-des.c: Update to GPLv3+.
19308         * tests/test-flock.c: Likewise.
19309         * tests/test-fsync.c: Likewise.
19310         * tests/test-futimens.h: Likewise.
19311         * tests/test-gc-arcfour.c: Likewise.
19312         * tests/test-gc-arctwo.c: Likewise.
19313         * tests/test-gc-des.c: Likewise.
19314         * tests/test-gc-hmac-md5.c: Likewise.
19315         * tests/test-gc-hmac-sha1.c: Likewise.
19316         * tests/test-gc-md2.c: Likewise.
19317         * tests/test-gc-md4.c: Likewise.
19318         * tests/test-gc-md5.c: Likewise.
19319         * tests/test-gc-pbkdf2-sha1.c: Likewise.
19320         * tests/test-gc-rijndael.c: Likewise.
19321         * tests/test-gc-sha1.c: Likewise.
19322         * tests/test-gc.c: Likewise.
19323         * tests/test-getcwd.c: Likewise.
19324         * tests/test-link.c: Likewise.
19325         * tests/test-link.h: Likewise.
19326         * tests/test-lutimens.h: Likewise.
19327         * tests/test-md2.c: Likewise.
19328         * tests/test-md4.c: Likewise.
19329         * tests/test-mkdir.h: Likewise.
19330         * tests/test-rename.c: Likewise.
19331         * tests/test-rename.h: Likewise.
19332         * tests/test-safe-alloc.c: Likewise.
19333         * tests/test-utimens-common.h: Likewise.
19334         * tests/test-utimens.h: Likewise.
19335
19336         maint: sync license texts
19337         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
19338         * doc/gpl-3.0.texi: Revert copyright year update.
19339         * doc/lgpl-3.0.texi: Likewise.
19340
19341 2009-12-29  Jim Meyering  <meyering@redhat.com>
19342
19343         update nearly all FSF copyright year lists to include 2009
19344         The files named by the following are exempted:
19345             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
19346               test -f "$dst" && { echo "$dst"; continue; }
19347               test -d "$dst" || continue
19348               echo "$dst"/$(basename "$src")
19349             done > exempt
19350             git ls-files tests/unictype >> exempt
19351         In the remaining files, convert to all-interval notation if
19352         - there is already at least one year interval like 2000-2003
19353         - the file is maintained by me
19354         - the file is in lib/uni*/, where that style already prevails
19355         Otherwise, use update-copyright's default.
19356
19357 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19358         and Eric Blake  <ebb9@byu.net>
19359
19360         tests: don't require debug system() to pass
19361         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
19362         * tests/test-rmdir.h (test_rmdir_func): Likewise.
19363         * tests/test-unlink.h (test_unlink_func): Likewise.
19364         * tests/test-fstatat.c (main): ...into callers.
19365         * tests/test-lstat.c (main): Likewise.
19366         * tests/test-rmdir.c (main): Likewise.
19367         * tests/test-unlink.c (main): Likewise.
19368         * tests/test-unlinkat.c (main): Likewise.
19369         * tests/test-areadlink-with-size.c (main): Don't require a
19370         debug-only system call to pass, aiding cross-testing to mingw.
19371         * tests/test-areadlink.c (main): Likewise.
19372         * tests/test-areadlinkat-with-size.c (main): Likewise.
19373         * tests/test-areadlinkat.c (main): Likewise.
19374         * tests/test-canonicalize-lgpl.c (main): Likewise.
19375         * tests/test-canonicalize.c (main): Likewise.
19376         * tests/test-chown.c (main): Likewise.
19377         * tests/test-fchownat.c (main): Likewise.
19378         * tests/test-lchown.c (main): Likewise.
19379         * tests/test-fdutimensat.c (main): Likewise.
19380         * tests/test-futimens.c (main): Likewise.
19381         * tests/test-link.c (main): Likewise.
19382         * tests/test-linkat.c (main): Likewise.
19383         * tests/test-mkdir.c (main): Likewise.
19384         * tests/test-mkdirat.c (main): Likewise.
19385         * tests/test-mkfifo.c (main): Likewise.
19386         * tests/test-mkfifoat.c (main): Likewise.
19387         * tests/test-mknod.c (main): Likewise.
19388         * tests/test-readlink.c (main): Likewise.
19389         * tests/test-remove.c (main): Likewise.
19390         * tests/test-rename.c (main): Likewise.
19391         * tests/test-renameat.c (main): Likewise.
19392         * tests/test-symlink.c (main): Likewise.
19393         * tests/test-symlinkat.c (main): Likewise.
19394         * tests/test-utimens.c (main): Likewise.
19395         * tests/test-utimensat.c (main): Likewise.
19396
19397 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19398
19399         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
19400         on $(UNUSED_PARAMETER_H) to avoid build failure.
19401
19402 2009-12-28  Jim Meyering  <meyering@redhat.com>
19403
19404         update-copyright: you may specify a max. line length other than 72
19405         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19406
19407         maint: use consistent FSF copyright line syntax
19408         * lib/posixtm.c: Add missing comma in FSF copyright line.
19409         * lib/posixtm.h: Likewise.
19410         * lib/getugroups.c: Add missing ", Inc.".
19411
19412         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
19413         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
19414         FSF copyright line.  Remove trailing blanks.
19415
19416 2009-12-28  Eric Blake  <ebb9@byu.net>
19417
19418         test-dup2: reduce dependencies
19419         * modules/cloexec (Configure.ac): Set witness.
19420         * modules/dup2-tests (Depends-on): Drop cloexec.
19421         * tests/test-dup2.c (main): Skip portion of test if cloexec module
19422         not present.
19423         Suggested by Bruno Haible.
19424
19425 2009-12-26  Bruno Haible  <bruno@clisp.org>
19426
19427         Remove an unneeded dependency.
19428         * modules/fseterr (Depends-on): Remove dup2.
19429
19430 2009-12-26  Eric Blake  <ebb9@byu.net>
19431
19432         tests: use macros.h in more places
19433         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
19434         (ASSERT_STREAM): Provide default of stderr.
19435         * tests/test-dirent-safer.c: Include macros.h, using alternate
19436         stream for assertions.
19437         * tests/test-dup-safer.c: Likewise.
19438         * tests/test-freopen-safer.c: Likewise.
19439         * tests/test-getopt.c: Likewise.
19440         * tests/test-openat-safer.c: Likewise.
19441         * tests/test-pipe.c: Likewise.
19442         * tests/test-popen-safer.c: Likewise.
19443         * modules/dirent-safer-tests (Files): Include macros.h.
19444         * modules/unistd-safer-tests (Files): Likewise.
19445         * modules/freopen-safer-tests (Files): Likewise.
19446         * modules/getopt-posix-tests (Files): Likewise.
19447         * modules/openat-safer-tests (Files): Likewise.
19448         * modules/pipe-tests (Files): Likewise.
19449
19450 2009-12-26  Bruno Haible  <bruno@clisp.org>
19451
19452         javacomp: Portability fix.
19453         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
19454         that it also works on Solaris.
19455
19456 2009-12-26  Bruno Haible  <bruno@clisp.org>
19457
19458         localename: Fix storage allocation of gl_locale_name_thread's result.
19459         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
19460         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
19461         all platforms that have 'uselocale'.
19462         (gl_locale_name_thread_unsafe): New function, extracted from
19463         gl_locale_name_thread.
19464         (gl_locale_name_thread): Call struniq on all platforms that have
19465         'uselocale'.
19466         * tests/test-localename.c (test_locale_name_thread): Check that the
19467         resulting strings are permanently allocated.
19468         * modules/localename-tests (Depends-on): Add strdup.
19469
19470 2009-12-26  Bruno Haible  <bruno@clisp.org>
19471
19472         * tests/test-localename.c (categories): Fill in the strings.
19473
19474 2009-12-26  Jim Meyering  <meyering@redhat.com>
19475
19476         isdir: complete the removal of m4/isdir.m4
19477         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
19478
19479         isdir: clean up, since at least grep still uses it
19480         * lib/isdir.c: Include "isdir.h".
19481         (S_ISDIR): Remove now-unneeded definition.
19482         * modules/isdir (Files): Add lib/isdir.h.
19483         * lib/isdir.h: New file, with declaration.
19484         * m4/isdir.m4: Remove file -- unneeded.
19485
19486 2009-12-25  Bruno Haible  <bruno@clisp.org>
19487
19488         selinux-h: Make generated .h files standalone.
19489         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
19490         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
19491         * lib/se-selinux.in.h: Likewise.
19492         * modules/selinux-h (Depends-on): Add unused-parameter.
19493         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
19494         selinux/selinux.h and selinux/context.h.
19495         Suggested by Eric Blake.
19496
19497 2009-12-25  Bruno Haible  <bruno@clisp.org>
19498
19499         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
19500         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
19501         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
19502         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
19503         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
19504
19505 2009-12-24  Bruno Haible  <bruno@clisp.org>
19506
19507         openat: Fix warning.
19508         * lib/openat-proc.c: Include <unistd.h>.
19509
19510 2009-12-24  Bruno Haible  <bruno@clisp.org>
19511
19512         New module 'unused-parameter'.
19513         * build-aux/unused-parameter.h: New file, extracted from earlier
19514         gnulib-common.m4.
19515         * modules/unused-parameter: New file.
19516         * lib/unistr.h: Include unused-parameter.h.
19517         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
19518         _GL_UNUSED.
19519         * modules/unistr/base (Depends-on): Add unused-parameter.
19520
19521 2009-12-24  Bruno Haible  <bruno@clisp.org>
19522
19523         Add missing dependencies to 'extensions' module.
19524         * m4/extensions.m4: Add comment.
19525         * modules/accept4 (Depends-on): Add extensions.
19526         * modules/dup3 (Depends-on): Likewise.
19527         * modules/fcntl (Depends-on): Likewise.
19528         * modules/futimens (Depends-on): Likewise.
19529         * modules/mknod (Depends-on): Likewise.
19530         * modules/pipe2 (Depends-on): Likewise.
19531         * modules/stat-time (Depends-on): Likewise.
19532         * modules/strcasestr-simple (Depends-on): Likewise.
19533         * modules/strsignal (Depends-on): Likewise.
19534         * modules/utimensat (Depends-on): Likewise.
19535         * modules/localcharset (Depends-on): Likewise. Needed because of
19536         gl_FCNTL_O_FLAGS.
19537         * modules/wcrtomb (Depends-on): Likewise. Needed because of
19538         AC_TYPE_MBSTATE_T.
19539         * modules/wcsnrtombs (Depends-on): Likewise.
19540         * modules/wcsrtombs (Depends-on): Likewise.
19541
19542 2009-12-24  Bruno Haible  <bruno@clisp.org>
19543
19544         binary-io: Avoid gcc warning due to SET_BINARY.
19545         * lib/binary-io.h (SET_BINARY): Cast the result to void.
19546         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
19547
19548 2009-12-24  Bruno Haible  <bruno@clisp.org>
19549
19550         Avoid future namespace pollution on glibc systems.
19551         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
19552         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
19553         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
19554         glibc systems.
19555
19556 2009-12-24  Bruno Haible  <bruno@clisp.org>
19557
19558         Refactor common macros used in tests.
19559         * tests/macros.h: New file.
19560         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
19561         and/or <stdlib.h>, if appropriate.
19562         (ASSERT, SIZEOF): Remove macros.
19563         * tests/test-areadlink-with-size.c: Likewise.
19564         * tests/test-areadlinkat.c: Likewise.
19565         * tests/test-areadlinkat-with-size.c: Likewise.
19566         * tests/test-argmatch.c: Likewise.
19567         * tests/test-argv-iter.c: Likewise.
19568         * tests/test-array-mergesort.c: Likewise.
19569         * tests/test-array_list.c: Likewise.
19570         * tests/test-array_oset.c: Likewise.
19571         * tests/test-avltree_list.c: Likewise.
19572         * tests/test-avltree_oset.c: Likewise.
19573         * tests/test-avltreehash_list.c: Likewise.
19574         * tests/test-base64.c: Likewise.
19575         * tests/test-binary-io.c: Likewise.
19576         * tests/test-bitrotate.c: Likewise.
19577         * tests/test-btowc.c: Likewise.
19578         * tests/test-byteswap.c: Likewise.
19579         * tests/test-c-ctype.c: Likewise.
19580         * tests/test-c-stack.c: Likewise.
19581         * tests/test-c-strcasecmp.c: Likewise.
19582         * tests/test-c-strcasestr.c: Likewise.
19583         * tests/test-c-strncasecmp.c: Likewise.
19584         * tests/test-c-strstr.c: Likewise.
19585         * tests/test-canonicalize-lgpl.c: Likewise.
19586         * tests/test-canonicalize.c: Likewise.
19587         * tests/test-carray_list.c: Likewise.
19588         * tests/test-ceilf1.c: Likewise.
19589         * tests/test-ceilf2.c: Likewise.
19590         * tests/test-ceill.c: Likewise.
19591         * tests/test-chown.c: Likewise.
19592         * tests/test-cloexec.c: Likewise.
19593         * tests/test-copy-acl.c: Likewise.
19594         * tests/test-copy-file.c: Likewise.
19595         * tests/test-count-one-bits.c: Likewise.
19596         * tests/test-dprintf-posix.c: Likewise.
19597         * tests/test-dup2.c: Likewise.
19598         * tests/test-dup3.c: Likewise.
19599         * tests/test-duplocale.c: Likewise.
19600         * tests/test-fbufmode.c: Likewise.
19601         * tests/test-fchdir.c: Likewise.
19602         * tests/test-fchownat.c: Likewise.
19603         * tests/test-fcntl-safer.c: Likewise.
19604         * tests/test-fcntl.c: Likewise.
19605         * tests/test-fdopendir.c: Likewise.
19606         * tests/test-fdutimensat.c: Likewise.
19607         * tests/test-fflush2.c: Likewise.
19608         * tests/test-file-has-acl.c: Likewise.
19609         * tests/test-filevercmp.c: Likewise.
19610         * tests/test-flock.c: Likewise.
19611         * tests/test-floorf1.c: Likewise.
19612         * tests/test-floorf2.c: Likewise.
19613         * tests/test-floorl.c: Likewise.
19614         * tests/test-fnmatch.c: Likewise.
19615         * tests/test-fopen.h: Likewise.
19616         * tests/test-fpending.c: Likewise.
19617         * tests/test-fprintf-posix.c: Likewise.
19618         * tests/test-fpurge.c: Likewise.
19619         * tests/test-freadable.c: Likewise.
19620         * tests/test-freadahead.c: Likewise.
19621         * tests/test-freading.c: Likewise.
19622         * tests/test-freadptr.c: Likewise.
19623         * tests/test-freadptr2.c: Likewise.
19624         * tests/test-freadseek.c: Likewise.
19625         * tests/test-freopen.c: Likewise.
19626         * tests/test-frexp.c: Likewise.
19627         * tests/test-frexpl.c: Likewise.
19628         * tests/test-fseek.c: Likewise.
19629         * tests/test-fseeko.c: Likewise.
19630         * tests/test-fstatat.c: Likewise.
19631         * tests/test-fstrcmp.c: Likewise.
19632         * tests/test-fsync.c: Likewise.
19633         * tests/test-ftell.c: Likewise.
19634         * tests/test-ftello.c: Likewise.
19635         * tests/test-func.c: Likewise.
19636         * tests/test-futimens.c: Likewise.
19637         * tests/test-fwritable.c: Likewise.
19638         * tests/test-fwriting.c: Likewise.
19639         * tests/test-getcwd.c: Likewise.
19640         * tests/test-getdate.c: Likewise.
19641         * tests/test-getdelim.c: Likewise.
19642         * tests/test-getdtablesize.c: Likewise.
19643         * tests/test-getgroups.c: Likewise.
19644         * tests/test-getline.c: Likewise.
19645         * tests/test-getndelim2.c: Likewise.
19646         * tests/test-glob.c: Likewise.
19647         * tests/test-hash.c: Likewise.
19648         * tests/test-i-ring.c: Likewise.
19649         * tests/test-iconv-utf.c: Likewise.
19650         * tests/test-iconv.c: Likewise.
19651         * tests/test-idpriv-drop.c: Likewise.
19652         * tests/test-idpriv-droptemp.c: Likewise.
19653         * tests/test-inet_ntop.c: Likewise.
19654         * tests/test-inet_pton.c: Likewise.
19655         * tests/test-isblank.c: Likewise.
19656         * tests/test-isfinite.c: Likewise.
19657         * tests/test-isinf.c: Likewise.
19658         * tests/test-isnan.c: Likewise.
19659         * tests/test-isnand.h: Likewise.
19660         * tests/test-isnanf.h: Likewise.
19661         * tests/test-isnanl.h: Likewise.
19662         * tests/test-lchown.c: Likewise.
19663         * tests/test-ldexpl.c: Likewise.
19664         * tests/test-link.c: Likewise.
19665         * tests/test-linkat.c: Likewise.
19666         * tests/test-linked_list.c: Likewise.
19667         * tests/test-linkedhash_list.c: Likewise.
19668         * tests/test-localename.c: Likewise.
19669         * tests/test-lseek.c: Likewise.
19670         * tests/test-lstat.c: Likewise.
19671         * tests/test-mbmemcasecmp.c: Likewise.
19672         * tests/test-mbmemcasecoll.c: Likewise.
19673         * tests/test-mbrtowc.c: Likewise.
19674         * tests/test-mbscasecmp.c: Likewise.
19675         * tests/test-mbscasestr1.c: Likewise.
19676         * tests/test-mbscasestr2.c: Likewise.
19677         * tests/test-mbscasestr3.c: Likewise.
19678         * tests/test-mbscasestr4.c: Likewise.
19679         * tests/test-mbschr.c: Likewise.
19680         * tests/test-mbscspn.c: Likewise.
19681         * tests/test-mbsinit.c: Likewise.
19682         * tests/test-mbsncasecmp.c: Likewise.
19683         * tests/test-mbsnrtowcs.c: Likewise.
19684         * tests/test-mbspbrk.c: Likewise.
19685         * tests/test-mbspcasecmp.c: Likewise.
19686         * tests/test-mbsrchr.c: Likewise.
19687         * tests/test-mbsrtowcs.c: Likewise.
19688         * tests/test-mbsspn.c: Likewise.
19689         * tests/test-mbsstr1.c: Likewise.
19690         * tests/test-mbsstr2.c: Likewise.
19691         * tests/test-mbsstr3.c: Likewise.
19692         * tests/test-memchr.c: Likewise.
19693         * tests/test-memchr2.c: Likewise.
19694         * tests/test-memcmp.c: Likewise.
19695         * tests/test-memmem.c: Likewise.
19696         * tests/test-memrchr.c: Likewise.
19697         * tests/test-mkdir.c: Likewise.
19698         * tests/test-mkdirat.c: Likewise.
19699         * tests/test-mkfifo.c: Likewise.
19700         * tests/test-mkfifoat.c: Likewise.
19701         * tests/test-mknod.c: Likewise.
19702         * tests/test-nanosleep.c: Likewise.
19703         * tests/test-nl_langinfo.c: Likewise.
19704         * tests/test-obstack-printf.c: Likewise.
19705         * tests/test-open.c: Likewise.
19706         * tests/test-openat.c: Likewise.
19707         * tests/test-pipe-filter-gi1.c: Likewise.
19708         * tests/test-pipe-filter-gi2-main.c: Likewise.
19709         * tests/test-pipe-filter-ii1.c: Likewise.
19710         * tests/test-pipe-filter-ii2-main.c: Likewise.
19711         * tests/test-pipe2.c: Likewise.
19712         * tests/test-popen.h: Likewise.
19713         * tests/test-posixtm.c: Likewise.
19714         * tests/test-pread.c: Likewise.
19715         * tests/test-printf-frexp.c: Likewise.
19716         * tests/test-printf-frexpl.c: Likewise.
19717         * tests/test-printf-posix.c: Likewise.
19718         * tests/test-priv-set.c: Likewise.
19719         * tests/test-quotearg.c: Likewise.
19720         * tests/test-random_r.c: Likewise.
19721         * tests/test-rawmemchr.c: Likewise.
19722         * tests/test-rbtree_list.c: Likewise.
19723         * tests/test-rbtree_oset.c: Likewise.
19724         * tests/test-rbtreehash_list.c: Likewise.
19725         * tests/test-readlink.c: Likewise.
19726         * tests/test-remove.c: Likewise.
19727         * tests/test-rename.c: Likewise.
19728         * tests/test-renameat.c: Likewise.
19729         * tests/test-rmdir.c: Likewise.
19730         * tests/test-round1.c: Likewise.
19731         * tests/test-roundf1.c: Likewise.
19732         * tests/test-roundl.c: Likewise.
19733         * tests/test-safe-alloc.c: Likewise.
19734         * tests/test-sameacls.c: Likewise.
19735         * tests/test-set-mode-acl.c: Likewise.
19736         * tests/test-setenv.c: Likewise.
19737         * tests/test-sigaction.c: Likewise.
19738         * tests/test-signbit.c: Likewise.
19739         * tests/test-sleep.c: Likewise.
19740         * tests/test-snprintf-posix.c: Likewise.
19741         * tests/test-snprintf.c: Likewise.
19742         * tests/test-sprintf-posix.c: Likewise.
19743         * tests/test-stat-time.c: Likewise.
19744         * tests/test-stat.c: Likewise.
19745         * tests/test-strcasestr.c: Likewise.
19746         * tests/test-strchrnul.c: Likewise.
19747         * tests/test-strerror.c: Likewise.
19748         * tests/test-striconv.c: Likewise.
19749         * tests/test-striconveh.c: Likewise.
19750         * tests/test-striconveha.c: Likewise.
19751         * tests/test-strsignal.c: Likewise.
19752         * tests/test-strstr.c: Likewise.
19753         * tests/test-strtod.c: Likewise.
19754         * tests/test-strverscmp.c: Likewise.
19755         * tests/test-symlink.c: Likewise.
19756         * tests/test-symlinkat.c: Likewise.
19757         * tests/test-trunc1.c: Likewise.
19758         * tests/test-trunc2.c: Likewise.
19759         * tests/test-truncf1.c: Likewise.
19760         * tests/test-truncf2.c: Likewise.
19761         * tests/test-truncl.c: Likewise.
19762         * tests/test-uname.c: Likewise.
19763         * tests/test-unlink.c: Likewise.
19764         * tests/test-unlinkat.c: Likewise.
19765         * tests/test-unsetenv.c: Likewise.
19766         * tests/test-usleep.c: Likewise.
19767         * tests/test-utimens.c: Likewise.
19768         * tests/test-utimensat.c: Likewise.
19769         * tests/test-vasnprintf-posix.c: Likewise.
19770         * tests/test-vasnprintf-posix2.c: Likewise.
19771         * tests/test-vasnprintf.c: Likewise.
19772         * tests/test-vasprintf-posix.c: Likewise.
19773         * tests/test-vasprintf.c: Likewise.
19774         * tests/test-vdprintf-posix.c: Likewise.
19775         * tests/test-vfprintf-posix.c: Likewise.
19776         * tests/test-vprintf-posix.c: Likewise.
19777         * tests/test-vsnprintf-posix.c: Likewise.
19778         * tests/test-vsnprintf.c: Likewise.
19779         * tests/test-vsprintf-posix.c: Likewise.
19780         * tests/test-wcrtomb.c: Likewise.
19781         * tests/test-wcsnrtombs.c: Likewise.
19782         * tests/test-wcsrtombs.c: Likewise.
19783         * tests/test-wctype.c: Likewise.
19784         * tests/test-wcwidth.c: Likewise.
19785         * tests/test-xfprintf-posix.c: Likewise.
19786         * tests/test-xmemdup0.c: Likewise.
19787         * tests/test-xprintf-posix.c: Likewise.
19788         * tests/test-xvasprintf.c: Likewise.
19789         * tests/unicase/test-locale-language.c: Likewise.
19790         * tests/unicase/test-mapping-part1.h: Likewise.
19791         * tests/unicase/test-predicate-part1.h: Likewise.
19792         * tests/unicase/test-u8-casecmp.c: Likewise.
19793         * tests/unicase/test-u8-casecoll.c: Likewise.
19794         * tests/unicase/test-u8-casefold.c: Likewise.
19795         * tests/unicase/test-u8-is-cased.c: Likewise.
19796         * tests/unicase/test-u8-is-casefolded.c: Likewise.
19797         * tests/unicase/test-u8-is-lowercase.c: Likewise.
19798         * tests/unicase/test-u8-is-titlecase.c: Likewise.
19799         * tests/unicase/test-u8-is-uppercase.c: Likewise.
19800         * tests/unicase/test-u8-tolower.c: Likewise.
19801         * tests/unicase/test-u8-totitle.c: Likewise.
19802         * tests/unicase/test-u8-toupper.c: Likewise.
19803         * tests/unicase/test-u16-casecmp.c: Likewise.
19804         * tests/unicase/test-u16-casecoll.c: Likewise.
19805         * tests/unicase/test-u16-casefold.c: Likewise.
19806         * tests/unicase/test-u16-is-cased.c: Likewise.
19807         * tests/unicase/test-u16-is-casefolded.c: Likewise.
19808         * tests/unicase/test-u16-is-lowercase.c: Likewise.
19809         * tests/unicase/test-u16-is-titlecase.c: Likewise.
19810         * tests/unicase/test-u16-is-uppercase.c: Likewise.
19811         * tests/unicase/test-u16-tolower.c: Likewise.
19812         * tests/unicase/test-u16-totitle.c: Likewise.
19813         * tests/unicase/test-u16-toupper.c: Likewise.
19814         * tests/unicase/test-u32-casecmp.c: Likewise.
19815         * tests/unicase/test-u32-casecoll.c: Likewise.
19816         * tests/unicase/test-u32-casefold.c: Likewise.
19817         * tests/unicase/test-u32-is-cased.c: Likewise.
19818         * tests/unicase/test-u32-is-casefolded.c: Likewise.
19819         * tests/unicase/test-u32-is-lowercase.c: Likewise.
19820         * tests/unicase/test-u32-is-titlecase.c: Likewise.
19821         * tests/unicase/test-u32-is-uppercase.c: Likewise.
19822         * tests/unicase/test-u32-tolower.c: Likewise.
19823         * tests/unicase/test-u32-totitle.c: Likewise.
19824         * tests/unicase/test-u32-toupper.c: Likewise.
19825         * tests/unicase/test-ulc-casecmp.c: Likewise.
19826         * tests/unicase/test-ulc-casecoll.c: Likewise.
19827         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
19828         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
19829         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
19830         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
19831         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
19832         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
19833         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
19834         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
19835         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
19836         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
19837         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
19838         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
19839         * tests/unictype/test-bidi_byname.c: Likewise.
19840         * tests/unictype/test-bidi_name.c: Likewise.
19841         * tests/unictype/test-bidi_of.c: Likewise.
19842         * tests/unictype/test-bidi_test.c: Likewise.
19843         * tests/unictype/test-block_list.c: Likewise.
19844         * tests/unictype/test-block_of.c: Likewise.
19845         * tests/unictype/test-block_test.c: Likewise.
19846         * tests/unictype/test-categ_and.c: Likewise.
19847         * tests/unictype/test-categ_and_not.c: Likewise.
19848         * tests/unictype/test-categ_byname.c: Likewise.
19849         * tests/unictype/test-categ_name.c: Likewise.
19850         * tests/unictype/test-categ_none.c: Likewise.
19851         * tests/unictype/test-categ_of.c: Likewise.
19852         * tests/unictype/test-categ_or.c: Likewise.
19853         * tests/unictype/test-categ_test_withtable.c: Likewise.
19854         * tests/unictype/test-combining.c: Likewise.
19855         * tests/unictype/test-decdigit.c: Likewise.
19856         * tests/unictype/test-digit.c: Likewise.
19857         * tests/unictype/test-mirror.c: Likewise.
19858         * tests/unictype/test-numeric.c: Likewise.
19859         * tests/unictype/test-pr_byname.c: Likewise.
19860         * tests/unictype/test-pr_test.c: Likewise.
19861         * tests/unictype/test-predicate-part1.h: Likewise.
19862         * tests/unictype/test-scripts.c: Likewise.
19863         * tests/unictype/test-sy_c_ident.c: Likewise.
19864         * tests/unictype/test-sy_java_ident.c: Likewise.
19865         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
19866         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
19867         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
19868         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
19869         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
19870         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
19871         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
19872         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
19873         * tests/uninorm/test-canonical-decomposition.c: Likewise.
19874         * tests/uninorm/test-compat-decomposition.c: Likewise.
19875         * tests/uninorm/test-composition.c: Likewise.
19876         * tests/uninorm/test-decomposing-form.c: Likewise.
19877         * tests/uninorm/test-decomposition.c: Likewise.
19878         * tests/uninorm/test-u8-nfc.c: Likewise.
19879         * tests/uninorm/test-u8-nfd.c: Likewise.
19880         * tests/uninorm/test-u8-nfkc.c: Likewise.
19881         * tests/uninorm/test-u8-nfkd.c: Likewise.
19882         * tests/uninorm/test-u8-normcmp.c: Likewise.
19883         * tests/uninorm/test-u8-normcoll.c: Likewise.
19884         * tests/uninorm/test-u16-nfc.c: Likewise.
19885         * tests/uninorm/test-u16-nfd.c: Likewise.
19886         * tests/uninorm/test-u16-nfkc.c: Likewise.
19887         * tests/uninorm/test-u16-nfkd.c: Likewise.
19888         * tests/uninorm/test-u16-normcmp.c: Likewise.
19889         * tests/uninorm/test-u16-normcoll.c: Likewise.
19890         * tests/uninorm/test-u32-nfc.c: Likewise.
19891         * tests/uninorm/test-u32-nfd.c: Likewise.
19892         * tests/uninorm/test-u32-nfkc.c: Likewise.
19893         * tests/uninorm/test-u32-nfkd.c: Likewise.
19894         * tests/uninorm/test-u32-normalize-big.c: Likewise.
19895         * tests/uninorm/test-u32-normcmp.c: Likewise.
19896         * tests/uninorm/test-u32-normcoll.c: Likewise.
19897         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
19898         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
19899         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
19900         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
19901         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
19902         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
19903         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
19904         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
19905         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
19906         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
19907         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
19908         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
19909         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
19910         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
19911         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
19912         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
19913         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
19914         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
19915         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
19916         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
19917         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
19918         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
19919         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
19920         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
19921         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
19922         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
19923         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
19924         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
19925         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
19926         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
19927         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
19928         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
19929         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
19930         * tests/uniwidth/test-u8-strwidth.c: Likewise.
19931         * tests/uniwidth/test-u8-width.c: Likewise.
19932         * tests/uniwidth/test-u16-strwidth.c: Likewise.
19933         * tests/uniwidth/test-u16-width.c: Likewise.
19934         * tests/uniwidth/test-u32-strwidth.c: Likewise.
19935         * tests/uniwidth/test-u32-width.c: Likewise.
19936         * tests/uniwidth/test-uc_width.c: Likewise.
19937         * tests/uniwidth/test-uc_width2.c: Likewise.
19938         * modules/acl-tests (Files): Add tests/macros.h.
19939         * modules/areadlink-tests (Files): Likewise.
19940         * modules/areadlink-with-size-tests (Files): Likewise.
19941         * modules/areadlinkat-tests (Files): Likewise.
19942         * modules/areadlinkat-with-size-tests (Files): Likewise.
19943         * modules/argmatch-tests (Files): Likewise.
19944         * modules/argv-iter-tests (Files): Likewise.
19945         * modules/array-list-tests (Files): Likewise.
19946         * modules/array-mergesort-tests (Files): Likewise.
19947         * modules/array-oset-tests (Files): Likewise.
19948         * modules/avltree-list-tests (Files): Likewise.
19949         * modules/avltree-oset-tests (Files): Likewise.
19950         * modules/avltreehash-list-tests (Files): Likewise.
19951         * modules/base64-tests (Files): Likewise.
19952         * modules/binary-io-tests (Files): Likewise.
19953         * modules/bitrotate-tests (Files): Likewise.
19954         * modules/btowc-tests (Files): Likewise.
19955         * modules/byteswap-tests (Files): Likewise.
19956         * modules/c-ctype-tests (Files): Likewise.
19957         * modules/c-stack-tests (Files): Likewise.
19958         * modules/c-strcase-tests (Files): Likewise.
19959         * modules/c-strcasestr-tests (Files): Likewise.
19960         * modules/c-strstr-tests (Files): Likewise.
19961         * modules/canonicalize-lgpl-tests (Files): Likewise.
19962         * modules/canonicalize-tests (Files): Likewise.
19963         * modules/carray-list-tests (Files): Likewise.
19964         * modules/ceilf-tests (Files): Likewise.
19965         * modules/ceill-tests (Files): Likewise.
19966         * modules/chown-tests (Files): Likewise.
19967         * modules/cloexec-tests (Files): Likewise.
19968         * modules/copy-file-tests (Files): Likewise.
19969         * modules/count-one-bits-tests (Files): Likewise.
19970         * modules/dprintf-posix-tests (Files): Likewise.
19971         * modules/dup2-tests (Files): Likewise.
19972         * modules/dup3-tests (Files): Likewise.
19973         * modules/duplocale-tests (Files): Likewise.
19974         * modules/fbufmode-tests (Files): Likewise.
19975         * modules/fchdir-tests (Files): Likewise.
19976         * modules/fcntl-safer-tests (Files): Likewise.
19977         * modules/fcntl-tests (Files): Likewise.
19978         * modules/fdopendir-tests (Files): Likewise.
19979         * modules/fdutimensat-tests (Files): Likewise.
19980         * modules/fflush-tests (Files): Likewise.
19981         * modules/filevercmp-tests (Files): Likewise.
19982         * modules/flock-tests (Files): Likewise.
19983         * modules/floorf-tests (Files): Likewise.
19984         * modules/floorl-tests (Files): Likewise.
19985         * modules/fnmatch-tests (Files): Likewise.
19986         * modules/fopen-safer-tests (Files): Likewise.
19987         * modules/fopen-tests (Files): Likewise.
19988         * modules/fpending-tests (Files): Likewise.
19989         * modules/fprintf-posix-tests (Files): Likewise.
19990         * modules/fpurge-tests (Files): Likewise.
19991         * modules/freadable-tests (Files): Likewise.
19992         * modules/freadahead-tests (Files): Likewise.
19993         * modules/freading-tests (Files): Likewise.
19994         * modules/freadptr-tests (Files): Likewise.
19995         * modules/freadseek-tests (Files): Likewise.
19996         * modules/freopen-tests (Files): Likewise.
19997         * modules/frexp-nolibm-tests (Files): Likewise.
19998         * modules/frexp-tests (Files): Likewise.
19999         * modules/frexpl-nolibm-tests (Files): Likewise.
20000         * modules/frexpl-tests (Files): Likewise.
20001         * modules/fseek-tests (Files): Likewise.
20002         * modules/fseeko-tests (Files): Likewise.
20003         * modules/fstrcmp-tests (Files): Likewise.
20004         * modules/fsync-tests (Files): Likewise.
20005         * modules/ftell-tests (Files): Likewise.
20006         * modules/ftello-tests (Files): Likewise.
20007         * modules/func-tests (Files): Likewise.
20008         * modules/futimens-tests (Files): Likewise.
20009         * modules/fwritable-tests (Files): Likewise.
20010         * modules/fwriting-tests (Files): Likewise.
20011         * modules/getcwd-tests (Files): Likewise.
20012         * modules/getdate-tests (Files): Likewise.
20013         * modules/getdelim-tests (Files): Likewise.
20014         * modules/getdtablesize-tests (Files): Likewise.
20015         * modules/getgroups-tests (Files): Likewise.
20016         * modules/getline-tests (Files): Likewise.
20017         * modules/getndelim2-tests (Files): Likewise.
20018         * modules/glob-tests (Files): Likewise.
20019         * modules/hash-tests (Files): Likewise.
20020         * modules/i-ring-tests (Files): Likewise.
20021         * modules/iconv-tests (Files): Likewise.
20022         * modules/iconv_open-utf-tests (Files): Likewise.
20023         * modules/idpriv-drop-tests (Files): Likewise.
20024         * modules/idpriv-droptemp-tests (Files): Likewise.
20025         * modules/inet_ntop-tests (Files): Likewise.
20026         * modules/inet_pton-tests (Files): Likewise.
20027         * modules/isblank-tests (Files): Likewise.
20028         * modules/isfinite-tests (Files): Likewise.
20029         * modules/isinf-tests (Files): Likewise.
20030         * modules/isnan-tests (Files): Likewise.
20031         * modules/isnand-nolibm-tests (Files): Likewise.
20032         * modules/isnand-tests (Files): Likewise.
20033         * modules/isnanf-nolibm-tests (Files): Likewise.
20034         * modules/isnanf-tests (Files): Likewise.
20035         * modules/isnanl-nolibm-tests (Files): Likewise.
20036         * modules/isnanl-tests (Files): Likewise.
20037         * modules/lchown-tests (Files): Likewise.
20038         * modules/ldexpl-tests (Files): Likewise.
20039         * modules/link-tests (Files): Likewise.
20040         * modules/linkat-tests (Files): Likewise.
20041         * modules/linked-list-tests (Files): Likewise.
20042         * modules/linkedhash-list-tests (Files): Likewise.
20043         * modules/localename-tests (Files): Likewise.
20044         * modules/lseek-tests (Files): Likewise.
20045         * modules/lstat-tests (Files): Likewise.
20046         * modules/mbmemcasecmp-tests (Files): Likewise.
20047         * modules/mbmemcasecoll-tests (Files): Likewise.
20048         * modules/mbrtowc-tests (Files): Likewise.
20049         * modules/mbscasecmp-tests (Files): Likewise.
20050         * modules/mbscasestr-tests (Files): Likewise.
20051         * modules/mbschr-tests (Files): Likewise.
20052         * modules/mbscspn-tests (Files): Likewise.
20053         * modules/mbsinit-tests (Files): Likewise.
20054         * modules/mbsncasecmp-tests (Files): Likewise.
20055         * modules/mbsnrtowcs-tests (Files): Likewise.
20056         * modules/mbspbrk-tests (Files): Likewise.
20057         * modules/mbspcasecmp-tests (Files): Likewise.
20058         * modules/mbsrchr-tests (Files): Likewise.
20059         * modules/mbsrtowcs-tests (Files): Likewise.
20060         * modules/mbsspn-tests (Files): Likewise.
20061         * modules/mbsstr-tests (Files): Likewise.
20062         * modules/memchr-tests (Files): Likewise.
20063         * modules/memchr2-tests (Files): Likewise.
20064         * modules/memcmp-tests (Files): Likewise.
20065         * modules/memmem-tests (Files): Likewise.
20066         * modules/memrchr-tests (Files): Likewise.
20067         * modules/mkdir-tests (Files): Likewise.
20068         * modules/mkfifo-tests (Files): Likewise.
20069         * modules/mkfifoat-tests (Files): Likewise.
20070         * modules/mknod-tests (Files): Likewise.
20071         * modules/nanosleep-tests (Files): Likewise.
20072         * modules/nl_langinfo-tests (Files): Likewise.
20073         * modules/obstack-printf-tests (Files): Likewise.
20074         * modules/open-tests (Files): Likewise.
20075         * modules/openat-tests (Files): Likewise.
20076         * modules/pipe-filter-gi-tests (Files): Likewise.
20077         * modules/pipe-filter-ii-tests (Files): Likewise.
20078         * modules/pipe2-tests (Files): Likewise.
20079         * modules/popen-safer-tests (Files): Likewise.
20080         * modules/popen-tests (Files): Likewise.
20081         * modules/posixtm-tests (Files): Likewise.
20082         * modules/pread-tests (Files): Likewise.
20083         * modules/printf-frexp-tests (Files): Likewise.
20084         * modules/printf-frexpl-tests (Files): Likewise.
20085         * modules/printf-posix-tests (Files): Likewise.
20086         * modules/priv-set-tests (Files): Likewise.
20087         * modules/quotearg-tests (Files): Likewise.
20088         * modules/random_r-tests (Files): Likewise.
20089         * modules/rawmemchr-tests (Files): Likewise.
20090         * modules/rbtree-list-tests (Files): Likewise.
20091         * modules/rbtree-oset-tests (Files): Likewise.
20092         * modules/rbtreehash-list-tests (Files): Likewise.
20093         * modules/readlink-tests (Files): Likewise.
20094         * modules/remove-tests (Files): Likewise.
20095         * modules/rename-tests (Files): Likewise.
20096         * modules/renameat-tests (Files): Likewise.
20097         * modules/rmdir-tests (Files): Likewise.
20098         * modules/round-tests (Files): Likewise.
20099         * modules/roundf-tests (Files): Likewise.
20100         * modules/roundl-tests (Files): Likewise.
20101         * modules/safe-alloc-tests (Files): Likewise.
20102         * modules/setenv-tests (Files): Likewise.
20103         * modules/sigaction-tests (Files): Likewise.
20104         * modules/signbit-tests (Files): Likewise.
20105         * modules/sleep-tests (Files): Likewise.
20106         * modules/snprintf-posix-tests (Files): Likewise.
20107         * modules/snprintf-tests (Files): Likewise.
20108         * modules/sprintf-posix-tests (Files): Likewise.
20109         * modules/stat-tests (Files): Likewise.
20110         * modules/stat-time-tests (Files): Likewise.
20111         * modules/strcasestr-tests (Files): Likewise.
20112         * modules/strchrnul-tests (Files): Likewise.
20113         * modules/strerror-tests (Files): Likewise.
20114         * modules/striconv-tests (Files): Likewise.
20115         * modules/striconveh-tests (Files): Likewise.
20116         * modules/striconveha-tests (Files): Likewise.
20117         * modules/strsignal-tests (Files): Likewise.
20118         * modules/strstr-tests (Files): Likewise.
20119         * modules/strtod-tests (Files): Likewise.
20120         * modules/strverscmp-tests (Files): Likewise.
20121         * modules/symlink-tests (Files): Likewise.
20122         * modules/symlinkat-tests (Files): Likewise.
20123         * modules/trunc-tests (Files): Likewise.
20124         * modules/truncf-tests (Files): Likewise.
20125         * modules/truncl-tests (Files): Likewise.
20126         * modules/uname-tests (Files): Likewise.
20127         * modules/unicase/cased-tests (Files): Likewise.
20128         * modules/unicase/ignorable-tests (Files): Likewise.
20129         * modules/unicase/locale-language-tests (Files): Likewise.
20130         * modules/unicase/tolower-tests (Files): Likewise.
20131         * modules/unicase/totitle-tests (Files): Likewise.
20132         * modules/unicase/toupper-tests (Files): Likewise.
20133         * modules/unicase/u8-casecmp-tests (Files): Likewise.
20134         * modules/unicase/u8-casecoll-tests (Files): Likewise.
20135         * modules/unicase/u8-casefold-tests (Files): Likewise.
20136         * modules/unicase/u8-is-cased-tests (Files): Likewise.
20137         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
20138         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
20139         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
20140         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
20141         * modules/unicase/u8-tolower-tests (Files): Likewise.
20142         * modules/unicase/u8-totitle-tests (Files): Likewise.
20143         * modules/unicase/u8-toupper-tests (Files): Likewise.
20144         * modules/unicase/u16-casecmp-tests (Files): Likewise.
20145         * modules/unicase/u16-casecoll-tests (Files): Likewise.
20146         * modules/unicase/u16-casefold-tests (Files): Likewise.
20147         * modules/unicase/u16-is-cased-tests (Files): Likewise.
20148         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
20149         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
20150         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
20151         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
20152         * modules/unicase/u16-tolower-tests (Files): Likewise.
20153         * modules/unicase/u16-totitle-tests (Files): Likewise.
20154         * modules/unicase/u16-toupper-tests (Files): Likewise.
20155         * modules/unicase/u32-casecmp-tests (Files): Likewise.
20156         * modules/unicase/u32-casecoll-tests (Files): Likewise.
20157         * modules/unicase/u32-casefold-tests (Files): Likewise.
20158         * modules/unicase/u32-is-cased-tests (Files): Likewise.
20159         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
20160         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
20161         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
20162         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
20163         * modules/unicase/u32-tolower-tests (Files): Likewise.
20164         * modules/unicase/u32-totitle-tests (Files): Likewise.
20165         * modules/unicase/u32-toupper-tests (Files): Likewise.
20166         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
20167         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
20168         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
20169         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
20170         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
20171         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
20172         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
20173         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
20174         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
20175         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
20176         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
20177         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
20178         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
20179         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
20180         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
20181         * modules/unictype/bidicategory-name-tests (Files): Likewise.
20182         * modules/unictype/bidicategory-of-tests (Files): Likewise.
20183         * modules/unictype/bidicategory-test-tests (Files): Likewise.
20184         * modules/unictype/block-list-tests (Files): Likewise.
20185         * modules/unictype/block-of-tests (Files): Likewise.
20186         * modules/unictype/block-test-tests (Files): Likewise.
20187         * modules/unictype/category-C-tests (Files): Likewise.
20188         * modules/unictype/category-Cc-tests (Files): Likewise.
20189         * modules/unictype/category-Cf-tests (Files): Likewise.
20190         * modules/unictype/category-Cn-tests (Files): Likewise.
20191         * modules/unictype/category-Co-tests (Files): Likewise.
20192         * modules/unictype/category-Cs-tests (Files): Likewise.
20193         * modules/unictype/category-L-tests (Files): Likewise.
20194         * modules/unictype/category-Ll-tests (Files): Likewise.
20195         * modules/unictype/category-Lm-tests (Files): Likewise.
20196         * modules/unictype/category-Lo-tests (Files): Likewise.
20197         * modules/unictype/category-Lt-tests (Files): Likewise.
20198         * modules/unictype/category-Lu-tests (Files): Likewise.
20199         * modules/unictype/category-M-tests (Files): Likewise.
20200         * modules/unictype/category-Mc-tests (Files): Likewise.
20201         * modules/unictype/category-Me-tests (Files): Likewise.
20202         * modules/unictype/category-Mn-tests (Files): Likewise.
20203         * modules/unictype/category-N-tests (Files): Likewise.
20204         * modules/unictype/category-Nd-tests (Files): Likewise.
20205         * modules/unictype/category-Nl-tests (Files): Likewise.
20206         * modules/unictype/category-No-tests (Files): Likewise.
20207         * modules/unictype/category-P-tests (Files): Likewise.
20208         * modules/unictype/category-Pc-tests (Files): Likewise.
20209         * modules/unictype/category-Pd-tests (Files): Likewise.
20210         * modules/unictype/category-Pe-tests (Files): Likewise.
20211         * modules/unictype/category-Pf-tests (Files): Likewise.
20212         * modules/unictype/category-Pi-tests (Files): Likewise.
20213         * modules/unictype/category-Po-tests (Files): Likewise.
20214         * modules/unictype/category-Ps-tests (Files): Likewise.
20215         * modules/unictype/category-S-tests (Files): Likewise.
20216         * modules/unictype/category-Sc-tests (Files): Likewise.
20217         * modules/unictype/category-Sk-tests (Files): Likewise.
20218         * modules/unictype/category-Sm-tests (Files): Likewise.
20219         * modules/unictype/category-So-tests (Files): Likewise.
20220         * modules/unictype/category-Z-tests (Files): Likewise.
20221         * modules/unictype/category-Zl-tests (Files): Likewise.
20222         * modules/unictype/category-Zp-tests (Files): Likewise.
20223         * modules/unictype/category-Zs-tests (Files): Likewise.
20224         * modules/unictype/category-and-not-tests (Files): Likewise.
20225         * modules/unictype/category-and-tests (Files): Likewise.
20226         * modules/unictype/category-byname-tests (Files): Likewise.
20227         * modules/unictype/category-name-tests (Files): Likewise.
20228         * modules/unictype/category-none-tests (Files): Likewise.
20229         * modules/unictype/category-of-tests (Files): Likewise.
20230         * modules/unictype/category-or-tests (Files): Likewise.
20231         * modules/unictype/category-test-withtable-tests (Files): Likewise.
20232         * modules/unictype/combining-class-tests (Files): Likewise.
20233         * modules/unictype/ctype-alnum-tests (Files): Likewise.
20234         * modules/unictype/ctype-alpha-tests (Files): Likewise.
20235         * modules/unictype/ctype-blank-tests (Files): Likewise.
20236         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
20237         * modules/unictype/ctype-digit-tests (Files): Likewise.
20238         * modules/unictype/ctype-graph-tests (Files): Likewise.
20239         * modules/unictype/ctype-lower-tests (Files): Likewise.
20240         * modules/unictype/ctype-print-tests (Files): Likewise.
20241         * modules/unictype/ctype-punct-tests (Files): Likewise.
20242         * modules/unictype/ctype-space-tests (Files): Likewise.
20243         * modules/unictype/ctype-upper-tests (Files): Likewise.
20244         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
20245         * modules/unictype/decimal-digit-tests (Files): Likewise.
20246         * modules/unictype/digit-tests (Files): Likewise.
20247         * modules/unictype/mirror-tests (Files): Likewise.
20248         * modules/unictype/numeric-tests (Files): Likewise.
20249         * modules/unictype/property-alphabetic-tests (Files): Likewise.
20250         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
20251         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
20252         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
20253         Likewise.
20254         * modules/unictype/property-bidi-block-separator-tests (Files):
20255         Likewise.
20256         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
20257         Likewise.
20258         * modules/unictype/property-bidi-common-separator-tests (Files):
20259         Likewise.
20260         * modules/unictype/property-bidi-control-tests (Files): Likewise.
20261         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
20262         Likewise.
20263         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
20264         Likewise.
20265         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
20266         Likewise.
20267         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
20268         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
20269         Likewise.
20270         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
20271         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
20272         Likewise.
20273         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
20274         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
20275         * modules/unictype/property-bidi-segment-separator-tests (Files):
20276         Likewise.
20277         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
20278         * modules/unictype/property-byname-tests (Files): Likewise.
20279         * modules/unictype/property-combining-tests (Files): Likewise.
20280         * modules/unictype/property-composite-tests (Files): Likewise.
20281         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
20282         * modules/unictype/property-dash-tests (Files): Likewise.
20283         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
20284         * modules/unictype/property-default-ignorable-code-point-tests (Files):
20285         Likewise.
20286         * modules/unictype/property-deprecated-tests (Files): Likewise.
20287         * modules/unictype/property-diacritic-tests (Files): Likewise.
20288         * modules/unictype/property-extender-tests (Files): Likewise.
20289         * modules/unictype/property-format-control-tests (Files): Likewise.
20290         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
20291         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
20292         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
20293         * modules/unictype/property-hex-digit-tests (Files): Likewise.
20294         * modules/unictype/property-hyphen-tests (Files): Likewise.
20295         * modules/unictype/property-id-continue-tests (Files): Likewise.
20296         * modules/unictype/property-id-start-tests (Files): Likewise.
20297         * modules/unictype/property-ideographic-tests (Files): Likewise.
20298         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
20299         * modules/unictype/property-ids-trinary-operator-tests (Files):
20300         Likewise.
20301         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
20302         * modules/unictype/property-iso-control-tests (Files): Likewise.
20303         * modules/unictype/property-join-control-tests (Files): Likewise.
20304         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
20305         * modules/unictype/property-line-separator-tests (Files): Likewise.
20306         * modules/unictype/property-logical-order-exception-tests (Files):
20307         Likewise.
20308         * modules/unictype/property-lowercase-tests (Files): Likewise.
20309         * modules/unictype/property-math-tests (Files): Likewise.
20310         * modules/unictype/property-non-break-tests (Files): Likewise.
20311         * modules/unictype/property-not-a-character-tests (Files): Likewise.
20312         * modules/unictype/property-numeric-tests (Files): Likewise.
20313         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
20314         * modules/unictype/property-other-default-ignorable-code-point-tests
20315         (Files): Likewise.
20316         * modules/unictype/property-other-grapheme-extend-tests (Files):
20317         Likewise.
20318         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
20319         * modules/unictype/property-other-id-start-tests (Files): Likewise.
20320         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
20321         * modules/unictype/property-other-math-tests (Files): Likewise.
20322         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
20323         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
20324         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
20325         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
20326         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
20327         * modules/unictype/property-private-use-tests (Files): Likewise.
20328         * modules/unictype/property-punctuation-tests (Files): Likewise.
20329         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
20330         * modules/unictype/property-radical-tests (Files): Likewise.
20331         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
20332         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
20333         * modules/unictype/property-space-tests (Files): Likewise.
20334         * modules/unictype/property-terminal-punctuation-tests (Files):
20335         Likewise.
20336         * modules/unictype/property-test-tests (Files): Likewise.
20337         * modules/unictype/property-titlecase-tests (Files): Likewise.
20338         * modules/unictype/property-unassigned-code-value-tests (Files):
20339         Likewise.
20340         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
20341         * modules/unictype/property-uppercase-tests (Files): Likewise.
20342         * modules/unictype/property-variation-selector-tests (Files): Likewise.
20343         * modules/unictype/property-white-space-tests (Files): Likewise.
20344         * modules/unictype/property-xid-continue-tests (Files): Likewise.
20345         * modules/unictype/property-xid-start-tests (Files): Likewise.
20346         * modules/unictype/property-zero-width-tests (Files): Likewise.
20347         * modules/unictype/scripts-tests (Files): Likewise.
20348         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
20349         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
20350         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
20351         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
20352         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
20353         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
20354         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
20355         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
20356         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
20357         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
20358         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
20359         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
20360         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
20361         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
20362         * modules/uninorm/composition-tests (Files): Likewise.
20363         * modules/uninorm/decomposing-form-tests (Files): Likewise.
20364         * modules/uninorm/decomposition-tests (Files): Likewise.
20365         * modules/uninorm/filter-tests (Files): Likewise.
20366         * modules/uninorm/nfc-tests (Files): Likewise.
20367         * modules/uninorm/nfd-tests (Files): Likewise.
20368         * modules/uninorm/nfkc-tests (Files): Likewise.
20369         * modules/uninorm/nfkd-tests (Files): Likewise.
20370         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
20371         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
20372         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
20373         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
20374         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
20375         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
20376         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
20377         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
20378         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
20379         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
20380         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
20381         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
20382         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
20383         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
20384         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
20385         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
20386         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
20387         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
20388         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
20389         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
20390         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
20391         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
20392         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
20393         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
20394         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
20395         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
20396         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
20397         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
20398         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
20399         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
20400         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
20401         * modules/uniwidth/u8-width-tests (Files): Likewise.
20402         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
20403         * modules/uniwidth/u16-width-tests (Files): Likewise.
20404         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
20405         * modules/uniwidth/u32-width-tests (Files): Likewise.
20406         * modules/uniwidth/width-tests (Files): Likewise.
20407         * modules/unlink-tests (Files): Likewise.
20408         * modules/unsetenv-tests (Files): Likewise.
20409         * modules/usleep-tests (Files): Likewise.
20410         * modules/utimens-tests (Files): Likewise.
20411         * modules/utimensat-tests (Files): Likewise.
20412         * modules/vasnprintf-posix-tests (Files): Likewise.
20413         * modules/vasnprintf-tests (Files): Likewise.
20414         * modules/vasprintf-posix-tests (Files): Likewise.
20415         * modules/vasprintf-tests (Files): Likewise.
20416         * modules/vdprintf-posix-tests (Files): Likewise.
20417         * modules/vfprintf-posix-tests (Files): Likewise.
20418         * modules/vprintf-posix-tests (Files): Likewise.
20419         * modules/vsnprintf-posix-tests (Files): Likewise.
20420         * modules/vsnprintf-tests (Files): Likewise.
20421         * modules/vsprintf-posix-tests (Files): Likewise.
20422         * modules/wcrtomb-tests (Files): Likewise.
20423         * modules/wcsnrtombs-tests (Files): Likewise.
20424         * modules/wcsrtombs-tests (Files): Likewise.
20425         * modules/wctype-tests (Files): Likewise.
20426         * modules/wcwidth-tests (Files): Likewise.
20427         * modules/xmemdup0-tests (Files): Likewise.
20428         * modules/xprintf-posix-tests (Files): Likewise.
20429         * modules/xvasprintf-tests (Files): Likewise.
20430
20431 2009-12-24  Eric Blake  <ebb9@byu.net>
20432
20433         test-nanosleep: fix typo
20434         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
20435         patch.
20436         Reported by Bruno Haible.
20437
20438 2009-12-24  Bruno Haible  <bruno@clisp.org>
20439
20440         Reduce namespace pollution on glibc systems.
20441         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
20442         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
20443         systems.
20444         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
20445         <getopt.h> on glibc systems.
20446         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
20447         systems.
20448         * lib/fcntl.c: Include <unistd.h> here instead.
20449
20450 2009-12-24  Bruno Haible  <bruno@clisp.org>
20451
20452         * lib/stdlib.in.h (includes): Fix typo in today's commit.
20453
20454 2009-12-24  Eric Blake  <ebb9@byu.net>
20455
20456         tests: add signature checks
20457         * tests/signature.h (SIGNATURE_CHECK): New file.
20458         * modules/atexit-tests (Files): Use it.
20459         * modules/btowc-tests (Files): Likewise.
20460         * modules/canonicalize-lgpl-tests (Files): Likewise.
20461         * modules/ceilf-tests (Files): Likewise.
20462         * modules/ceill-tests (Files): Likewise.
20463         * modules/chown-tests (Files): Likewise.
20464         * modules/dprintf-posix-tests (Files): Likewise.
20465         * modules/dup2-tests (Files): Likewise.
20466         * modules/dup3-tests (Files): Likewise.
20467         * modules/duplocale-tests (Files): Likewise.
20468         * modules/fchdir-tests (Files): Likewise.
20469         * modules/fcntl-tests (Files): Likewise.
20470         * modules/fdopendir-tests (Files): Likewise.
20471         * modules/fflush-tests (Files): Likewise.
20472         * modules/flock-tests (Files): Likewise.
20473         * modules/floorf-tests (Files): Likewise.
20474         * modules/floorl-tests (Files): Likewise.
20475         * modules/fnmatch-tests (Files): Likewise.
20476         * modules/fopen-tests (Files): Likewise.
20477         * modules/fprintf-posix-tests (Files): Likewise.
20478         * modules/freopen-tests (Files): Likewise.
20479         * modules/frexp-nolibm-tests (Files): Likewise.
20480         * modules/frexp-tests (Files): Likewise.
20481         * modules/frexpl-nolibm-tests (Files): Likewise.
20482         * modules/frexpl-tests (Files): Likewise.
20483         * modules/fseek-tests (Files): Likewise.
20484         * modules/fseeko-tests (Files): Likewise.
20485         * modules/fsync-tests (Files): Likewise.
20486         * modules/ftell-tests (Files): Likewise.
20487         * modules/ftello-tests (Files): Likewise.
20488         * modules/futimens-tests (Files): Likewise.
20489         * modules/getaddrinfo-tests (Files): Likewise.
20490         * modules/getcwd-tests (Files): Likewise.
20491         * modules/getdelim-tests (Files): Likewise.
20492         * modules/getdtablesize-tests (Files): Likewise.
20493         * modules/getgroups-tests (Files): Likewise.
20494         * modules/gethostname-tests (Files): Likewise.
20495         * modules/getline-tests (Files): Likewise.
20496         * modules/getopt-posix-tests (Files): Likewise.
20497         * modules/gettimeofday-tests (Files): Likewise.
20498         * modules/glob-tests (Files): Likewise.
20499         * modules/iconv-tests (Files): Likewise.
20500         * modules/inet_ntop-tests (Files): Likewise.
20501         * modules/inet_pton-tests (Files): Likewise.
20502         * modules/isblank-tests (Files): Likewise.
20503         * modules/lchown-tests (Files): Likewise.
20504         * modules/ldexpl-tests (Files): Likewise.
20505         * modules/link-tests (Files): Likewise.
20506         * modules/linkat-tests (Files): Likewise.
20507         * modules/lseek-tests (Files): Likewise.
20508         * modules/lstat-tests (Files): Likewise.
20509         * modules/mbrtowc-tests (Files): Likewise.
20510         * modules/mbsinit-tests (Files): Likewise.
20511         * modules/mbsnrtowcs-tests (Files): Likewise.
20512         * modules/mbsrtowcs-tests (Files): Likewise.
20513         * modules/memchr-tests (Files): Likewise.
20514         * modules/memcmp-tests (Files): Likewise.
20515         * modules/memmem-tests (Files): Likewise.
20516         * modules/memrchr-tests (Files): Likewise.
20517         * modules/mkdir-tests (Files): Likewise.
20518         * modules/mkfifo-tests (Files): Likewise.
20519         * modules/mkfifoat-tests (Files): Likewise.
20520         * modules/mknod-tests (Files): Likewise.
20521         * modules/nanosleep-tests (Files): Likewise.
20522         * modules/nl_langinfo-tests (Files): Likewise.
20523         * modules/obstack-printf-tests (Files): Likewise.
20524         * modules/open-tests (Files): Likewise.
20525         * modules/openat-tests (Files): Likewise.
20526         * modules/perror-tests (Files): Likewise.
20527         * modules/pipe2-tests (Files): Likewise.
20528         * modules/poll-tests (Files): Likewise.
20529         * modules/popen-tests (Files): Likewise.
20530         * modules/posix_spawn-tests (Files): Likewise.
20531         * modules/posix_spawnp-tests (Files): Likewise.
20532         * modules/pread-tests (Files): Likewise.
20533         * modules/printf-posix-tests (Files): Likewise.
20534         * modules/pty-tests (Files): Likewise.
20535         * modules/random_r-tests (Files): Likewise.
20536         * modules/rawmemchr-tests (Files): Likewise.
20537         * modules/readlink-tests (Files): Likewise.
20538         * modules/remove-tests (Files): Likewise.
20539         * modules/rename-tests (Files): Likewise.
20540         * modules/renameat-tests (Files): Likewise.
20541         * modules/rmdir-tests (Files): Likewise.
20542         * modules/round-tests (Files): Likewise.
20543         * modules/roundf-tests (Files): Likewise.
20544         * modules/roundl-tests (Files): Likewise.
20545         * modules/select-tests (Files): Likewise.
20546         * modules/setenv-tests (Files): Likewise.
20547         * modules/sigaction-tests (Files): Likewise.
20548         * modules/sleep-tests (Files): Likewise.
20549         * modules/snprintf-posix-tests (Files): Likewise.
20550         * modules/snprintf-tests (Files): Likewise.
20551         * modules/sprintf-posix-tests (Files): Likewise.
20552         * modules/stat-tests (Files): Likewise.
20553         * modules/strcasestr-tests (Files): Likewise.
20554         * modules/strchrnul-tests (Files): Likewise.
20555         * modules/strerror-tests (Files): Likewise.
20556         * modules/strsignal-tests (Files): Likewise.
20557         * modules/strstr-tests (Files): Likewise.
20558         * modules/strtod-tests (Files): Likewise.
20559         * modules/strverscmp-tests (Files): Likewise.
20560         * modules/symlink-tests (Files): Likewise.
20561         * modules/symlinkat-tests (Files): Likewise.
20562         * modules/times-tests (Files): Likewise.
20563         * modules/trunc-tests (Files): Likewise.
20564         * modules/truncf-tests (Files): Likewise.
20565         * modules/truncl-tests (Files): Likewise.
20566         * modules/tsearch-tests (Files): Likewise.
20567         * modules/uname-tests (Files): Likewise.
20568         * modules/unlink-tests (Files): Likewise.
20569         * modules/unsetenv-tests (Files): Likewise.
20570         * modules/usleep-tests (Files): Likewise.
20571         * modules/utimensat-tests (Files): Likewise.
20572         * modules/vasprintf-tests (Files): Likewise.
20573         * modules/vdprintf-posix-tests (Files): Likewise.
20574         * modules/vfprintf-posix-tests (Files): Likewise.
20575         * modules/vprintf-posix-tests (Files): Likewise.
20576         * modules/vsnprintf-posix-tests (Files): Likewise.
20577         * modules/vsnprintf-tests (Files): Likewise.
20578         * modules/vsprintf-posix-tests (Files): Likewise.
20579         * modules/wcrtomb-tests (Files): Likewise.
20580         * modules/wcsnrtombs-tests (Files): Likewise.
20581         * modules/wcsrtombs-tests (Files): Likewise.
20582         * modules/wcwidth-tests (Files): Likewise.
20583         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
20584         * tests/test-isinf.c (isinf): Likewise.
20585         * tests/test-isnan.c (isnan): Likewise.
20586         * tests/test-signbit.c (signbit): Likewise.
20587         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
20588         declaration, either as macro or with correct signature.
20589         (select): Ensure function under test is declared with correct
20590         signature in correct header.
20591         * tests/test-atexit.c (atexit): Likewise.
20592         * tests/test-btowc.c (btowc): Likewise.
20593         * tests/test-canonicalize-lgpl.c (realpath)
20594         (canonicalize_file_name): Likewise.
20595         * tests/test-ceilf1.c (ceilf): Likewise.
20596         * tests/test-ceill.c (ceill): Likewise.
20597         * tests/test-chown.c (chown): Likewise.
20598         * tests/test-dprintf-posix.c (dprintf): Likewise.
20599         * tests/test-dup2.c (dup2): Likewise.
20600         * tests/test-dup3.c (dup3): Likewise.
20601         * tests/test-duplocale.c (duplocale): Likewise.
20602         * tests/test-fchdir.c (fchdir): Likewise.
20603         * tests/test-fchownat.c (fchownat): Likewise.
20604         * tests/test-fcntl.c (fcntl): Likewise.
20605         * tests/test-fdopendir.c (fdopendir): Likewise.
20606         * tests/test-fflush.c (fflush): Likewise.
20607         * tests/test-flock.c (flock): Likewise.
20608         * tests/test-floorf1.c (floorf): Likewise.
20609         * tests/test-floorl.c (floorl): Likewise.
20610         * tests/test-fnmatch.c (fnmatch): Likewise.
20611         * tests/test-fopen.c (fopen): Likewise.
20612         * tests/test-fprintf-posix.c (fprintf): Likewise.
20613         * tests/test-freopen.c (freopen): Likewise.
20614         * tests/test-frexp.c (frexp): Likewise.
20615         * tests/test-frexpl.c (frexpl): Likewise.
20616         * tests/test-fseek.c (fseek): Likewise.
20617         * tests/test-fseeko.c (fseeko): Likewise.
20618         * tests/test-fstatat.c (fstatat): Likewise.
20619         * tests/test-fsync.c (fsync): Likewise.
20620         * tests/test-ftell.c (ftell): Likewise.
20621         * tests/test-ftello.c (ftello): Likewise.
20622         * tests/test-futimens.c (futimens): Likewise.
20623         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
20624         (gai_strerror): Likewise.
20625         * tests/test-getcwd.c (getcwd): Likewise.
20626         * tests/test-getdelim.c (getdelim): Likewise.
20627         * tests/test-getdtablesize.c (getdtablesize): Likewise.
20628         * tests/test-getgroups.c (getgroups): Likewise.
20629         * tests/test-gethostname.c (gethostname): Likewise.
20630         * tests/test-getline.c (getline): Likewise.
20631         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
20632         Likewise.
20633         * tests/test-gettimeofday.c (gettimeofday): Likewise.
20634         * tests/test-glob.c (glob, globfree): Likewise.
20635         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
20636         * tests/test-inet_ntop.c (inet_ntop): Likewise.
20637         * tests/test-inet_pton.c (inet_pton): Likewise.
20638         * tests/test-isblank.c (isblank): Likewise.
20639         * tests/test-lchown.c (lchown): Likewise.
20640         * tests/test-ldexpl.c (ldexpl): Likewise.
20641         * tests/test-link.c (link): Likewise.
20642         * tests/test-linkat.c (linkat): Likewise.
20643         * tests/test-lseek.c (lseek): Likewise.
20644         * tests/test-lstat.c (lstat): Likewise.
20645         * tests/test-mbrtowc.c (mbrtowc): Likewise.
20646         * tests/test-mbsinit.c (mbsinit): Likewise.
20647         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
20648         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
20649         * tests/test-memchr.c (memchr): Likewise.
20650         * tests/test-memcmp.c (memcmp): Likewise.
20651         * tests/test-memmem.c (memmem): Likewise.
20652         * tests/test-memrchr.c (memrchr): Likewise.
20653         * tests/test-mkdir.c (mkdir): Likewise.
20654         * tests/test-mkdirat.c (mkdirat): Likewise.
20655         * tests/test-mkfifo.c (mkfifo): Likewise.
20656         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
20657         * tests/test-mknod.c (mknod): Likewise.
20658         * tests/test-nanosleep.c (nanosleep): Likewise.
20659         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
20660         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
20661         Likewise.
20662         * tests/test-open.c (open): Likewise.
20663         * tests/test-openat.c (openat): Likewise.
20664         * tests/test-perror.c (perror): Likewise.
20665         * tests/test-pipe2.c (pipe2): Likewise.
20666         * tests/test-poll.c (poll): Likewise.
20667         * tests/test-popen.c (popen, pclose): Likewise.
20668         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
20669         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
20670         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
20671         (posix_spawn_file_actions_destroy)
20672         (posix_spawn_file_actions_addclose)
20673         (posix_spawn_file_actions_addopen)
20674         (posix_spawn_file_actions_adddup2): Likewise.
20675         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
20676         * tests/test-pread.c (pread): Likewise.
20677         * tests/test-printf-posix.c (printf): Likewise.
20678         * tests/test-pty.c (openpty, forkpty): Likewise.
20679         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
20680         (random_r): Likewise.
20681         * tests/test-rawmemchr.c (rawmemchr): Likewise.
20682         * tests/test-readlink.c (readlink): Likewise.
20683         * tests/test-remove.c (remove): Likewise.
20684         * tests/test-rename.c (rename): Likewise.
20685         * tests/test-renameat.c (renameat): Likewise.
20686         * tests/test-rmdir.c (rmdir): Likewise.
20687         * tests/test-round1.c (round): Likewise.
20688         * tests/test-roundf1.c (roundf): Likewise.
20689         * tests/test-roundl.c (roundl): Likewise.
20690         * tests/test-setenv.c (setenv): Likewise.
20691         * tests/test-sigaction.c (sigaction): Likewise.
20692         * tests/test-sleep.c (sleep): Likewise.
20693         * tests/test-snprintf.c (snprintf): Likewise.
20694         * tests/test-sprintf-posix.c (sprintf): Likewise.
20695         * tests/test-stat.c (stat): Likewise.
20696         * tests/test-stpncpy.c (stpncpy): Likewise.
20697         * tests/test-strcasestr.c (strcasestr): Likewise.
20698         * tests/test-strchrnul.c (strchrnul): Likewise.
20699         * tests/test-strerror.c (strerror): Likewise.
20700         * tests/test-strsignal.c (strsignal): Likewise.
20701         * tests/test-strstr.c (strstr): Likewise.
20702         * tests/test-strtod.c (strtod): Likewise.
20703         * tests/test-strverscmp.c (strverscmp): Likewise.
20704         * tests/test-symlink.c (symlink): Likewise.
20705         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
20706         * tests/test-times.c (times): Likewise.
20707         * tests/test-trunc1.c (trunc): Likewise.
20708         * tests/test-truncf1.c (truncf): Likewise.
20709         * tests/test-truncl.c (truncl): Likewise.
20710         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
20711         Likewise.
20712         * tests/test-uname.c (uname): Likewise.
20713         * tests/test-unlink.c (unlink): Likewise.
20714         * tests/test-unlinkat.c (unlinkat): Likewise.
20715         * tests/test-unsetenv.c (unsetenv): Likewise.
20716         * tests/test-usleep.c (usleep): Likewise.
20717         * tests/test-utimensat.c (utimensat): Likewise.
20718         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
20719         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
20720         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
20721         * tests/test-vprintf-posix.c (vprintf): Likewise.
20722         * tests/test-vsnprintf.c (vsnprintf): Likewise.
20723         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
20724         * tests/test-wcrtomb.c (wcrtomb): Likewise.
20725         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
20726         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
20727         * tests/test-wcwidth.c (wcwidth): Likewise.
20728
20729         build: pull in conditional headers during GNULIB_POSIXCHECK
20730         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
20731         definitions from any conditionally-included headers.
20732         * lib/stdlib.in.h (includes): Likewise.
20733         * lib/unistd.in.h (includes): Likewise.
20734
20735 2009-12-24  Bruno Haible  <bruno@clisp.org>
20736
20737         * tests/test-argv-iter.c: Include header file being tested immediately
20738         after config.h.
20739         * tests/test-base64.c: Likewise.
20740         * tests/test-flock.c: Likewise.
20741         * tests/test-fsync.c: Likewise.
20742         * tests/test-getdate.c: Likewise.
20743         * tests/test-getndelim2.c: Likewise.
20744         * tests/test-isfinite.c: Likewise.
20745         * tests/test-isinf.c: Likewise.
20746         * tests/test-strerror.c: Likewise.
20747         * tests/test-strsignal.c: Likewise.
20748
20749 2009-12-23  Eric Blake  <ebb9@byu.net>
20750
20751         unistd: work around cygwin bug
20752         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
20753         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
20754         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
20755
20756 2009-12-23  Bruno Haible  <bruno@clisp.org>
20757
20758         localename: More tests.
20759         * tests/test-localename.c (SIZEOF): New macro.
20760         (categories): New variable.
20761         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
20762         test_locale_name_default): Add test w.r.t. thread locale.
20763         (test_locale_name_thread): New function.
20764         (main): Invoke it.
20765
20766         localename: Make aware of thread locale.
20767         * lib/localename.h (gl_locale_name_thread): New declaration.
20768         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
20769         behaviour with respect to thread locale.
20770         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
20771         <langinfo.h>, glthread/lock.h.
20772         (SIZE_BITS): New macro.
20773         (string_hash): New function.
20774         (struct hash_node): New type.
20775         (HASH_TABLE_SIZE): New macro.
20776         (struniq_hash_table, struniq_lock): New variables.
20777         (struniq): New function.
20778         (gl_locale_name_thread): New function.
20779         (gl_locale_name): Invoke it.
20780         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
20781         * modules/localename (Depends-on): Add lock.
20782         Reported by Mike Gran <spk121@yahoo.com>.
20783
20784 2009-12-23  Eric Blake  <ebb9@byu.net>
20785
20786         va-args: new module
20787         * modules/va-args: New file.
20788         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
20789         * MODULES.html.sh (Core language properties): Mention it.
20790
20791         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
20792         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
20793         named alias for __attribute__((__unused__)).
20794         * lib/chown.c: Update client.
20795         * lib/fchmodat.c: Likewise.
20796         * lib/fts.c: Likewise.
20797         * lib/getdate.y: Likewise.
20798         * lib/getgroups.c: Likewise.
20799         * lib/getopt.c: Likewise.
20800         * lib/getugroups.c: Likewise.
20801         * lib/mkdir.c: Likewise.
20802         * lib/mkfifo.c: Likewise.
20803         * lib/mkfifoat.c: Likewise.
20804         * lib/mknod.c: Likewise.
20805         * lib/mknodat.c: Likewise.
20806         * lib/readlink.c: Likewise.
20807         * lib/se-context.in.h: Likewise.
20808         * lib/se-selinux.in.h: Likewise.
20809         * lib/sockets.c: Likewise.
20810         * lib/symlink.c: Likewise.
20811         * lib/symlinkat.c: Likewise.
20812         * lib/unicodeio.c: Likewise.
20813         * lib/unistr.h: Likewise.
20814         * tests/test-areadlink.c: Likewise.
20815         * tests/test-areadlinkat.c: Likewise.
20816         * tests/test-filenamecat.c: Likewise.
20817         * tests/test-fseeko.c: Likewise.
20818         * tests/test-ftello.c: Likewise.
20819         * tests/test-getdate.c: Likewise.
20820         * tests/test-getgroups.c: Likewise.
20821         * tests/test-gethostname.c: Likewise.
20822         * tests/test-quotearg.c: Likewise.
20823         * tests/test-version-etc.c: Likewise.
20824         * tests/test-xalloc-die.c: Likewise.
20825         * tests/test-xfprintf-posix.c: Likewise.
20826         * tests/test-xprintf-posix.c: Likewise.
20827         * tests/test-xvasprintf.c: Likewise.
20828
20829         tests: avoid compiler warnings
20830         * tests/test-fcntl.c (main): Delete unused parameters.
20831         * tests/test-freopen-safer.c (main): Likewise.
20832         * tests/test-xalloc-die.c (main): Mark unused parameters.
20833         * tests/test-fseeko.c (main): Likewise.
20834         * tests/test-ftello.c (main): Likewise.
20835         * tests/test-nanosleep.c (main): Avoid declaration warning.
20836         * tests/test-sleep.c (main): Likewise.
20837         * tests/test-unsetenv.c (main): Silence warning about string
20838         literal.
20839         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20840
20841 2009-12-23  Bruno Haible  <bruno@clisp.org>
20842
20843         * tests/test-localename.c (test_locale_name): New function, extracted
20844         from main. Also test mixed situations.
20845         (test_locale_name_posix, test_locale_name_environ,
20846         test_locale_name_default): New functions.
20847         (main): Invoke them all.
20848         * modules/localename-tests (configure.ac): Test for newlocale.
20849
20850 2009-12-23  Bruno Haible  <bruno@clisp.org>
20851
20852         unistd: Ensure getcwd gets declared before being overridden.
20853         * lib/unistd.in.h: Conditionally include <io.h>.
20854
20855 2009-12-22  Bruno Haible  <bruno@clisp.org>
20856
20857         wchar: Diagnose broken combination of glibc and gcc versions and flags.
20858         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
20859         (gl_WCHAR_H): Invoke it.
20860         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
20861         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
20862         Reported by Karl Berry <karl@freefriends.org>.
20863
20864 2009-12-22  Eric Blake  <ebb9@byu.net>
20865
20866         math, unistd: avoid redundant includes
20867         * lib/math.in.h (isnan): No need to re-include <math.h>.
20868         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
20869
20870         getsubopt: work around cygwin bug
20871         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
20872         avoid conflicting with system getsubopt.
20873         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
20874         bug.
20875
20876         getopt: synchronize from glibc
20877         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
20878         parameter order.  Adjust all callers.
20879         (_getopt_internal_r, main): Adjust quoting in error messages.
20880         Drop considerations for outdated POSIX 1003.2 error message.
20881         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
20882         callers.
20883         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
20884
20885         test-getopt: test stderr behavior
20886         * modules/getopt-posix-tests (Depends-on): Add dup2.
20887         * tests/test-getopt.c (ASSERT): Avoid stderr.
20888         (main): Move stderr to a temporary file.
20889         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
20890         Instead, add parameter to inform caller if output occurred.
20891         (test_getopt): Adjust all existing tests to expect silence, and
20892         add new tests of leading ":".
20893         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20894         glibc shortcomings with leading "-:" or "+:" in optstring.
20895         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20896         Likewise.
20897         * doc/posix-functions/getopt.texi (getopt): Likewise.
20898
20899         test-getopt: enhance test
20900         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
20901         supports optind=0.
20902         * tests/test-getopt.c (OPTIND_MIN): Move...
20903         * tests/test-getopt.h (OPTIND_MIN): ...here.
20904         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
20905         Require that optind=0 works, since modern BSD supports it in
20906         addition to optreset, and since coreutils expects it.
20907         (test_getopt_long_only): New test.
20908         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20909         glibc shortcomings with 'W;', and enforcement of optind=0.
20910         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20911         Likewise.
20912
20913 2009-12-21  Bruno Haible  <bruno@clisp.org>
20914
20915         localename: Improvements for MacOS X and Cygwin.
20916         * lib/localename.h (gl_locale_name_environ): New declaration.
20917         * lib/localename.c (gl_locale_name_environ): New function, extracted from
20918         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
20919         (gl_locale_name_posix): Invoke it.
20920         (gl_locale_name_default): Add comments. Use Windows native API also on
20921         Cygwin.
20922
20923 2009-12-21  Bruno Haible  <bruno@clisp.org>
20924
20925         Update list of Win32 locale ids.
20926         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
20927         (LANG_SAMI): Renamed from LANG_SAAMI.
20928         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
20929         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
20930         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
20931         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
20932         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
20933         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
20934         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
20935         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
20936         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
20937         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
20938         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
20939         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
20940         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
20941         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
20942         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
20943         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
20944         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
20945         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
20946         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
20947         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
20948         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
20949         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
20950         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
20951         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
20952         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
20953         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
20954         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
20955         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
20956         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
20957         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
20958         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
20959         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
20960         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
20961         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
20962         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
20963         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
20964         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
20965         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
20966         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
20967         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
20968         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
20969         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
20970         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
20971         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
20972         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
20973         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
20974         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
20975         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
20976         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
20977         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
20978         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
20979         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
20980         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
20981         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
20982         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
20983         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
20984         Add more languages and countries for Sami, Sorbian. Add more countries
20985         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
20986         for Pashto. Change country for Syriac, Tswana.
20987
20988 2009-12-21  Eric Blake  <ebb9@byu.net>
20989
20990         test-utimens: avoid spurious failure
20991         * tests/test-chown.h (nap): Factor...
20992         * tests/nap.h: ...into new file.
20993         * tests/test-lchown.h (nap): Avoid duplication.
20994         * tests/test-utimens-common.h (nap): Use shared implementation,
20995         necessary on file systems with 1-second resolution.
20996         * modules/chown-tests (Files): Include new file.
20997         * modules/fdutimensat-tests (Files): Likewise.
20998         * modules/futimens-tests (Files): Likewise.
20999         * modules/lchown-tests (Files): Likewise.
21000         * modules/openat-tests (Files): Likewise.
21001         * modules/utimens-tests (Files): Likewise.
21002         * modules/utimensat-tests (Files): Likewise.
21003
21004 2009-12-19  Eric Blake  <ebb9@byu.net>
21005
21006         futimens, utimensat: work around Linux bug
21007         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
21008         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21009         * lib/utimensat.c (rpl_utimensat): Work around it.
21010         * lib/futimens.c (rpl_futimens): Adjust comment.
21011
21012         utimens: work around Linux ctime bug
21013         * lib/utimens.c (detect_ctime_bug): New helper function.
21014         (update_timespec): Differentiate between workaround needed for
21015         this bug vs. what is needed for systems that lack utimensat.
21016         (fdutimens, lutimens): Work around bug.
21017
21018         utimens: check for ctime update
21019         * tests/test-utimens-common.h (check_ctime): Define.
21020         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
21021         * tests/test-futimens.h (test_futimens): Likewise.
21022         * tests/test-lutimens.h (test_lutimens): Likewise.
21023         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21024         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21025
21026 2009-12-19  Bruno Haible  <bruno@clisp.org>
21027
21028         dprintf-posix: Check against memory leak fixed on 2009-12-15.
21029         * tests/test-dprintf-posix2.sh: New file.
21030         * tests/test-dprintf-posix2.c: New file.
21031         * modules/dprintf-posix-tests (Files): Add them.
21032         (configure.ac): Check for getrlimit and setrlimit.
21033         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
21034
21035 2009-12-19  Bruno Haible  <bruno@clisp.org>
21036
21037         fprintf-posix: Check against memory leak fixed on 2009-12-15.
21038         * tests/test-fprintf-posix3.sh: New file.
21039         * tests/test-fprintf-posix3.c: New file.
21040         * modules/fprintf-posix-tests (Files): Add them.
21041         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
21042
21043 2009-12-19  Eric Blake  <ebb9@byu.net>
21044
21045         dirfd: fix prototype
21046         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
21047         * lib/dirfd.c (dirfd): Likewise.
21048
21049         canonicalize: reduce memory usage
21050         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
21051         allocation to size.
21052         Reported by Solar Designer <solar@openwall.com>.
21053
21054 2009-12-19  Bruno Haible  <bruno@clisp.org>
21055
21056         New module attribute 'Applicability'.
21057         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
21058         * gnulib-tool: New option --extract-applicability.
21059         (func_usage): Document it.
21060         (sed_extract_prog): Recognize it.
21061         (func_get_applicability): New function.
21062         (func_import): Generalize handling of 'link-warning' module.
21063         * modules/link-warning (Applicability): New section.
21064         * modules/arg-nonnull (Applicability): New section.
21065         Repoted by Simon Josefsson <simon@josefsson.org>.
21066
21067 2009-12-19  Bruno Haible  <bruno@clisp.org>
21068
21069         fflush: tweak
21070         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
21071         * lib/fseeko.c (rpl_fseeko): Likewise.
21072
21073 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
21074
21075         * lib/gl_list.h: Fix typo in comment.
21076
21077 2009-12-16  Eric Blake  <ebb9@byu.net>
21078
21079         fcntl: use to simplify other modules
21080         * modules/cloexec (Depends-on): Add fcntl.
21081         * modules/fchdir (Depends-on): Likewise.
21082         * modules/fd-safer-flag (Depends-on): Likewise.
21083         * modules/unistd-safer (Depends-on): Likewise.
21084         * modules/dup3 (configure.ac): Set module indicator.
21085         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
21086         missing.
21087         * lib/fchdir.c (_gl_register_dup): Fix comment.
21088         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
21089         * lib/dup-safer.c (dup_safer): Likewise.
21090         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
21091         * lib/dup3.c (dup3): Likewise.
21092         * tests/test-fchdir.c (main): Enhance test.
21093         Fixes a dup_cloexec bug reported by Ondřej Vašík.
21094
21095         fcntl: port portions of fcntl to mingw
21096         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
21097         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
21098         replacement for mingw.
21099         * modules/fcntl (Description): Update.
21100         (Depends-on): Add dup2.
21101         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
21102         * modules/fcntl-h (Makefile.am): Substitute it.
21103         * lib/fcntl.in.h (fcntl): Update declaration.
21104         (F_DUPFD, F_GETFD): New macros, when needed.
21105         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
21106         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
21107         * tests/test-fcntl.c (check_flags, main): Enhance test for items
21108         we now guarantee.
21109
21110         fcntl: work around cygwin bug in F_DUPFD
21111         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
21112         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
21113         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
21114         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
21115         * doc/posix-functions/fcntl.texi (fcntl): Document it.
21116
21117         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
21118         * modules/fcntl (Files): List new files.
21119         (configure.ac): Run a test.
21120         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
21121         * lib/fcntl.c (rpl_fcntl): Likewise.
21122         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
21123         (gl_FCNTL_H): Always replace fcntl.h.
21124         * modules/fcntl-h (Makefile.am): Substitute witnesses.
21125         * lib/fcntl.in.h (fcntl): Declare replacement.
21126         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
21127         needed, plus a witness.
21128         * doc/posix-functions/fcntl.texi (fcntl): Document this.
21129         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
21130         * tests/test-fcntl.c: New file.
21131         * modules/fcntl-tests: Likewise.
21132
21133         binary-io: avoid potential compilation warning
21134         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
21135         directives.
21136
21137         fflush: avoid compilation error on NetBSD
21138         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
21139         between off_t and fpos_t, since the latter is sometimes a struct.
21140         * lib/fseeko.c (rpl_fseeko): Likewise.
21141         Reported by Alexander Nasonov <alnsn@yandex.ru>.
21142
21143 2009-12-15  Eric Blake  <ebb9@byu.net>
21144
21145         fcntl-h, stdio, sys_ioctl: fix declarations
21146         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
21147         function must not take arguments.
21148         * lib/sys_ioctl.in.h (ioctl): Likewise.
21149         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
21150         (open): Add a link warning.
21151
21152 2009-12-15  Jim Meyering  <meyering@redhat.com>
21153
21154         areadlink, areadlink-with-size: relax license to LGPLv2+
21155         * modules/areadlink (License): Relax to LGPLv2+.
21156         * modules/areadlink-with-size (License): Likewise.
21157
21158 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
21159             Bruno Haible  <bruno@clisp.org>
21160
21161         *printf: Fix memory leak.
21162         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
21163         * lib/vfprintf.c (vfprintf): Likewise.
21164         * lib/dprintf.c (dprintf): Likewise.
21165         * lib/vdprintf.c (vdprintf): Likewise.
21166
21167 2009-12-14  Eric Blake  <ebb9@byu.net>
21168
21169         accept4: adjust module dependencies
21170         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
21171
21172         utimens: one more try at avoiding compiler warning
21173         * lib/utimens.c (lutimens): Lower scope of result.
21174
21175 2009-12-13  Bruno Haible  <bruno@clisp.org>
21176
21177         Move the malloc checking from module 'list' to new module 'xlist'.
21178         * modules/xlist: New file.
21179         * lib/gl_xlist.h: New file.
21180         * lib/gl_xlist.c: New file.
21181         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
21182         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
21183         gl_list_add_last, gl_list_add_before, gl_list_add_after,
21184         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
21185         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
21186         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
21187         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
21188         gl_sortedlist_nx_add): New declarations.
21189         (struct gl_list_implementation): Rename and change methods accordingly.
21190         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
21191         (gl_list_nx_create): Renamed from gl_list_create.
21192         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
21193         (gl_list_nx_set_at): Renamed from gl_list_set_at.
21194         (gl_list_nx_add_first): Renamed from gl_list_add_first.
21195         (gl_list_nx_add_last): Renamed from gl_list_add_last.
21196         (gl_list_nx_add_before): Renamed from gl_list_add_before.
21197         (gl_list_nx_add_after): Renamed from gl_list_add_after.
21198         (gl_list_nx_add_at): Renamed from gl_list_add_at.
21199         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
21200         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
21201         gl_list_create_empty.
21202         (gl_list_nx_create): Renamed from gl_list_create.
21203         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
21204         (gl_list_nx_set_at): Renamed from gl_list_set_at.
21205         (gl_list_nx_add_first): Renamed from gl_list_add_first.
21206         (gl_list_nx_add_last): Renamed from gl_list_add_last.
21207         (gl_list_nx_add_before): Renamed from gl_list_add_before.
21208         (gl_list_nx_add_after): Renamed from gl_list_add_after.
21209         (gl_list_nx_add_at): Renamed from gl_list_add_at.
21210         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
21211         * lib/gl_array_list.c: Don't include xalloc.h.
21212         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
21213         NULL upon out-of-memory.
21214         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
21215         out-of-memory.
21216         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
21217         Change return type to 'int'.
21218         (gl_array_nx_set_at): Renamed from gl_array_set_at.
21219         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
21220         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
21221         upon out-of-memory.
21222         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
21223         upon out-of-memory.
21224         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
21225         upon out-of-memory.
21226         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
21227         upon out-of-memory.
21228         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
21229         out-of-memory.
21230         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
21231         Update.
21232         (gl_array_list_implementation): Update.
21233         * lib/gl_carray_list.c: Don't include xalloc.h.
21234         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
21235         Return NULL upon out-of-memory.
21236         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
21237         out-of-memory.
21238         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
21239         Change return type to 'int'.
21240         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
21241         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
21242         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
21243         upon out-of-memory.
21244         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
21245         upon out-of-memory.
21246         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
21247         out-of-memory.
21248         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
21249         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
21250         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
21251         Update.
21252         (gl_carray_list_implementation): Update.
21253         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
21254         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
21255         gl_linked_create_empty. Return NULL upon out-of-memory.
21256         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
21257         out-of-memory.
21258         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
21259         Change return type to 'int'. Return -1 upon out-of-memory.
21260         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
21261         out-of-memory.
21262         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
21263         upon out-of-memory.
21264         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
21265         upon out-of-memory.
21266         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
21267         NULL upon out-of-memory.
21268         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
21269         upon out-of-memory.
21270         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
21271         out-of-memory.
21272         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
21273         Update.
21274         * lib/gl_linked_list.c: Don't include xalloc.h.
21275         (gl_linked_list_implementation): Update.
21276         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
21277         (add_to_bucket): Change return type to 'int'.
21278         (gl_linkedhash_list_implementation): Update.
21279         * lib/gl_anytree_list1.h (free_subtree): New function.
21280         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
21281         gl_tree_create_empty. Return NULL upon out-of-memory.
21282         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
21283         Change return type to 'int'. Return -1 upon out-of-memory.
21284         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
21285         out-of-memory.
21286         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
21287         (gl_tree_remove_node): New function, moved here from
21288         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
21289         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
21290         Update.
21291         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
21292         malloc, not xmalloc. Return NULL upon out-of-memory.
21293         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
21294         out-of-memory.
21295         (gl_tree_remove_node_from_tree): New function, extracted from
21296         gl_tree_remove_node.
21297         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
21298         upon out-of-memory.
21299         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
21300         out-of-memory.
21301         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
21302         upon out-of-memory.
21303         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
21304         upon out-of-memory.
21305         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
21306         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
21307         not xmalloc. Return NULL upon out-of-memory.
21308         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
21309         out-of-memory.
21310         (gl_tree_remove_node_from_tree): New function, extracted from
21311         gl_tree_remove_node.
21312         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
21313         upon out-of-memory.
21314         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
21315         out-of-memory.
21316         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
21317         upon out-of-memory.
21318         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
21319         upon out-of-memory.
21320         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
21321         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
21322         gl_anytree_list1.h before gl_anyavltree_list2.h.
21323         (gl_avltree_list_implementation): Update.
21324         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
21325         gl_anytree_list1.h before gl_anyavltree_list2.h.
21326         (gl_rbtree_list_implementation): Update.
21327         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
21328         Change return type to 'int'. Return -1 upon out-of-memory. Use
21329         __builtin_expect.
21330         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
21331         (gl_avltreehash_list_implementation): Update.
21332         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
21333         (gl_rbtreehash_list_implementation): Update.
21334         * modules/array-list (Depends-on): Remove xalloc.
21335         * modules/carray-list (Depends-on): Likewise.
21336         * modules/linked-list (Depends-on): Likewise.
21337         * modules/linkedhash-list (Depends-on): Likewise.
21338         * modules/avltree-list (Depends-on): Likewise.
21339         * modules/rbtree-list (Depends-on): Likewise.
21340         * modules/avltreehash-list (Depends-on): Likewise.
21341         * modules/rbtreehash-list (Depends-on): Likewise.
21342
21343         * modules/xsublist: New file.
21344         * lib/gl_xsublist.h: New file.
21345         * lib/gl_xsublist.c: New file.
21346         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
21347         (gl_sublist_nx_create): New declaration.
21348         * lib/gl_sublist.c: Don't include xalloc.h.
21349         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
21350         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
21351         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
21352         Change return type to 'int'. Return -1 upon out-of-memory.
21353         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
21354         upon out-of-memory.
21355         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
21356         NULL upon out-of-memory.
21357         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
21358         upon out-of-memory.
21359         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
21360         NULL upon out-of-memory.
21361         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
21362         NULL upon out-of-memory.
21363         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
21364         upon out-of-memory.
21365         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
21366         (gl_sublist_list_implementation): Update.
21367         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
21368         upon out-of-memory.
21369         * modules/sublist (Depends-on): Remove xalloc.
21370
21371         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
21372         * tests/test-carray_list.c: Likewise.
21373         * tests/test-linked_list.c: Likewise.
21374         * tests/test-linkedhash_list.c: Likewise.
21375         * tests/test-avltree_list.c: Likewise.
21376         * tests/test-rbtree_list.c: Likewise.
21377         * tests/test-avltreehash_list.c: Likewise.
21378         * tests/test-rbtreehash_list.c: Likewise.
21379         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
21380         * modules/carray-list-tests (Makefile.am): Likewise.
21381         * modules/linked-list-tests (Makefile.am): Likewise.
21382         * modules/linkedhash-list-tests (Makefile.am): Likewise.
21383         * modules/avltree-list-tests (Makefile.am): Likewise.
21384         * modules/rbtree-list-tests (Makefile.am): Likewise.
21385         * modules/avltreehash-list-tests (Makefile.am): Likewise.
21386         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
21387
21388         * NEWS: Mention the changes.
21389
21390         * lib/clean-temp.c: Include gl_xlist.h.
21391         * modules/clean-temp (Depends-on): Add xlist.
21392
21393         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
21394         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
21395
21396         * tests/test-array_oset.c: Include gl_xlist.h.
21397         * modules/array-oset-tests (Depends-on): Add xlist.
21398
21399         Reported by José E. Marchesi <jemarch@gnu.org>.
21400
21401 2009-12-13  Bruno Haible  <bruno@clisp.org>
21402
21403         Move the malloc checking from module 'oset' to new module 'xoset'.
21404         * modules/xoset: New file.
21405         * lib/gl_xoset.h: New file.
21406         * lib/gl_xoset.c: New file.
21407         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
21408         declarations.
21409         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
21410         (struct gl_oset_implementation): Rename and change methods accordingly.
21411         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
21412         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21413         'int'. Mark as __warn_unused_result__.
21414         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
21415         gl_oset_create_empty.
21416         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21417         'int'.
21418         * lib/gl_array_oset.c: Don't include xalloc.h.
21419         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
21420         malloc, not xmalloc.
21421         (grow): Change return type to 'int'. Don't call xalloc_die.
21422         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
21423         to 'int'.
21424         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
21425         'int'.
21426         (gl_array_oset_implementation): Update.
21427         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
21428         gl_tree_create_empty.
21429         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
21430         'int'.
21431         * lib/gl_avltree_oset.c: Don't include xalloc.h.
21432         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21433         xmalloc.
21434         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21435         not xmalloc.
21436         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21437         xmalloc.
21438         (gl_avltree_oset_implementation): Update.
21439         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
21440         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21441         xmalloc.
21442         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21443         not xmalloc.
21444         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21445         xmalloc.
21446         (gl_rbtree_oset_implementation): Update.
21447         * modules/array-oset (Depends-on): Remove xalloc.
21448         * modules/avltree-oset (Depends-on): Likewise.
21449         * modules/rbtree-oset (Depends-on): Likewise.
21450         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
21451         * tests/test-avltree_oset.c: Likewise.
21452         * tests/test-rbtree_oset.c: Likewise.
21453         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
21454         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
21455         * modules/rbtree-oset-tests (Makefile.am): Likewise.
21456         * NEWS: Mention the change.
21457
21458 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
21459
21460         maint.mk: allow a project to override release-prep commands
21461         * top/maint.mk (alpha, beta, stable): Move release-preparatory
21462         commands into a new rule.
21463         (release-prep): New rule.
21464         (release-prep-hook): New overridable variable.
21465
21466 2009-12-13  Bruno Haible  <bruno@clisp.org>
21467
21468         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
21469
21470 2009-12-13  Jim Meyering  <meyering@redhat.com>
21471
21472         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
21473         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
21474
21475 2009-12-12  Bruno Haible  <bruno@clisp.org>
21476
21477         duplocale: Tweak.
21478         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
21479
21480 2009-12-12  Karl Berry  <karl@gnu.org>
21481
21482         * config/srclist.txt (strtoll.c): tab changes, no more sync.
21483
21484 2009-12-12  Bruno Haible  <bruno@clisp.org>
21485
21486         * m4/po.m4: Undo incorrect untabification.
21487
21488 2009-12-12  Bruno Haible  <bruno@clisp.org>
21489
21490         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
21491         * modules/c-strtod (Depends-on): Add locale.
21492         * modules/c-strtold (Depends-on): Likewise.
21493
21494 2009-12-12  Bruno Haible  <bruno@clisp.org>
21495
21496         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
21497
21498 2009-12-11  Eric Blake  <ebb9@byu.net>
21499
21500         setenv: relax requirement in light of POSIX ruling
21501         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
21502         not NULL.
21503         * tests/test-setenv.c (main): Relax test.
21504         * tests/test-unsetenv.c (main): Likewise.
21505         * doc/posix-functions/setenv.texi (setenv): Document this.
21506         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21507
21508 2009-12-11  Bruno Haible  <bruno@clisp.org>
21509
21510         New module 'fd-safer-flag'.
21511         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
21512         * lib/dup-safer.c (dup_safer_flag): Remove function.
21513         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
21514         * lib/fd-safer.c (fd_safer_flag): Remove function.
21515         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
21516         * modules/cloexec (configure.ac): Drop indicator macro.
21517         * modules/fd-safer-flag: New file.
21518         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
21519         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
21520         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
21521
21522 2009-12-11  Bruno Haible  <bruno@clisp.org>
21523
21524         Tests for module 'nl_langinfo'.
21525         * modules/nl_langinfo-tests: New file.
21526         * tests/test-nl_langinfo.sh: New file.
21527         * tests/test-nl_langinfo.c: New file.
21528
21529         New module 'nl_langinfo'.
21530         * lib/nl_langinfo.c: New file.
21531         * m4/nl_langinfo.m4: New file.
21532         * modules/nl_langinfo: New file.
21533         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
21534
21535 2009-12-11  Bruno Haible  <bruno@clisp.org>
21536
21537         Tests for module 'langinfo'.
21538         * modules/langinfo-tests: New file.
21539         * tests/test-langinfo.c: New file.
21540
21541         New module 'langinfo'.
21542         * lib/langinfo.in.h: New file.
21543         * m4/langinfo_h.m4: New file.
21544         * modules/langinfo: New file.
21545         * doc/posix-headers/langinfo.texi: Mention the new module.
21546
21547 2009-12-11  Bruno Haible  <bruno@clisp.org>
21548
21549         * lib/config.charset: Untabify.
21550
21551 2009-12-11  Bruno Haible  <bruno@clisp.org>
21552
21553         * modules/unistd-safer (configure.ac): Drop indicator macro.
21554
21555 2009-12-11  Bruno Haible  <bruno@clisp.org>
21556
21557         Move pipe2-safer code to its own file.
21558         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
21559         * lib/pipe-safer.c (pipe2_safer): Remove function.
21560         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
21561         (Makefile.am): Add it to lib_SOURCES.
21562
21563 2009-12-10  Bruno Haible  <bruno@clisp.org>
21564
21565         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
21566
21567 2009-12-10  Bruno Haible  <bruno@clisp.org>
21568
21569         Declare which arguments expect non-NULL values, for GCC and clang.
21570         * build-aux/arg-nonnull.h: New file.
21571         * modules/arg-nonnull: New file.
21572         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
21573         (inet_ntop, inet_pton): Use it.
21574         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
21575         (closedir, dirfd, opendir, scandir, alphasort): Use it.
21576         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
21577         (open, openat): Use it.
21578         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
21579         (fnmatch): Use it.
21580         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
21581         (getopt, getopt_long, getopt_long_only): Use it.
21582         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
21583         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
21584         Use it.
21585         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
21586         (iconv_open): Use it.
21587         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
21588         (strtoimax, strtoumax): Use it.
21589         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
21590         (duplocale): Use it.
21591         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
21592         (frexp, frexpl): Use it.
21593         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
21594         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
21595         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
21596         (tsearch, tfind, tdelete, twalk): Use it.
21597         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
21598         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21599         sigpending): Use it.
21600         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
21601         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21602         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21603         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21604         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21605         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21606         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21607         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21608         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21609         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21610         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21611         Use it.
21612         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
21613         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
21614         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
21615         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
21616         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
21617         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
21618         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
21619         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
21620         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
21621         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
21622         strtoull, unsetenv): Use it.
21623         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
21624         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21625         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21626         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
21627         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
21628         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
21629         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
21630         (strcasecmp, strncasecmp): Use it.
21631         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
21632         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
21633         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
21634         rpl_setsockopt): Use it.
21635         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
21636         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
21637         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
21638         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
21639         (gettimeofday): Use it.
21640         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
21641         (times): Use it.
21642         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
21643         (uname): Use it.
21644         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
21645         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
21646         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
21647         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
21648         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
21649         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
21650         unlinkat, write): Use it.
21651         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
21652         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
21653         * lib/argv-iter.h: Include arg-nonnull.h.
21654         (_ATTRIBUTE_NONNULL_): Remove macro.
21655         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
21656         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
21657         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
21658         optimization.
21659         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
21660         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
21661         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
21662         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
21663         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
21664         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
21665         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
21666         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
21667         * modules/arpa_inet (Depends-on): Add arg-nonnull.
21668         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
21669         * modules/dirent (Depends-on): Add arg-nonnull.
21670         (Makefile.am): Insert arg-nonnull.h into dirent.h.
21671         * modules/fcntl-h (Depends-on): Add arg-nonnull.
21672         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
21673         * modules/fnmatch (Depends-on): Add arg-nonnull.
21674         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
21675         * modules/getopt-posix (Depends-on): Add arg-nonnull.
21676         (Makefile.am): Insert arg-nonnull.h into getopt.h.
21677         * modules/glob (Depends-on): Add arg-nonnull.
21678         (Makefile.am): Insert arg-nonnull.h into glob.h.
21679         * modules/iconv_open (Depends-on): Add arg-nonnull.
21680         (Makefile.am): Insert arg-nonnull.h into iconv.h.
21681         * modules/inttypes (Depends-on): Add arg-nonnull.
21682         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
21683         * modules/locale (Depends-on): Add arg-nonnull.
21684         (Makefile.am): Insert arg-nonnull.h into locale.h.
21685         * modules/math (Depends-on): Add arg-nonnull.
21686         (Makefile.am): Insert arg-nonnull.h into math.h.
21687         * modules/netdb (Depends-on): Add arg-nonnull.
21688         (Makefile.am): Insert arg-nonnull.h into netdb.h.
21689         * modules/search (Depends-on): Add arg-nonnull.
21690         (Makefile.am): Insert arg-nonnull.h into search.h.
21691         * modules/signal (Depends-on): Add arg-nonnull.
21692         (Makefile.am): Insert arg-nonnull.h into signal.h.
21693         * modules/spawn (Depends-on): Add arg-nonnull.
21694         (Makefile.am): Insert arg-nonnull.h into spawn.h.
21695         * modules/stdio (Depends-on): Add arg-nonnull.
21696         (Makefile.am): Insert arg-nonnull.h into stdio.h.
21697         * modules/stdlib (Depends-on): Add arg-nonnull.
21698         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
21699         * modules/string (Depends-on): Add arg-nonnull.
21700         (Makefile.am): Insert arg-nonnull.h into string.h.
21701         * modules/strings (Depends-on): Add arg-nonnull.
21702         (Makefile.am): Insert arg-nonnull.h into strings.h.
21703         * modules/sys_socket (Depends-on): Add arg-nonnull.
21704         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
21705         * modules/sys_stat (Depends-on): Add arg-nonnull.
21706         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
21707         * modules/sys_time (Depends-on): Add arg-nonnull.
21708         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
21709         * modules/sys_times (Depends-on): Add arg-nonnull.
21710         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
21711         * modules/sys_utsname (Depends-on): Add arg-nonnull.
21712         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
21713         * modules/time (Depends-on): Add arg-nonnull.
21714         (Makefile.am): Insert arg-nonnull.h into time.h.
21715         * modules/unistd (Depends-on): Add arg-nonnull.
21716         (Makefile.am): Insert arg-nonnull.h into unistd.h.
21717         * modules/wchar (Depends-on): Add arg-nonnull.
21718         (Makefile.am): Insert arg-nonnull.h into wchar.h.
21719         * modules/argv-iter (Depends-on): Add arg-nonnull.
21720         * tests/test-canonicalize.c (null_ptr): New function.
21721         (main): Use it.
21722         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
21723         (main): Use it.
21724         * tests/test-memmem.c (null_ptr): New function.
21725         (main): Use it.
21726         Reported by Jim Meyering.
21727
21728 2009-12-10  Bruno Haible  <bruno@clisp.org>
21729
21730         Use spaces for indentation, not tabs.
21731         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21732         * m4/*.m4: Untabify.
21733         * build-aux/*.h: Untabify.
21734         * tests/**/*.[hc]: Untabify.
21735         * README: New section "Indent with spaces, not TABs", based on
21736         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
21737         * NEWS: Mention the change.
21738
21739 2009-12-10  Bruno Haible  <bruno@clisp.org>
21740
21741         pty test: Fix link error.
21742         * modules/pty-tests (Makefile.am): Add the default LDADD value to
21743         test_pty_LDADD.
21744
21745 2009-12-07  Simon Josefsson  <simon@josefsson.org>
21746
21747         * modules/pty: New file.
21748         * modules/pty-tests: New file.
21749         * m4/pty.m4: New file.
21750         * tests/test-pty.c: New file.
21751         * doc/glibc-headers/pty.texi: Modified.
21752         * doc/glibc-functions/forkpty.texi: Modified.
21753         * doc/glibc-functions/openpty.texi: Modified.
21754
21755 2009-12-10  Bruno Haible  <bruno@clisp.org>
21756
21757         Avoid syntax error in C++ mode.
21758         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
21759
21760 2009-12-10  Bruno Haible  <bruno@clisp.org>
21761
21762         Use sed with option -e.
21763         * gnulib-tool (func_version, func_emit_copyright_notice,
21764         func_emit_initmacro_end, func_import, func_create_testdir): Pass
21765         option -e to sed.
21766         * modules/link-warning (Makefile.am): Likewise.
21767
21768 2009-12-10  Jim Meyering  <meyering@redhat.com>
21769
21770         mgetgroups: do not write bytes beyond end of malloc'd buffer
21771         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
21772         username, we call getgroups with a one-element-shorter buffer,
21773         but still told it the length was original, max_n_groups.
21774
21775 2009-12-09  Eric Blake  <ebb9@byu.net>
21776
21777         cloexec: relax license
21778         * modules/cloexec (Maintainer): Add myself.
21779         (License): Use LGPL, not GPL.
21780
21781         link-warning: optimize generation
21782         * modules/link-warning (Makefile.am): Reduce process usage.
21783
21784 2009-12-09  Bruno Haible  <bruno@clisp.org>
21785
21786         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
21787         workaround was added on 2009-11-17.
21788
21789 2009-12-09  Jim Meyering  <meyering@redhat.com>
21790             Bruno Haible  <bruno@clisp.org>
21791
21792         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
21793         * modules/link-warning (Makefile.am): Make the comment-removing sed
21794         command more robust in the face of bootstrap-prepended comment lines.
21795
21796 2009-12-09  Bruno Haible  <bruno@clisp.org>
21797
21798         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
21799         most one group.
21800
21801 2009-12-09  Simon Josefsson <simon@josefsson.org>
21802             Bruno Haible  <bruno@clisp.org>
21803
21804         * build-aux/link-warning.h: Add copyright notice.
21805         * modules/link-warning (Makefile.am): Generate link-warning.h from
21806         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
21807         * NEWS: Mention change in link-warning module.
21808         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
21809         * modules/dirent (Makefile.am): Add dependency to dirent.h.
21810         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
21811         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
21812         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
21813         * modules/math (Makefile.am): Add dependency to math.h.
21814         * modules/search (Makefile.am): Add dependency to search.h.
21815         * modules/signal (Makefile.am): Add dependency to signal.h.
21816         * modules/spawn (Makefile.am): Add dependency to spawn.h.
21817         * modules/stdio (Makefile.am): Add dependency to stdio.h.
21818         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
21819         * modules/string (Makefile.am): Add dependency to string.h.
21820         * modules/strings (Makefile.am): Add dependency to strings.h.
21821         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
21822         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
21823         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
21824         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
21825         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
21826         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
21827         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
21828         * modules/unistd (Makefile.am): Add dependency to unistd.h.
21829         * modules/wchar (Makefile.am): Add dependency to wchar.h.
21830
21831 2009-12-09  Bruno Haible  <bruno@clisp.org>
21832
21833         fchdir: Optimize away rpl_fstat when possible.
21834         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
21835         REPLACE_OPEN_DIRECTORY.
21836         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
21837
21838 2009-12-09  Bruno Haible  <bruno@clisp.org>
21839
21840         * lib/fchdir.c: Update comment.
21841
21842 2009-12-09  Bruno Haible  <bruno@clisp.org>
21843
21844         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
21845
21846 2009-12-08  Eric Blake  <ebb9@byu.net>
21847
21848         fchdir: avoid memory leak on re-registration.
21849         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
21850
21851 2009-12-08  Jim Meyering  <meyering@redhat.com>
21852
21853         init.sh: avoid Solaris 10 /bin/sh portability problem
21854         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
21855         sourced script:
21856           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
21857           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
21858           bar
21859         tests/init.sh relied on that, accepting a --set-path=DIR argument,
21860         and two tests used that idiom.
21861         * tests/init.sh: Update suggested usage comments.
21862         (path_prepend_): New function, to be used in place
21863         of the --src-path=DIR option.
21864         (setup_): Move PATH-prepending code into path_prepend_.
21865         * tests/test-pread.sh: Adapt to new usage.
21866         * tests/test-xalloc-die.sh: Likewise.
21867
21868 2009-12-08  Simon Josefsson  <simon@josefsson.org>
21869
21870         * doc/gnulib.texi (Glibc pty.h): Add.
21871         * doc/glibc-functions/forkpty.texi: Add.
21872         * doc/glibc-functions/openpty.texi: Add.
21873         Suggested by Bruno Haible.
21874
21875 2009-12-08  Eric Blake  <ebb9@byu.net>
21876
21877         fchdir: fix logic bugs
21878         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
21879         * tests/test-fchdir.c (main): Enhance test.
21880         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
21881         is in use.
21882
21883         dup2: fix logic bugs
21884         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
21885         REPLACE_DUP2 to decide when rpl_dup2 is needed.
21886         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
21887         exists.
21888         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
21889
21890 2009-12-07  Eric Blake  <ebb9@byu.net>
21891
21892         unlink: fix m4 detection
21893         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
21894
21895         unistd-safer: add unit test
21896         * modules/unistd-safer-tests: New file.
21897         * tests/test-dup-safer.c: Likewise.
21898         * tests/test-cloexec.c (setmode): Avoid compiler warning.
21899         * tests/test-dup2.c (setmode): Likewise.
21900         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
21901
21902         cloexec: preserve text vs. binary across dup_cloexec
21903         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
21904         mode.
21905         * modules/dup2-tests (Depends-on): Add binary-io.
21906         * modules/cloexec-tests (Depends-on): Likewise.
21907         * tests/test-dup2.c (setmode, is_mode): New helpers.
21908         (main): Add tests that translation mode is preserved.
21909         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
21910         Reported by Bruno Haible.
21911
21912         mgetgroups: reduce duplicate listings
21913         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
21914         resulting array.
21915         * tests/test-chown.h (test_chown): Simplify client.
21916         * tests/test-lchown.h (test_lchown): Likewise.
21917
21918 2009-12-06  Bruno Haible  <bruno@clisp.org>
21919
21920         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
21921         value.
21922
21923 2009-12-06  Bruno Haible  <bruno@clisp.org>
21924
21925         * lib/progname.c: Include stdio.h, stdlib.h.
21926         (set_program_name): Reject a NULL argument.
21927
21928 2009-12-05  Eric Blake  <ebb9@byu.net>
21929
21930         pipe2-safer: new module
21931         * modules/pipe2-safer: New file.
21932         * lib/unistd-safer.h (pipe2_safer): New prototype.
21933         * lib/unistd--.h (pipe2): New wrapper.
21934         * lib/pipe-safer.c (pipe2_safer): New function.
21935         * modules/pipe (Depends-on): Add pipe2-safer.
21936         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
21937
21938         stdlib-safer: preserve cloexec flag for mkostemp[s]
21939         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
21940         fd_safer_flag.
21941
21942         unistd-safer: allow preservation of cloexec status via flag
21943         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
21944         prototypes.
21945         * lib/dup-safer.c (dup_safer_flag): New function.
21946         * lib/fd-safer.c (fd_safer_flag): Likewise.
21947         * modules/cloexec (configure.ac): Set witness.
21948
21949         test-dup2: enhance test
21950         * modules/dup2-tests (Depends-on): Add cloexec.
21951         * tests/test-dup2.c (main): Enhance test.
21952
21953         cloexec: add dup_cloexec
21954         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
21955         header and comments.
21956         * lib/cloexec.c (set_cloexec_flag): Add comments.
21957         (dup_cloexec): New function, with mingw implementation borrowed
21958         from...
21959         * lib/w32spawn.h (dup_noinherit): ...here.
21960         * modules/execute (Depends-on): Add cloexec.
21961         * modules/pipe (Depends-on): Likewise.
21962         * modules/cloexec (Depends-on): Add dup2.
21963         * modules/cloexec-tests (Files): New file.
21964         * tests/test-cloexec.c: Likewise.
21965
21966         test-xalloc-die: fix test for mingw
21967         * modules/xalloc-die-tests (Files): Add tests/init.sh.
21968         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
21969         directory and .exe suffix off argv[0] output.
21970
21971         test-fseeko: fix test for mingw
21972         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
21973         than undefining fseek, so test will pass on mingw.
21974
21975 2009-12-05  Bruno Haible  <bruno@clisp.org>
21976
21977         * lib/progname.h (set_program_name): Clarify specification.
21978         * lib/progname.c (set_program_name): Likewise.
21979         Reported by Jim Meyering.
21980
21981 2009-12-05  Jim Meyering  <meyering@redhat.com>
21982
21983         maint.mk: backslash-escape parens in default regexp
21984         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
21985         backslash-escape the literal parentheses.
21986
21987         maint.mk: news-date-check: use grep -E
21988         * top/maint.mk (today): Define a Make variable, not a...
21989         (news-date-check): ...shell variable.
21990         (news-date-regexp): Use the Make variable.
21991         Use grep's -E option.  Change the failing diagnostic to mention
21992         the variable, $(news-date-regexp).
21993
21994 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
21995
21996         maintainer-makefile: allow customization of NEWS entry format
21997         * top/maint.mk (news-date-regexp): New overridable variable.
21998         (news-date-check): Use it.
21999
22000 2009-12-04  Eric Blake  <ebb9@byu.net>
22001
22002         mgetgroups: add xgetgroups, and avoid ENOSYS failures
22003         * lib/mgetgroups.h (xgetgroups): New prototype.
22004         * lib/mgetgroups.c (xgetgroups): New wrapper.
22005         (mgetgroups): Handle ENOSYS.
22006         * modules/mgetgroups (Depends-on): Add realloc.
22007         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
22008
22009         mgetgroups: avoid argument promotion issues with -1
22010         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
22011         for invalid gid_t.
22012         * tests/test-chown.h (getegid, test_chown): Likewise.
22013         * tests/test-lchown.h (getegid, test_lchown): Likewise.
22014
22015 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
22016
22017         exclude: Fix header file problems.
22018         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
22019
22020 2009-12-01  Jim Meyering  <meyering@redhat.com>
22021
22022         fts: fts_open: do not let an empty string cause immediate failure
22023         This is required in support of GNU rm, for which the command
22024         "rm A '' B" must process and remove both A and B, in spite of
22025         the empty string argument.
22026         * lib/fts.c (fts_open): Do not let the presence of an empty string
22027         cause fts_open to fail immediately.  Most fts-using tools must be
22028         able to process all arguments, in order, and can be expected to
22029         diagnose such arguments themselves.
22030
22031 2009-11-30  Eric Blake  <ebb9@byu.net>
22032
22033         utimens: fix compilation error
22034         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
22035         Declare variable at right scope.
22036
22037 2009-11-29  Jim Meyering  <meyering@redhat.com>
22038
22039         bootstrap: handle perl-5.11's changed --version output
22040         * build-aux/bootstrap (get_version): Handle perl separately,
22041         since perl-5.11's --version output is different.
22042
22043 2009-11-28  Jim Meyering  <meyering@redhat.com>
22044
22045         userspec: depend on the inttostr module, too
22046         * modules/userspec (Depends-on): Add inttostr.
22047
22048         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
22049         * lib/userspec.c (parse_with_separator): Do not accept a user ID
22050         number of MAXUID when it evaluates to (uid_t) -1.
22051         Likewise for group ID.  Reported by Matt McCutchen in
22052         <http://savannah.gnu.org/bugs/?28113>
22053
22054         userspec: reformat to use spaces, not TABs
22055         * lib/userspec.c: Expand TABs to spaces.
22056         Add Emacs' "indent-tabs-mode: nil" hint.
22057
22058 2009-11-27  Eric Blake  <ebb9@byu.net>
22059
22060         getopt-gnu: flush out another BSD bug
22061         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
22062         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
22063         flush out BSD bug.
22064         * tests/test-getopt.h (test_getopt): End lists with NULL.
22065         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22066         (test_getopt_long_posix): Enhance test.
22067         * modules/getopt-posix-tests (Depends-on): Add stdbool.
22068         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
22069         getopt-gnu.
22070         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22071         Likewise.
22072
22073 2009-11-27  Simon Josefsson  <simon@josefsson.org>
22074
22075         * modules/idpriv-droptemp-tests (Notice): Fix text.
22076
22077 2009-11-27  Jim Meyering  <meyering@redhat.com>
22078
22079         test-xalloc-die: avoid spurious failure due to libtool argv difference
22080         In a libtool-enabled project, this test would fail due to a difference
22081         in the emitted program name, e.g.,
22082         -test-xalloc-die: memory exhausted
22083         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
22084         Use program to avoid that.
22085         * modules/xalloc-die-tests (Depends-on): Add progname.
22086         * tests/test-xalloc-die.c: Include progname.h".
22087         (program_name): Remove decl.
22088         (main): Call set_program_name.
22089         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
22090
22091 2009-11-26  Richard Jones  <rjones@redhat.com>
22092
22093         w32sock: leave win32 error in place.
22094         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
22095
22096 2009-11-26  Eric Blake  <ebb9@byu.net>
22097
22098         init.sh: suggest to use skip_ and fail_ functions in comments
22099         * tests/init.sh: Add a sentence.
22100
22101 2009-11-25  Bruno Haible  <bruno@clisp.org>
22102
22103         init.sh: add documentation in comments
22104         * tests/init.sh: Add some developer and user documentation.
22105
22106 2009-11-26  Jim Meyering  <meyering@redhat.com>
22107
22108         init.sh: accommodate even those who specify bogus srcdir manually
22109         * tests/init.sh: Normally, srcdir is guaranteed by automake and
22110         configure-time tests to be sanitized, so that there is no need to
22111         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
22112         (with no double quotes) suffices.  However, since tests may be
22113         invoked manually, and since you may explicitly set srcdir to the
22114         name of a directory containing spaces, do quote its uses here.
22115         * tests/test-pread.sh: Likewise.
22116         Suggested by Bruno Haible.
22117
22118         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
22119         * tests/test-pread.sh: Write no data into the pipe, because
22120         test-pread actually reads none.  This avoids a diagnostic,
22121         "bash: echo: write error: Broken pipe", that arises in the unusual
22122         event something is ignoring SIGPIPE, and might be interpreted
22123         as some sort of failure.  Reported by Bruno Haible.
22124
22125 2009-11-25  Jim Meyering  <meyering@redhat.com>
22126
22127         test-pread: cover failure with ESPIPE and EINVAL
22128         * tests/test-pread.c (main): Test for failure, too.
22129         * tests/test-pread.sh: Invoke with stdin on a pipe.
22130         Suggested by Eric Blake.
22131
22132         pread: improvement and fix
22133         * modules/pread (Depends-on): Depend on lseek, for portability to
22134         e.g., mingw.  Suggested by Eric Blake.
22135         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
22136
22137         unistd.in.h: correct declaration of pread
22138         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
22139         Reported by Richard W.M. Jones.
22140
22141         test-pread.sh: distribute the test script
22142         * modules/pread-tests (Files): Include test-pread.sh.
22143
22144         test-pread.sh: clean up
22145         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
22146         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
22147         That is unnecessary, since it's always ".".
22148         Suggestion from Eric Blake.
22149
22150         test-pread.sh: make executable
22151         * tests/test-pread.sh: Set executable bit.
22152         Reported by Eric Blake.
22153
22154         correct typo in test-pread.sh
22155         * tests/test-pread.sh: Add #! line.
22156
22157         test pread
22158         * tests/test-pread.c: New file.
22159         * tests/test-pread.sh: Likewise.
22160         * modules/pread-tests: Likewise.
22161
22162         pread: new module
22163         * modules/pread: New file.
22164         * lib/unistd.in.h (pread): Define/declare.
22165         * lib/pread.c (pread): New file.
22166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
22167         * modules/unistd (Makefile.am): Substitute witnesses.
22168         * doc/posix-functions/pread.texi (pread): Update.
22169         * MODULES.html.sh: Add pread.
22170
22171 2009-11-25  Jim Meyering  <meyering@redhat.com>
22172
22173         tests/init.sh: new file to be used via most *.sh tests
22174         * tests/init.sh: New file.
22175
22176 2009-11-25  Eric Blake  <ebb9@byu.net>
22177
22178         utimens: work around older Linux failure with symlinks
22179         * lib/utimens.c (lutimensat_works_really): New variable.
22180         (fdutimens, lutimens): Use it to manage kernels that support
22181         nanosecond times on files, but not on symlinks.
22182         Reported by Ondřej Vašík.
22183
22184         utimes: fix configure grammar
22185         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
22186
22187 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
22188
22189         regex: Fix fastmap for multibyte character ranges.
22190         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
22191         characters when a multibyte character range is included.
22192
22193 2009-11-22  Andy Wingo  <wingo@pobox.com>
22194
22195         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
22196         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
22197
22198 2009-11-24  Bruno Haible  <bruno@clisp.org>
22199
22200         doc: Most *_l functions exist in MacOS X 10.5.
22201         * doc/posix-functions/duplocale.texi: Update platforms list.
22202         * doc/posix-functions/freelocale.texi: Likewise.
22203         * doc/posix-functions/newlocale.texi: Likewise.
22204         * doc/posix-functions/uselocale.texi: Likewise.
22205         * doc/posix-functions/isalnum_l.texi: Likewise.
22206         * doc/posix-functions/isalpha_l.texi: Likewise.
22207         * doc/posix-functions/isblank_l.texi: Likewise.
22208         * doc/posix-functions/iscntrl_l.texi: Likewise.
22209         * doc/posix-functions/isdigit_l.texi: Likewise.
22210         * doc/posix-functions/isgraph_l.texi: Likewise.
22211         * doc/posix-functions/islower_l.texi: Likewise.
22212         * doc/posix-functions/isprint_l.texi: Likewise.
22213         * doc/posix-functions/ispunct_l.texi: Likewise.
22214         * doc/posix-functions/isspace_l.texi: Likewise.
22215         * doc/posix-functions/isupper_l.texi: Likewise.
22216         * doc/posix-functions/iswalnum_l.texi: Likewise.
22217         * doc/posix-functions/iswalpha_l.texi: Likewise.
22218         * doc/posix-functions/iswblank_l.texi: Likewise.
22219         * doc/posix-functions/iswcntrl_l.texi: Likewise.
22220         * doc/posix-functions/iswctype_l.texi: Likewise.
22221         * doc/posix-functions/iswdigit_l.texi: Likewise.
22222         * doc/posix-functions/iswgraph_l.texi: Likewise.
22223         * doc/posix-functions/iswlower_l.texi: Likewise.
22224         * doc/posix-functions/iswprint_l.texi: Likewise.
22225         * doc/posix-functions/iswpunct_l.texi: Likewise.
22226         * doc/posix-functions/iswspace_l.texi: Likewise.
22227         * doc/posix-functions/iswupper_l.texi: Likewise.
22228         * doc/posix-functions/iswxdigit_l.texi: Likewise.
22229         * doc/posix-functions/isxdigit_l.texi: Likewise.
22230         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
22231         * doc/posix-functions/strcasecmp_l.texi: Likewise.
22232         * doc/posix-functions/strcoll_l.texi: Likewise.
22233         * doc/posix-functions/strfmon_l.texi: Likewise.
22234         * doc/posix-functions/strftime_l.texi: Likewise.
22235         * doc/posix-functions/strncasecmp_l.texi: Likewise.
22236         * doc/posix-functions/strxfrm_l.texi: Likewise.
22237         * doc/posix-functions/tolower_l.texi: Likewise.
22238         * doc/posix-functions/toupper_l.texi: Likewise.
22239         * doc/posix-functions/towctrans_l.texi: Likewise.
22240         * doc/posix-functions/towlower_l.texi: Likewise.
22241         * doc/posix-functions/towupper_l.texi: Likewise.
22242         * doc/posix-functions/wcscoll_l.texi: Likewise.
22243         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
22244         * doc/posix-functions/wctrans_l.texi: Likewise.
22245         * doc/posix-functions/wctype_l.texi: Likewise.
22246         * doc/glibc-functions/strptime_l.texi: Likewise.
22247         * doc/glibc-functions/strtod_l.texi: Likewise.
22248         * doc/glibc-functions/strtof_l.texi: Likewise.
22249         * doc/glibc-functions/strtol_l.texi: Likewise.
22250         * doc/glibc-functions/strtold_l.texi: Likewise.
22251         * doc/glibc-functions/strtoll_l.texi: Likewise.
22252         * doc/glibc-functions/strtoul_l.texi: Likewise.
22253         * doc/glibc-functions/strtoull_l.texi: Likewise.
22254         * doc/glibc-functions/wcsftime_l.texi: Likewise.
22255         * doc/glibc-functions/wcstod_l.texi: Likewise.
22256         * doc/glibc-functions/wcstof_l.texi: Likewise.
22257         * doc/glibc-functions/wcstol_l.texi: Likewise.
22258         * doc/glibc-functions/wcstold_l.texi: Likewise.
22259         * doc/glibc-functions/wcstoll_l.texi: Likewise.
22260         * doc/glibc-functions/wcstoul_l.texi: Likewise.
22261         * doc/glibc-functions/wcstoull_l.texi: Likewise.
22262
22263 2009-11-24  Bruno Haible  <bruno@clisp.org>
22264
22265         duplocale: Fix logic bug.
22266         * lib/duplocale.c: Don't include <langinfo.h>.
22267         (_NL_LOCALE_NAME): Remove macro.
22268         (rpl_duplocale): Use setlocale instead of nl_langinfo.
22269         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
22270
22271 2009-11-23  Jim Meyering  <meyering@redhat.com>
22272
22273         test-update-copyright: don't hard-code /usr/bin/perl
22274         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
22275         perl to print the current year.  Gilles Espinasse reported that
22276         the replaced use of perl was hard-coded as /usr/bin/perl.
22277
22278 2009-11-23  Bruno Haible  <bruno@clisp.org>
22279
22280         duplocale: Add support for glibc 2.3.x.
22281         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
22282
22283 2009-11-22  Bruno Haible  <bruno@clisp.org>
22284
22285         vasnprintf: Tiny optimization.
22286         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
22287         MacOS X.
22288
22289 2009-11-22  Bruno Haible  <bruno@clisp.org>
22290
22291         Tests for module 'duplocale'.
22292         * modules/duplocale-tests: New file.
22293         * tests/test-duplocale.c: New file.
22294
22295         New module 'duplocale'.
22296         * m4/duplocale.m4: New file.
22297         * lib/locale.in.h (duplocale): New declaration.
22298         * lib/duplocale.c: New file.
22299         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
22300         gl_LOCALE_H_DEFAULTS): New macros.
22301         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
22302         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
22303         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
22304         REPLACE_DUPLOCALE.
22305         * modules/duplocale: New file.
22306         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
22307
22308 2009-11-22  Bruno Haible  <bruno@clisp.org>
22309
22310         * modules/locale-tests (configure.ac): Test for newlocale function.
22311         * tests/test-locale.c: When the system has extended locale functions,
22312         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
22313
22314         locale: Make locale_t available when possible.
22315         * lib/locale.in.h: Include <xlocale.h> when it exists.
22316         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
22317         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
22318         * modules/locale (Depends-on): Add extensions.
22319         (Makefile.am): Also substitute HAVE_XLOCALE_H.
22320         * doc/posix-headers/locale.texi: Document the problem with locale_t.
22321
22322 2009-11-22  Bruno Haible  <bruno@clisp.org>
22323
22324         Add comments.
22325         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
22326         invocation.
22327         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
22328         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22329         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22330
22331 2009-11-22  Bruno Haible  <bruno@clisp.org>
22332
22333         error: account for the possibility of freopen (stdout).
22334         * lib/error.c: Include <unistd.h>.
22335         (flush_stdout): New function, extracted from error and error_at_line.
22336         Determine stdout's fd dynamically.
22337         (error, error_at_line): Invoke flush_stdout.
22338         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
22339         * modules/error (Depends-on): Add unistd.
22340
22341 2009-11-22  Bruno Haible  <bruno@clisp.org>
22342
22343         diffseq: Add comment.
22344         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
22345
22346 2009-11-22  Jim Meyering  <meyering@redhat.com>
22347
22348         c-stack: avoid defining an unused static function
22349         * lib/c-stack.c (find_stack_direction): Do not define this function
22350         when it will not be used.
22351
22352         diffseq: avoid spurious gcc warnings
22353         * lib/diffseq.h (IF_LINT2): Define.
22354         (compareseq): Use it to initialize two members of "part".
22355         This avoids two used-uninitialized warnings.
22356
22357 2009-11-21  Jim Meyering  <meyering@redhat.com>
22358
22359         c-stack: avoid "ignoring return value of `write'" warning
22360         * lib/c-stack.c: Include "ignore-value.h".
22361         (die): Explicitly ignore each write return value.
22362         * modules/c-stack (Depends-on): Add ignore-value.
22363
22364 2009-11-21  Bruno Haible  <bruno@clisp.org>
22365
22366         diffseq: reduce scope of variable 'best'.
22367         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
22368         variable, earlier used for two different purposes.
22369
22370 2009-11-21  Jim Meyering  <meyering@redhat.com>
22371
22372         diffseq: remove useless assignment to "best"
22373         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
22374         assignment.  At that point "best" is already guaranteed to be zero.
22375
22376 2009-11-20  Eric Blake  <ebb9@byu.net>
22377
22378         build: mention ftp redirector in release announcements
22379         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
22380         values that used to come from cfg.mk; mention FTP redirect URL.
22381         * build-aux/announce-gen: Mention the mirror list.
22382         Suggested by Karl Berry.
22383
22384         nanosleep: improve port to mingw
22385         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
22386         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
22387         LIB_NANOSLEEP, but only when needed.
22388         * modules/select (Link): Document LIBSOCKET.
22389         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
22390         enough.
22391
22392         nanosleep: work around cygwin bug
22393         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
22394         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
22395         bug.
22396         (getnow): Delete, not needed.
22397         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
22398         LIB_CLOCK_GETTIME.
22399         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
22400         clock-time, gettime.
22401         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
22402         bug.
22403         * modules/nanosleep-tests: New test.
22404         * tests/test-nanosleep.c: New file.
22405
22406         sleep: work around cygwin bug
22407         * lib/sleep.c (rpl_sleep): Work around the bug.
22408         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
22409         (gl_PREREQ_SLEEP): Delete unused macro.
22410         * modules/sleep (Depends-on): Add verify.
22411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22412         * modules/unistd (Makefile.am): Substitute witness.
22413         * lib/unistd.in.h (sleep): Update prototype.
22414         * doc/posix-functions/sleep.texi (sleep): Document the bug.
22415         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
22416         * modules/sleep-tests (Depends-on): Check for alarm.
22417
22418 2009-11-20  Jim Meyering  <meyering@redhat.com>
22419
22420         maint.mk: improve sc_prohibit_magic_number_exit
22421         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
22422         so it does not match uses like System.exit(1).
22423         Add comments showing how to correct all offenders.
22424
22425 2009-11-19  Eric Blake  <ebb9@byu.net>
22426
22427         xalloc-die-tests: add missing library
22428         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
22429
22430         test-xvasprintf: silence compiler warnings
22431         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
22432         empty string from gcc.
22433
22434 2009-11-19  Jim Meyering  <meyering@redhat.com>
22435
22436         xfreopen: new module, from coreutils
22437         * modules/xfreopen: New module.
22438         * lib/xfreopen.c: New file.
22439         * lib/xfreopen.h: New file.
22440         * MODULES.html.sh (File stream based Input/Output"): Add it.
22441
22442 2009-11-19  Eric Blake  <ebb9@byu.net>
22443
22444         manywarnings: depend on warnings
22445         * modules/manywarnings (Depends-on): Add warnings.
22446
22447         build: avoid compiler warnings
22448         * lib/select.c (rpl_select): Delete unused variable.
22449         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
22450
22451 2009-11-18  Eric Blake  <ebb9@byu.net>
22452
22453         tests: avoid false negative with --with-packager
22454         * tests/test-version-etc.sh: Discard packager information.
22455         * tests/test-argp-version-etc-1.sh: Likewise.
22456         Reported by Mike Frysinger.
22457
22458         utimens: fix regression on Solaris
22459         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
22460         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
22461         can only change fd timestamps via futimesat.  Instead, use an
22462         additional witness macro to avoid BSD bug.
22463         Reported by Jim Meyering.
22464
22465 2009-11-17  Eric Blake  <ebb9@byu.net>
22466
22467         usleep: use it to simplify tests
22468         * modules/stat-time-tests (Depends-on): Add usleep.
22469         (configure.ac): Drop usleep check.
22470         * modules/chown-tests (Depends-on, configure.ac): Likewise.
22471         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
22472         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
22473         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
22474         * modules/openat-tests (Depends-on, configure.ac): Likewise.
22475         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
22476         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
22477         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
22478         Likewise.
22479         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
22480         * tests/test-lchown.h (nap): Likewise.
22481         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
22482         * tests/test-stat-time.c (nap): Likewise.
22483         * tests/test-utimens-common.h (nap): Update comments.
22484
22485         usleep: new module
22486         * modules/usleep: New file.
22487         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22488         * lib/usleep.c (usleep): Likewise.
22489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22490         * modules/unistd (Makefile.am): Substitute witnesses.
22491         * lib/unistd.in.h (usleep): Add declaration.
22492         * doc/pastposix-functions/usleep.texi (usleep): Document this.
22493         * MODULES.html.sh (Date and time): Likewise.
22494         * modules/usleep-tests (Depends-on): New test.
22495         * tests/test-usleep.c: New file.
22496
22497         chown: work around OpenBSD bug
22498         * lib/chown.c (rpl_chown): Work around the bug.
22499         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
22500         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
22501         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
22502         * modules/chown (Depends-on): Add stdbool.
22503         * modules/lchown (Depends-on): Likewise.
22504         * doc/posix-functions/chown.texi (chown): Document the bug.
22505         * doc/posix-functions/lchown.texi (lchown): Likewise.
22506         * tests/test-lchown.h (test_chown): Relax test.
22507
22508         mkstemp: avoid conflict with C++ keyword template
22509         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
22510         * lib/mkostemp.c (mkostemp): Likewise.
22511         * lib/mkostemps.c (mkostemps): Likewise.
22512         * lib/mkstemp.c (mkstemp): Likewise.
22513         * lib/mkstemps.c (mkstemps): Likewise.
22514
22515         xalloc-die-tests: optimize
22516         * tests/test-xalloc-die.sh: Reduce number of processes.
22517
22518 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22519
22520         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
22521         patch from ludo@gnu.org (Ludovic Courtès).
22522
22523 2009-11-17  Jim Meyering  <meyering@redhat.com>
22524
22525         version-etc: use proper license string
22526         * modules/version-etc (License): Use LGPL, not LGPLv3+.
22527         * modules/version-etc-fsf: Likewise.
22528
22529 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22530
22531         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
22532         printed to stdout.  Deal with EOL differences.
22533
22534 2009-11-17  Eric Blake  <ebb9@byu.net>
22535
22536         unsetenv: work around Solaris bug
22537         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
22538         * lib/unsetenv.c (rpl_unsetenv): Work around it.
22539         Reported by Jim Meyering.
22540
22541         vasnprintf: avoid compiler warnings
22542         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
22543         variables.
22544         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
22545
22546 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22547
22548         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
22549         settings since xalloc-die is no longer the self test,
22550         xalloc-die.sh is.
22551
22552 2009-11-17  Jim Meyering  <meyering@redhat.com>
22553
22554         test-xalloc-die.sh: make the code agree with the commit log
22555         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
22556         at the end, just in case you happen to have a test-xalloc-die
22557         program in some other PATH directory.
22558
22559         test-xalloc-die.sh: fix a portability bug
22560         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
22561         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
22562         Otherwise, argv[0] (as often seen in diagnostics) would be too
22563         system-dependent, sometimes with, and sometimes without the leading "./".
22564
22565         version-etc-fsf: relax license to LGPLv3+
22566         * modules/version-etc-fsf (License): Relax license.
22567
22568 2009-11-16  Eric Blake  <ebb9@byu.net>
22569
22570         xalloc-die-tests: avoid printing null pointer
22571         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
22572         shell script.
22573         * tests/test-xalloc-die.c (program_name): Declare.
22574         * tests/test-xalloc-die.sh (tmpfiles): New file.
22575
22576         setenv, unsetenv: work around various bugs
22577         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
22578         (setenv) [HAVE_SETENV]: Work around bugs.
22579         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
22580         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
22581         for bugs.
22582         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
22583         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
22584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
22585         * modules/stdlib (Makefile.am): Update substitutions.
22586         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
22587         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
22588         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22589         * modules/setenv-tests: New test.
22590         * modules/unsetenv-tests: Likewise.
22591         * tests/test-setenv.c: New file.
22592         * tests/test-unsetenv.c: Likewise.
22593
22594 2009-11-16  Jim Meyering  <meyering@redhat.com>
22595
22596         version-etc: relax license to LGPLv3+
22597         * modules/version-etc (License): Relax license.
22598
22599         better AC_REQUIRE expanded-before-required-warning avoidance
22600         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
22601         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
22602         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
22603         which is no longer needed.
22604
22605 2009-11-16  Eric Blake  <ebb9@byu.net>
22606
22607         test-freading: clean up temporary file
22608         * tests/test-freading.c (main): Remove file on success, and use
22609         ASSERT more liberally.
22610         Reported by Jim Meyering.
22611
22612 2009-11-16  Jim Meyering  <meyering@redhat.com>
22613
22614         avoid new AC_REQUIRE expanded-before-required warnings
22615         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
22616         merely using it.
22617         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
22618         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
22619
22620 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22621
22622         * tests/test-xalloc-die.c: New file.
22623         * modules/xalloc-die-tests: New file.
22624         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
22625         XFAIL_TESTS so it can be appended by modules.
22626
22627 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22628
22629         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
22630         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
22631
22632 2009-11-14  Eric Blake  <ebb9@byu.net>
22633
22634         fnmatch: avoid compiler warning
22635         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
22636         to silence compiler warning about mismatch signedness in ?:.
22637         Reported by Robert Millan.
22638
22639         intprops: add double-inclusion guard
22640         * lib/intprops.h: Allow idempotent includes.
22641         Suggested by Bruce Korb.
22642
22643         openat: detect Solaris fchownat bug
22644         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
22645         penalizing glibc chownat when only lchownat is broken.
22646         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
22647         trailing slash bugs.
22648         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
22649         * modules/openat-tests (Files): Include more files.
22650         (Depends-on): Add mgetgroups, sleep, stat-time.
22651         (configure.ac): Add additional checks.
22652         (Makefile.am): Build new test.
22653         * tests/test-fchownat.c: New file.
22654
22655         lchown: detect Solaris and FreeBSD bug
22656         * lib/lchown.c (rpl_lchown): Work around bug.
22657         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
22658         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22659         * modules/unistd (Makefile.am): Populate it.
22660         * lib/unistd.in.h (lchown): Update declaration.
22661         * doc/posix-functions/lchown.texi (lchown): Document the bug.
22662         * modules/lchown-tests: New file.
22663         * tests/test-lchown.h (test_lchown): Likewise.
22664         * tests/test-lchown.c (main): Likewise.
22665
22666         chown: detect Solaris and FreeBSD bug
22667         * lib/chown.c (rpl_chown): Work around bug.
22668         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
22669         (gl_PREREQ_CHOWN): Delete.
22670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22671         * modules/unistd (Makefile.am): Populate it.
22672         * lib/unistd.in.h (chown): Update declaration.
22673         * lib/lchown.c (chown): Update client.
22674         * modules/lchown (Depends-on): Add lstat.
22675         * doc/posix-functions/chown.texi (chown): Document the bug.
22676         * doc/posix-functions/getgroups.texi (getgroups): Document
22677         getgroups pitfall.
22678         * modules/chown-tests: New file.
22679         * tests/test-chown.h (test_chown): Likewise.
22680         * tests/test-chown.c (main): Likewise.
22681
22682 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
22683
22684         gnulib-tool: correctly detect absence of m4 directories
22685         * gnulib-tool: Avoid extra newline on data passed to wc -l.
22686
22687 2009-11-14  Jim Meyering  <meyering@redhat.com>
22688
22689         maint.mk: Prohibit inclusion of "xalloc.h" without use.
22690         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
22691
22692 2009-11-14  John W. Eaton  <jwe@gnu.org>
22693
22694         strftime.h: wrap funtion declaration in extern "C" block
22695         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
22696
22697 2009-11-13  Eric Blake  <ebb9@byu.net>
22698
22699         getgroups: avoid compiler warning
22700         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
22701
22702         getgroups: work around FreeBSD bug
22703         * lib/getgroups.c (rpl_getgroups): Work around the bug.
22704         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
22705         * doc/posix-functions/getgroups.texi (getgroups): Document it.
22706         * tests/test-getgroups.c (main): Fix buffer overrun.
22707
22708         getgroups: avoid compilation failure
22709         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
22710         * modules/getgroups (Depends-on): Add stdint.
22711
22712 2009-11-13  Jim Meyering  <meyering@redhat.com>
22713
22714         test-getgroups: avoid compilation failure
22715         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
22716
22717 2009-11-13  Eric Blake  <ebb9@byu.net>
22718
22719         mgetgroups: new module, taken from coreutils
22720         * modules/mgetgroups: New file.
22721         * lib/mgetgroups.h: Likewise.
22722         * lib/mgetgroups.c (mgetgroups): Likewise.
22723         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
22724         * MODULES.html.sh (Users and groups): Mention it.
22725
22726         getgroups: don't expose GETGROUPS_T to user
22727         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
22728         an element at a time if GETGROUPS_T is wrong size.
22729         * lib/getugroups.h (getugroups): Change signature.
22730         * lib/unistd.in.h (getgroups): Likewise.
22731         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
22732         signature needs fixing.
22733         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
22734         AC_TYPE_GETGROUPS.
22735         * modules/group-member (Depends-on): Add getgroups.
22736         * lib/group-member.c (group_info, get_group_info): Use gid_t.
22737         (group_member): Rely on getgroups replacement.
22738         * lib/getugroups.c (getugroups): Use gid_t.
22739         * tests/test-getgroups.c (main): Likewise.
22740         * NEWS: Mention the signature change.
22741         * doc/posix-functions/getgroups.texi (getgroups): Mention the
22742         problem with signature.
22743         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
22744         GETGROUPS_T is still useful for setgroups.
22745
22746         getgroups, getugroups: provide stubs for mingw
22747         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
22748         * lib/getugroups.c (getugroups): Likewise.
22749         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
22750         function.  Modernize replacement scheme.
22751         (gl_PREREQ_GETGROUPS): Delete.
22752         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
22753         * modules/getgroups (configure.ac): Declare witness.
22754         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22755         * modules/unistd (Depends-on): Substitute witness.
22756         * lib/unistd.in.h (getgroups): Declare replacement.
22757
22758         getgroups: avoid calling exit
22759         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
22760         drop xalloc.
22761         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
22762         dependencies.
22763         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
22764         exiting, in the rare case of malloc failure.
22765
22766         getgroups: fix logic error
22767         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
22768         has more than 20 groups.
22769         * modules/getgroups-tests: New test.
22770         * tests/test-getgroups.c: New file.
22771
22772 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22773
22774         * tests/test-base64.c: Improve.
22775
22776 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22777
22778         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
22779         Blake <ebb9@byu.net>.
22780
22781 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22782
22783         * tests/test-xvasprintf.c: Add %s%s related checks.
22784
22785 2009-11-12  Eric Blake  <ebb9@byu.net>
22786
22787         version-etc: match standards.texi style
22788         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
22789         and use <> only for URLs.
22790
22791 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
22792
22793         fts: do not fail on a submount during traversal
22794         * lib/fts.c (fts_build): Read the stat info again after opening
22795         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
22796         Original report at http://bugzilla.redhat.com/501848.
22797
22798 2009-11-12  Jim Meyering  <meyering@redhat.com>
22799
22800         bootstrap: sync from coreutils
22801         * build-aux/bootstrap (bootstrap_epilogue): New function.
22802         Use git_modules_config in one more place.  This make bootstrap's
22803         --gnulib-srcdir option more useful for testing.
22804
22805         bootstrap: generalize autoheader check
22806         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
22807         AC_CONFIG_HEADERS.
22808
22809 2009-11-11  Eric Blake  <ebb9@byu.net>
22810
22811         mkfifoat: use new modules for Solaris and BSD bugs
22812         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
22813         * lib/mkfifoat.c (mknodat): Split...
22814         * lib/mknodat.c (mknodat): ...into new file.
22815         * modules/mkfifoat (Files): Ship new file.
22816         (Depends-on): Add mkfifo, mknod.
22817         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
22818         (Depends-on): Add symlink.
22819         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
22820         redundant with test_mkfifo.h.
22821         (do_mkfifoat, do_mknodat): New helpers.
22822
22823         mknod: new module
22824         * modules/mknod: New file.
22825         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
22826         * lib/mknod.c (mknod): Likewise.
22827         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22828         defaults.
22829         * modules/sys_stat (Makefile.am): Substitute them.
22830         * lib/sys_stat.in.h (mknod): Declare replacement.
22831         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22832         Document it.
22833         * doc/posix-functions/mknod.texi (mknod): Likewise.
22834         * modules/mknod-tests: New test.
22835         * tests/test-mknod.c: Likewise.
22836
22837         mkfifo: new module
22838         * modules/mkfifo: New file.
22839         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22840         * lib/mkfifo.c (mkfifo): Likewise.
22841         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22842         defaults.
22843         * modules/sys_stat (Makefile.am): Substitute them.
22844         * lib/sys_stat.in.h (mkfifo): Declare replacement.
22845         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22846         Document it.
22847         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
22848         * modules/mkfifo-tests: New test.
22849         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
22850         from test-mkfifoat.c.
22851         * tests/test-mkfifo.c: New file.
22852
22853         readlink: detect FreeBSD bug
22854         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
22855         slash on symlink.
22856         * doc/posix-functions/readlink.texi (readlink): Document the bug.
22857         * tests/test-readlink.h (test_readlink): Enhance test.
22858
22859         symlink: detect FreeBSD bug
22860         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
22861         slash on symlink.
22862         * doc/posix-functions/symlink.texi (symlink): Document the bug.
22863         * tests/test-symlink.h (test_symlink): Enhance test.
22864
22865 2009-11-10  Eric Blake  <ebb9@byu.net>
22866
22867         link: detect FreeBSD bug
22868         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
22869         symlink.
22870         * doc/posix-functions/link.texi (link): Document the bug.
22871         * tests/test-link.h (test_link): Enhance test.
22872         * tests/test-linkat.c (main): Update caller.
22873
22874         unlink, remove: detect FreeBSD bug
22875         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
22876         slash on symlink.
22877         * doc/posix-functions/unlink.texi (unlink): Document the bug.
22878         * doc/posix-functions/remove.texi (remove): Likewise.
22879         * tests/test-unlink.h (test_unlink): Enhance test.
22880         * tests/test-remove.c (main): Likewise.
22881
22882 2009-11-09  Eric Blake  <ebb9@byu.net>
22883
22884         rename: detect FreeBSD bug
22885         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
22886         slash on symlink.
22887         * modules/renameat-tests (Depends-on): Add filenamecat.
22888         * tests/test-rename.h (test_rename): Allow one more errno.
22889         * tests/test-renameat.c (main): Likewise.
22890         * doc/posix-functions/rename.texi (rename): Document the bug.
22891
22892         open: detect FreeBSD bug
22893         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
22894         symlink.
22895         * doc/posix-functions/open.texi (open): Document the bug.
22896         * doc/posix-functions/utimes.texi (utimes): Likewise.
22897         * tests/test-open.h (test_open): Add parameters, and test symlink
22898         handling.
22899         * tests/test-open.c (main): Adjust caller.
22900         * tests/test-fcntl-safer.c (main): Likewise.
22901         * modules/open-tests (Depends-on): Add stdbool, symlink.
22902         * modules/fcntl-safer-tests (Depends-on): Likewise.
22903         * tests/test-openat.c (main): Add test-open tests.
22904
22905         stat: detect FreeBSD bug
22906         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
22907         symlink.
22908         * doc/posix-functions/stat.texi (stat): Document the bug.
22909         * tests/test-stat.h (test_stat_func): Add argument.
22910         * tests/test-stat.c (main): Adjust caller.
22911         * tests/test-fstatat.c (main): Likewise.
22912         * modules/stat-tests (Depends-on): Add stdbool, symlink.
22913         Reported by Jim Meyering.
22914
22915 2009-11-09  James Youngman  <jay@gnu.org>
22916
22917         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
22918         * lib/strftime.c: Correct placement of #include "ignore-value.h".
22919
22920 2009-11-08  Jim Meyering  <meyering@redhat.com>
22921
22922         utimens: remove invalid futimesat call
22923         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
22924         It used the file descriptor of the target file as the DIR_FD
22925         parameter and NULL as the file name.  That caused failure with
22926         errno == EFAULT on FreeBSD-8.0-rc2
22927
22928 2009-11-07  Eric Blake  <ebb9@byu.net>
22929
22930         fflush, freadseek: use fseeko, not fseek
22931         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
22932         (clear_ungetc_buffer): Avoid potential problems on large files.
22933         * lib/freadseek.c (freadseek): Likewise.
22934         * modules/freadseek (Depends-on): Add fseeko.
22935         * modules/fseek (configure.ac): Set a witness.
22936         * tests/test-fflush.c (main): Use fseeko.
22937         * tests/test-fpurge.c (fseek): Disable link warning.
22938         * tests/test-freadable.c (fseek): Likewise.
22939         * tests/test-freading.c (fseek): Likewise.
22940         * tests/test-fseeko.c (fseek): Likewise.
22941         * tests/test-ftell.c (fseek): Likewise.
22942         * tests/test-ftello.c (fseek): Likewise.
22943         * tests/test-fwritable.c (fseek): Likewise.
22944         * tests/test-fwriting.c (fseek): Likewise.
22945
22946 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22947
22948         * modules/memchr (Depends-on): Drop getpagesize dependency.
22949
22950 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22951
22952         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
22953         Reported by Ludovic Courtès.
22954         * build-aux/pmccabe2html: Improve example usage.
22955         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
22956
22957 2009-11-06  Jim Meyering  <meyering@redhat.com>
22958
22959         do-release-commit-and-tag: New module.
22960         Automate the release-commit and tag process.
22961         * build-aux/do-release-commit-and-tag: New script, from coreutils.
22962         * modules/do-release-commit-and-tag: New file.
22963         * MODULES.html.sh (Support for maintaining and releasing): Add it.
22964
22965 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22966
22967         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
22968         because test-select.c uses inet_pton.
22969
22970 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22971
22972         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
22973         GETADDRINFO_LIB.  Bump serial number.
22974         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
22975         Suggested by Eric Blake <ebb9@byu.net>.
22976
22977 2009-11-05  Eric Blake  <ebb9@byu.net>
22978
22979         strtod: detect darwin bug
22980         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
22981         Reported by Leo Davis.
22982
22983         freopen-safer: new module
22984         * modules/freopen-safer: New module.
22985         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
22986         * lib/freopen-safer.c (freopen_safer): New file.
22987         * lib/stdio-safer.h (freopen_safer): New declaration.
22988         * lib/stdio--.h (freopen): New override.
22989         * MODULES.html.sh (File stream based Input/Output): Mention it.
22990         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
22991         freopen-safer module.
22992         * doc/posix-functions/stderr.texi (stderr): Likewise.
22993         * doc/posix-functions/stdin.texi (stdin): Likewise.
22994         * doc/posix-functions/stdout.texi (stdout): Likewise.
22995         * modules/freopen-safer-tests: New test.
22996         * tests/test-reopen-safer.c: New file.
22997
22998 2009-11-05  Jim Meyering  <meyering@redhat.com>
22999
23000         maint.mk: Prohibit inclusion of "close-stream.h" without use.
23001         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23002
23003 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23004
23005         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
23006
23007 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23008
23009         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
23010
23011 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23012
23013         Fix link error.
23014         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
23015         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23016
23017 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23018
23019         * tests/test-func.c: Also test value of __func__.
23020
23021 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23022
23023         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
23024         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
23025
23026 2009-11-05  Bruno Haible  <bruno@clisp.org>
23027
23028         Fix link error.
23029         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
23030         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23031         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
23032
23033 2009-11-05  Bruno Haible  <bruno@clisp.org>
23034
23035         Tests for module 'inet_pton'.
23036         * modules/inet_pton-tests: New file.
23037         * tests/test-inet_pton.c: New file.
23038
23039 2009-11-05  Bruno Haible  <bruno@clisp.org>
23040
23041         Tests for module 'inet_ntop'.
23042         * modules/inet_ntop-tests: New file.
23043         * tests/test-inet_ntop.c: New file.
23044
23045 2009-11-04  Eric Blake  <ebb9@byu.net>
23046
23047         stdlib-safer: wrap all mkstemp variants
23048         * modules/mkostemp (configure.ac): Set witness.
23049         * modules/mkostemps (configure.ac): Likewise.
23050         * modules/mkstemps (configure.ac): Likewise.
23051         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
23052         (mkstemps_safer): Wrap more functions.
23053         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
23054         wrapping.
23055         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
23056         (mkstemps_safer): Implement the wrappers.
23057
23058         mkstemps, mkostemps: new modules
23059         * modules/mkostemps: New module.
23060         * modules/mkstemps: Likewise.
23061         * lib/mkostemps.c (mkostemps): New file.
23062         * lib/mkstemps.c (mkstemps): Likewise.
23063         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
23064         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
23065         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
23066         * modules/stdlib (Makefile.am): Substitute them.
23067         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
23068         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
23069         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23070         * doc/gnulib.texi (Glibc stdlib.h): Include them.
23071         * MODULES.html.sh (File system functions): Mention them.
23072
23073         tempname: resync from glibc
23074         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
23075         same values for __GT_FILE as glibc.  Abort even when assertions
23076         are disabled.
23077         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
23078         match its value otherwise.  Allow idempotent inclusion.
23079         * lib/mkdtemp.c (mkdtemp): Adjust caller.
23080         * lib/mkostemp.c (mkostemp): Likewise.
23081         * lib/mkstemp.c (mkstemp): Likewise.
23082         * lib/tmpfile.c (tmpfile): Likewise.
23083         * NEWS: Document this.
23084
23085         utimens: fix use of futimens on older Linux
23086         * lib/utimens.c (fdutimens): Use updated, rather than original,
23087         timespec to avoid bug in older Linux kernel.
23088         Reported by Simon Josefsson.
23089
23090 2009-11-04  Bruno Haible  <bruno@clisp.org>
23091
23092         Make num_processors more flexible and consistent.
23093         * lib/nproc.h (enum nproc_query): New type.
23094         (num_processors): Add a 'query' argument.
23095         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
23096         (num_processors): Add a 'query' argument. Test the value of the
23097         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
23098         mingw, count the number of CPUs available for the current process.
23099         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
23100         Check for sched_getaffinity and sched_getaffinity_np.
23101         * modules/nproc (Depends-on): Add c-ctype, extensions.
23102         * NEWS: Mention the change.
23103
23104 2009-11-03  Bruno Haible  <bruno@clisp.org>
23105
23106         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
23107
23108 2009-11-03  Jim Meyering  <meyering@redhat.com>
23109
23110         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
23111         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
23112         if it is defined.
23113
23114 2009-11-02  Eric Blake  <ebb9@byu.net>
23115
23116         mktime, timegm: share common declaration
23117         * lib/mktime-internal.h: New file.
23118         * lib/mktime.c: Use it rather than open-coding a declaration.
23119         * lib/timegm.c: Likewise.
23120         * modules/mktime (Files): Ship it.
23121         * modules/timegm (Files): Likewise.
23122         Suggested by Bruno Haible.
23123
23124         test-update-copyright: update test to match script changes
23125         * tests/test-update-copyright.sh: Avoid hard-coding perl
23126         location.  Don't update *.bak created by earlier runs.
23127
23128 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
23129             Simon Josefsson  <simon@josefsson.org>
23130             Bruno Haible  <bruno@clisp.org>
23131
23132         Fix link error on Solaris 8.
23133         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
23134         also in libnsl. Define also INET_PTON_LIB.
23135         * modules/inet_pton (Link): New section.
23136
23137 2009-11-02  Simon Josefsson  <simon@josefsson.org>
23138             Bruno Haible  <bruno@clisp.org>
23139
23140         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
23141         * modules/inet_ntop (Link): New section.
23142         Reported by Boyan Kasarov <bkasarov@gmail.com>.
23143
23144 2009-11-02  Eric Blake  <ebb9@byu.net>
23145
23146         maint: avoid compiler warnings in m4 macros
23147         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
23148         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
23149
23150 2009-11-02  Simon Josefsson  <simon@josefsson.org>
23151
23152         * m4/pmccabe2html.m4: Remove file.
23153         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
23154         function.  Change maintainer.
23155         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
23156         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
23157         Courtès).
23158
23159 2009-10-31  Eric Blake  <ebb9@byu.net>
23160
23161         fseeko: fix m4 regression
23162         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
23163         regression from 2009-10-27.
23164         Reported by Ralf Wildenhues.
23165
23166 2009-10-31  Jim Meyering  <meyering@redhat.com>
23167
23168         inttostr: aesthetics and improved (compile-time) safety
23169         Define inttype_is_signed rather than inttype_is_unsigned,
23170         since the sole use is via "#if inttype_is_signed".
23171         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
23172         inttype_is_unsigned.
23173         * lib/offtostr.c (inttype_is_signed): Likewise.
23174         * lib/uinttostr.c (inttype_is_signed): Likewise.
23175         * lib/umaxtostr.c (inttype_is_signed): Likewise.
23176         * lib/inttostr.c (inttostr): Use verify to cross-check the
23177         inttype_is_signed value and the signedness of the actual type.
23178         * modules/inttostr (Depends-on): Add verify.
23179
23180 2009-10-30  Eric Blake  <ebb9@byu.net>
23181
23182         build: avoid compiler warnings
23183         * lib/fchmodat.c (lchmod): Mark unused variables.
23184         * lib/getopt.c (_getopt_initialize): Likewise.
23185         * lib/mktime.c (__mktime_internal): Provide prototype.
23186         * lib/inttostr.c (inttostr): Avoid compiler warning even with
23187         older gcc that do not understand #pragma GCC diagnostic.
23188         * lib/uinttostr.c (inttype_is_unsigned): Define.
23189         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
23190
23191 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
23192
23193         stat: fix compilation on AIX
23194         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
23195         only see struct stat64.
23196
23197 2009-10-30  Eric Blake  <ebb9@byu.net>
23198
23199         exclude: make more robust
23200         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
23201         rather than masking a coding bug.
23202         Suggested by Bruno Haible.
23203
23204 2009-10-30  Jim Meyering  <meyering@redhat.com>
23205
23206         perl scripts: remove #!/usr/bin/perl in favor of more portable...
23207         Rather than putting #!/usr/bin/perl on the first line,
23208         start with a variant of what's recommended by "man perlrun" that
23209         invokes the first "perl" program from your shell's search path.
23210         * build-aux/gitlog-to-changelog: Replace #!... as above.
23211         Add a "Local Variables" perl mode setting.
23212         Prompted by a patch from Ludovic Courtès.
23213         Improved by Eric Blake.
23214         * build-aux/useless-if-before-free: Likewise.
23215         * build-aux/announce-gen: Likewise.
23216         * build-aux/update-copyright: Likewise.
23217
23218 2009-10-29  Eric Blake  <ebb9@byu.net>
23219
23220         filenamecat-lgpl: adjust clients
23221         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
23222         filenamecat.
23223         * modules/renameat (Depends-on): Likewise.
23224
23225         filenamecat: split into filenamecat-lgpl
23226         * modules/filenamecat-lgpl: New module.
23227         * modules/filenamecat (Files): Move library-safe files into
23228         filenamecat-lgpl.
23229         (Depends-on): Add filenamecat-lgpl.
23230         (configure.ac): Declare witness.
23231         * lib/filenamecat.h (file_name_concat): Only declare when using
23232         GPL module.
23233         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
23234         Move...
23235         * lib/filenamecat-lgpl.c: ...into new file.
23236         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
23237         (gl_FILE_NAME_CONCAT): Use it.
23238         * MODULES.html.sh (File system functions): Mention new module.
23239
23240         argp: avoid memory leak
23241         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
23242         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
23243         base_name, since the latter malloc()s and can call exit().
23244         Leak introduced 2006-07-03.
23245
23246         dirname-lgpl: adjust clients that don't need full dirname
23247         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
23248         * modules/filenamecat (Depends-on): Likewise.
23249         * modules/linkat (Depends-on): Likewise.
23250         * modules/mkancesdirs (Depends-on): Likewise.
23251         * modules/mkdir (Depends-on): Likewise.
23252         * modules/openat (Depends-on): Likewise.
23253         * modules/savewd (Depends-on): Likewise.
23254         * modules/rename (Depends-on): Likewise.
23255         (License): Relax license.
23256         * modules/mkdir-tests (Depends-on): Drop progname.
23257         (Makefile.am): Delete unneeded LDADD.
23258         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
23259
23260         dirname: split into dirname-lgpl
23261         * modules/dirname-lgpl: New module.
23262         * modules/dirname (Files): Move library-safe files into
23263         dirname-lgpl.
23264         (Depends-on): Add dirname-lgpl.
23265         (configure.ac): Declare witness.
23266         * modules/double-slash-root (License): Relax license.
23267         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
23268         module.
23269         * lib/dirname.c (dir_len, mdir_name): Move...
23270         * lib/dirname-lgpl.c: ...into new file.
23271         * lib/basename.c (last_component, base_len): Move...
23272         * lib/basename-lgpl.c: ...into new file.
23273         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
23274         (gl_DIRNAME): Use it.
23275         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
23276         Mention new module.
23277         * modules/dirname-tests (Depends-on): Add progname.
23278         * tests/test-dirname.c (program_name): Delete.
23279
23280         mkdir: make safe for libraries
23281         * modules/mkdir (Depends-on): Drop xalloc.
23282         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
23283         exit.
23284
23285         tests: avoid some compiler warnings
23286         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
23287         literals.
23288         * tests/test-memchr.c (main): Avoid type mismatch.
23289         * tests/test-arpa_inet.c (main): Avoid unused parameters.
23290         * tests/test-base64.c (main): Likewise.
23291         * tests/test-getdelim.c (main): Likewise.
23292         * tests/test-gethostname.c (main): Likewise.
23293         * tests/test-getline.c (main): Likewise.
23294         * tests/test-netinet_in.c (main): Likewise.
23295         * tests/test-select.c (open_server_socket, main): Likewise.
23296         * tests/test-select-stdin.c (main): Likewise.
23297         * tests/test-sockets.c (main): Likewise.
23298         * tests/test-strsignal.c (main): Likewise.
23299         * tests/test-sys_select.c (main): Likewise.
23300         * tests/test-sys_socket.c (main): Likewise.
23301         * tests/test-u64.c (main): Likewise.
23302         * tests/test-xfprintf-posix.c (main): Likewise.
23303         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
23304
23305         sockets: avoid compiler warning
23306         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
23307
23308         maint: detect usage(1) and other suspicious exits
23309         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
23310
23311 2009-10-29  Jim Meyering  <meyering@redhat.com>
23312
23313         timespec: long-to-int truncation could make timespec_cmp malfunction
23314         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
23315         a multiple of 2^32 nanoseconds as no difference.
23316
23317 2009-10-28  Jim Meyering  <meyering@redhat.com>
23318
23319         fprintftime: wrap macro code argument in "do {...} while(0)"
23320         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
23321         cpy macro must be a statement that can be followed by a semicolon.
23322         Now that the else clause contains a comment and is hence longer
23323         than one line, I require curly braces.  That in turn requires
23324         that we wrap this code block in the standard do...while(0).
23325
23326         fprintftime: remove stray semicolon from previous change
23327         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
23328
23329         fprintftime: avoid a warning about ignored fwrite return value
23330         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
23331         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
23332         that is unsafe.
23333         * modules/fprintftime (Depends-on): Add ignore-value.
23334
23335         exclude: avoid an unwarranted warning
23336         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
23337
23338 2009-10-27  Eric Blake  <ebb9@byu.net>
23339
23340         fseek: avoid compilation failure when fflush is replaced
23341         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
23342         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
23343         module is in use.
23344         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
23345         module is not in use; since REPLACE_FSEEK worked otherwise.
23346         (GNULIB_FTELLO): Likewise for ftell.
23347         Reported by Ian Beckwith and others.
23348
23349 2009-10-27  Bruno Haible  <bruno@clisp.org>
23350
23351         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
23352         Reported by Jim Meyering.
23353
23354 2009-10-27  Jim Meyering  <jim@meyering.net>
23355             Bruno Haible  <bruno@clisp.org>
23356
23357         Avoid warning despite dropping the return value of fwrite.
23358         * lib/unicodeio.c: Include ignore-value.h.
23359         (fwrite_success_callback): Explicitly ignore fwrite's return value.
23360         * modules/unicodeio (Depends-on): Add ignore-value.
23361
23362 2009-10-26  Eric Blake  <ebb9@byu.net>
23363
23364         areadlinkat: fix fallback path
23365         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
23366         pointer and zero.
23367
23368 2009-10-22  Pádraig Brady  <P@draigBrady.com>
23369
23370         Use a better IO block size for modern systems
23371         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
23372         * lib/md2.c: Likewise.
23373         * lib/md4.c: Likewise.
23374         * lib/md5.c: Likewise.
23375         * lib/sha1.c: Likewise.
23376         * lib/sha256.c: Likewise.
23377         * lib/sha512.c: Likewise.
23378
23379 2009-10-22  Eric Blake  <ebb9@byu.net>
23380
23381         tests: avoid several compiler warnings
23382         * tests/test-getcwd.c (main): Avoid buffer underflow.
23383         * tests/test-getdate.c (main): String literals are not safe with
23384         putenv, so use setenv.  Declare unused argument.
23385         * modules/getdate-tests (Depends-on): Add setenv.
23386         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
23387         problems with string literals in char *.
23388         * tests/test-hash.c (main): Avoid shadowing declaration.
23389         (insert_new): Treat string literals as char const *.
23390         * tests/test-getopt.h (test_getopt): Likewise.
23391         (getopt_loop): Alter types to minimize casting elsewhere.
23392         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
23393         (test_getopt_long_posix): Likewise.
23394         (do_getopt_long): Add wrapper to minimize casting.
23395         * tests/test-atexit.c (clear_temp_file): Use void.
23396         * tests/test-areadlink-with-size.c (main): Declare unused
23397         arguments.
23398         * tests/test-areadlink.c (main): Likewise.
23399         * tests/test-areadlinkat-with-size.c (main): Likewise.
23400         * tests/test-areadlinkat.c (main): Likewise.
23401         * tests/test-canonicalize-lgpl.c (main): Likewise.
23402         * tests/test-canonicalize.c (main): Likewise.
23403         * tests/test-dirent-safer.c (main): Likewise.
23404         * tests/test-dirname.c (main): Likewise.
23405         * tests/test-dup2.c (main): Likewise.
23406         * tests/test-fchdir.c (main): Likewise.
23407         * tests/test-fcntl-h.c (main): Likewise.
23408         * tests/test-fcntl-safer.c (main): Likewise.
23409         * tests/test-fdopendir.c (main): Likewise.
23410         * tests/test-fdutimensat.c (main): Likewise.
23411         * tests/test-fflush.c (main): Likewise.
23412         * tests/test-filenamecat.c (main): Likewise.
23413         * tests/test-filevercmp.c (main): Likewise.
23414         * tests/test-fopen-safer.c (main): Likewise.
23415         * tests/test-fopen.c (main): Likewise.
23416         * tests/test-fpending.c (main): Likewise.
23417         * tests/test-fpurge.c (main): Likewise.
23418         * tests/test-freading.c (main): Likewise.
23419         * tests/test-fstatat.c (main): Likewise.
23420         * tests/test-fsync.c (main): Likewise.
23421         * tests/test-futimens.c (main): Likewise.
23422         * tests/test-getndelim2.c (main): Likewise.
23423         * tests/test-gettimeofday.c (main): Likewise.
23424         * tests/test-getopt.c (main): Likewise.
23425         * tests/test-i-ring.c (main): Likewise.
23426         * tests/test-inttypes.c (main): Likewise.
23427         * tests/test-link.c (main): Likewise.
23428         * tests/test-lstat.c (main): Likewise.
23429         * tests/test-math.c (main): Likewise.
23430         * tests/test-md5.c (main): Likewise.
23431         * tests/test-memchr2.c (main): Likewise.
23432         * tests/test-memrchr.c (main): Likewise.
23433         * tests/test-mkdir.c (main): Likewise.
23434         * tests/test-mkdirat.c (main): Likewise.
23435         * tests/test-mkfifoat.c (main): Likewise.
23436         * tests/test-open.c (main): Likewise.
23437         * tests/test-openat-safer.c (main): Likewise.
23438         * tests/test-openat.c (main): Likewise.
23439         * tests/test-quotearg.c (main): Likewise.
23440         * tests/test-rawmemchr.c (main): Likewise.
23441         * tests/test-readlink.c (main): Likewise.
23442         * tests/test-remove.c (main): Likewise.
23443         * tests/test-rename.c (main): Likewise.
23444         * tests/test-renameat.c (main): Likewise.
23445         * tests/test-rmdir.c (main): Likewise.
23446         * tests/test-sha1.c (main): Likewise.
23447         * tests/test-signal.c (main): Likewise.
23448         * tests/test-sigaction.c (main): Likewise.
23449         * tests/test-stat.c (main): Likewise.
23450         * tests/test-stat-time.c (main): Likewise.
23451         * tests/test-stddef.c (main): Likewise.
23452         * tests/test-stdint.c (main): Likewise.
23453         * tests/test-stdio.c (main): Likewise.
23454         * tests/test-stdlib.c (main): Likewise.
23455         * tests/test-strchrnul.c (main): Likewise.
23456         * tests/test-strerror.c (main): Likewise.
23457         * tests/test-string.c (main): Likewise.
23458         * tests/test-strtod.c (main): Likewise.
23459         * tests/test-strverscmp.c (main): Likewise.
23460         * tests/test-symlink.c (main): Likewise.
23461         * tests/test-symlinkat.c (main): Likewise.
23462         * tests/test-sys_stat.c (main): Likewise.
23463         * tests/test-sys_time.c (main): Likewise.
23464         * tests/test-time.c (main): Likewise.
23465         * tests/test-unistd.c (main): Likewise.
23466         * tests/test-unlink.c (main): Likewise.
23467         * tests/test-unlinkat.c (main): Likewise.
23468         * tests/test-utimens.c (main): Likewise.
23469         * tests/test-utimensat.c (main): Likewise.
23470         * tests/test-version-etc.c (main): Likewise.
23471         * tests/test-wchar.c (main): Likewise.
23472         * tests/test-wctype.c (main): Likewise.
23473         * tests/test-xprintf-posix.c (main): Likewise.
23474         * tests/test-posixtm.c (main): Likewise.
23475         (STREQ): Delete unused macro.
23476         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
23477         shadowed variables.
23478         * tests/test-memchr.c (main): Likewise.
23479
23480 2009-10-21  Eric Blake  <ebb9@byu.net>
23481
23482         areadlinkat: avoid failure on older glibc
23483         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
23484         rather than mis-comparing 0 against FUNC_RESULT of char*.
23485
23486 2009-10-21  Bruno Haible  <bruno@clisp.org>
23487
23488         * modules/stpncpy (License): Relicense under LGPLv2+.
23489         Reported by David Lutterkort <lutter@redhat.com>.
23490
23491 2009-10-20  Eric Blake  <ebb9@byu.net>
23492
23493         utimensat: work around Solaris 9 bug
23494         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
23495         has trailing slash bugs.
23496         * tests/test-lutimens.h (test_lutimens): Enhance test.
23497         * tests/test-utimens.h (test_utimens): Likewise.
23498         * doc/posix-functions/utime.texi (utime): Enhance documentation.
23499         * doc/posix-functions/utimes.texi (utimes): Likewise.
23500         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23501         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
23502         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
23503         * doc/posix-functions/futimens.texi (futimens): Likewise.
23504
23505         fdutimensat: new module
23506         * modules/fdutimensat: New file.
23507         * lib/fdutimensat.c (fdutimensat): Likewise.
23508         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
23509         * MODULES.html.sh (File system functions): Mention module.
23510         * modules/fdutimensat-tests: New test.
23511         * tests/test-fdutimensat.c: Likewise.
23512
23513         doc: regenerate INSTALL
23514         * doc/INSTALL: Reflect recent autoconf update.
23515         * doc/INSTALL.ISO: Likewise.
23516         * doc/INSTALL.UTF-8: Likewise.
23517
23518 2009-10-20  Pádraig Brady  <P@draigBrady.com>
23519
23520         acl: warn if ACL support is not detected
23521         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
23522
23523 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
23524
23525         * lib/nproc.h: Add extern "C" block for C++.
23526
23527 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
23528             Bruno Haible  <bruno@clisp.org>
23529
23530         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
23531         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
23532         * doc/posix-functions/isalpha.texi: Likewise.
23533         * doc/posix-functions/isblank.texi: Likewise.
23534         * doc/posix-functions/iscntrl.texi: Likewise.
23535         * doc/posix-functions/isdigit.texi: Likewise.
23536         * doc/posix-functions/isgraph.texi: Likewise.
23537         * doc/posix-functions/islower.texi: Likewise.
23538         * doc/posix-functions/isprint.texi: Likewise.
23539         * doc/posix-functions/ispunct.texi: Likewise.
23540         * doc/posix-functions/isspace.texi: Likewise.
23541         * doc/posix-functions/isupper.texi: Likewise.
23542         * doc/posix-functions/isxdigit.texi: Likewise.
23543
23544 2009-10-18  Bruno Haible  <bruno@clisp.org>
23545
23546         Tests for module 'isblank'.
23547         * modules/isblank-tests: New file.
23548         * tests/test-isblank.c: New file.
23549
23550         New module 'isblank'.
23551         * lib/isblank.c: New file.
23552         * m4/isblank.m4: New file.
23553         * modules/isblank: New file.
23554         * doc/posix-functions/isblank.texi: Mention the new module.
23555
23556 2009-10-18  Bruno Haible  <bruno@clisp.org>
23557
23558         New module 'ctype'.
23559         * lib/ctype.in.h: New file.
23560         * m4/ctype.m4: New file.
23561         * modules/ctype: New file.
23562         * doc/posix-headers/ctype.texi: Mention the new module.
23563
23564 2009-10-18  Jim Meyering  <meyering@redhat.com>
23565
23566         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
23567         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
23568         right after its initialization, rather than farther down.
23569         Keeping these in close proximity makes it easier to ensure
23570         that each such variable is initialized.  E.g.,
23571
23572             LIB_CLOCK_GETTIME=
23573             AC_SUBST([LIB_CLOCK_GETTIME])
23574
23575         This change also increments these serial numbers.
23576         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
23577         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23578         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23579
23580 2009-10-18  Bruno Haible  <bruno@clisp.org>
23581
23582         Don't let environment variables perturb build.
23583         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
23584         (gl_PREREQ_GETHRXTIME): ... not here.
23585
23586 2009-10-18  Bruno Haible  <bruno@clisp.org>
23587
23588         Avoid symlink attack in localcharset module.
23589         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
23590         (O_NOFOLLOW): Define fallback.
23591         (get_charset_aliases): Don't open the file if it is a symbolic link.
23592         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
23593         gl_FCNTL_H.
23594         (gl_FCNTL_H): Require it.
23595         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
23596         * modules/localcharset (Files): Add m4/fcntl_h.m4.
23597         Reported by Fergal Glynn <fglynn@veracode.com>.
23598
23599 2009-10-18  Bruno Haible  <bruno@clisp.org>
23600
23601         Implement nproc for mingw.
23602         * lib/nproc.c: Include <windows.h>
23603         (num_processors): On native Windows platforms, try GetSystemInfo.
23604
23605 2009-10-18  Bruno Haible  <bruno@clisp.org>
23606
23607         Implement nproc for IRIX.
23608         * lib/nproc.c: Include <sys/sysmp.h>.
23609         (num_processors): On IRIX systems, try sysmp.
23610         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
23611
23612 2009-10-18  Bruno Haible  <bruno@clisp.org>
23613
23614         Implement nproc for HP-UX.
23615         * lib/nproc.c: Include <sys/pstat.h>
23616         (num_processors): On HP-UX systems, try pstat_getdynamic.
23617         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
23618         pstat_getdynamic.
23619
23620 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
23621             Bruno Haible  <bruno@clisp.org>
23622
23623         Implement nproc for NetBSD, OpenBSD.
23624         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
23625         (ARRAY_SIZE): New macro.
23626         (num_processors): On BSD systems, try sysctl of HW_NCPU.
23627         * m4/nproc.m4: New file.
23628         * modules/nproc (Files): Add m4/nproc.m4.
23629         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
23630         (Makefile.am): Instead, augment lib_SOURCES.
23631
23632 2009-10-18  Bruno Haible  <bruno@clisp.org>
23633
23634         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
23635         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
23636         sys/param.h.
23637
23638 2009-10-16  Eric Blake  <ebb9@byu.net>
23639
23640         utimensat: new module
23641         * modules/utimensat: New file.
23642         * lib/utimensat.c (utimensat): Likewise.
23643         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23644         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
23645         so we can work around Linux bugs.
23646         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23647         * modules/sys_stat (Makefile.am): Substitute them.
23648         * lib/sys_stat.in.h (utimensat): Declare it.
23649         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23650         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23651         * modules/utimensat-tests: New test.
23652         * tests/test-utimensat.c: Likewise.
23653
23654         utimens: let lutimens work on non-symlinks
23655         * lib/utimens.c (lutimens): Fall back to utimens rather than
23656         failing with ENOSYS, when file is not a symlink.
23657         (utimens): Reduce redirection.
23658         * tests/test-lutimens.h (test_lutimens): Update test to cover
23659         non-symlinks.
23660         * tests/test-utimens.h (test_utimens): Update test to cover
23661         symlinks.
23662         * tests/test-utimens.c (main): Update caller.
23663
23664         utimens: cache whether utimensat syscall works
23665         * lib/utimens.c (utimensat_works_really): New cache variable.
23666         (fdutimens, lutimens): Use it to avoid failing syscall.
23667
23668         test-stat-time, test-utimens: improve portability
23669         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
23670         ext4 on alpha, and for cygwin.
23671         * tests/test-utimens-common.h: New file.
23672         (nap): Factor delays into single function.
23673         * tests/test-lutimens.h (test_lutimens): Use new header.
23674         * tests/test-futimens.h (test_futimens): Likewise.
23675         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
23676         timestamps to occur from same machine, as was done previously for
23677         test_utimens.
23678         * modules/utimens-tests (Files): Ship new file.
23679         * modules/futimens-tests (Files): Likewise.
23680         Reported in part by Jim Meyering.
23681
23682         sys_stat: sort replacement declarations
23683         * lib/sys_stat.in.h: Sort declarations.
23684         * lib/futimens.c (futimens): Fix typo.
23685
23686 2009-10-15  Jim Meyering  <meyering@redhat.com>
23687
23688         don't let environment settings perturb build
23689         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
23690         could cause a configure-time and/or build-time malfunction.
23691         Typically, a configure-time function-in-library test is performed
23692         via code like this:
23693
23694           LIB_VAR=
23695           AC_SUBST([LIB_VAR])
23696           prefix_saved_LIBS=$LIBS
23697             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
23698                        [test "$ac_cv_search_FUNC" = "none required" ||
23699                         LIB_VAR=$ac_cv_search_FUNC])
23700           LIBS=$prefix_saved_LIBS
23701
23702         However, in each of the files affected by this change, the LIB_VAR=
23703         initialization was omitted.  Thus, when set in the environment, its
23704         value would propagate into generated Makefiles when FUNC is not found
23705         in LIB_NAME.
23706         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
23707         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23708         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23709
23710 2009-10-14  Eric Blake  <ebb9@byu.net>
23711
23712         fchdir: avoid infinite recursion in mingw
23713         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
23714         recursing.
23715
23716         test-stat-time: port to mingw
23717         * tests/test-stat-time.c (force_unlink): Return a value.
23718         (test_ctime) [W32]: Fix compilation error.
23719         (nap): Don't call usleep with too large an argument.  Use
23720         force_unlink.
23721         * doc/pastposix-functions/usleep.texi (usleep): Document the
23722         portability issue.
23723
23724 2009-10-13  Jim Meyering  <meyering@redhat.com>
23725
23726         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
23727         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
23728         * modules/pipe-filter-ii: Likewise.
23729         * modules/sys_socket-tests: Likewise.
23730         * modules/tsearch-tests: Likewise.
23731         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
23732         (check): Depend on it.
23733
23734 2009-10-12  Eric Blake  <ebb9@byu.net>
23735
23736         utimens-tests: port to NFS file systems
23737         * tests/test-utimens.h (test_utimens): Refactor utimecmp
23738         comparisons to avoid spurious failures from timestamp drift
23739         between NFS machines.
23740
23741 2009-10-12  Eric Blake  <ebb9@byu.net>
23742
23743         stat-time-tests: minor cleanups
23744         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
23745         * tests/test-stat-time.c (nap): Separate assignment from call.
23746         Suggested by Paolo Bonzini and Bruno Haible.
23747
23748         sys_stat: guarantee struct timespec
23749         * lib/sys_stat.in.h (includes): Always include <time.h>
23750         * modules/sys_stat (Depends-on): Add time.
23751         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
23752         mode_t permission values.
23753         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
23754         get at subsecond timestamps.
23755
23756 2009-10-10  Eric Blake  <ebb9@byu.net>
23757
23758         futimens: new module
23759         * modules/futimens: New file.
23760         * lib/futimens.c (futimens): Likewise.
23761         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
23762         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
23763         we can work around Linux bugs.
23764         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23765         * modules/sys_stat (Makefile.am): Substitute them.
23766         * lib/sys_stat.in.h (futimens): Declare it.
23767         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23768         * doc/posix-functions/futimens.texi (futimens): Likewise.
23769         * modules/futimens-tests: New test.
23770         * tests/test-futimens.c: Likewise.
23771
23772         utimens: introduce fdutimens
23773         * lib/utimens.h (fdutimens): New prototype.
23774         * lib/utimens.c (gl_futimens): Move guts...
23775         (fdutimens): ...to new interface.
23776         * tests/test-utimens.c (do_fdutimens): Use it.
23777
23778         utimens: add UTIME_NOW and UTIME_OMIT support
23779         * lib/utimens.c (validate_timespec, update_timespec): New helper
23780         functions.
23781         (gl_futimens, lutimens): Use them.
23782         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
23783         stdbool, sys_stat.
23784         (Link): Mention resulting library dependency.
23785         * modules/utimecmp (Link): Likewise.
23786         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
23787         (Makefile.am): Pick up library dependency.
23788         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
23789         definition.
23790         * tests/test-sys_stat.c: Test the definitions.
23791         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
23792         * NEWS: Document library dependency.
23793
23794         utimecmp: support symlink timestamps
23795         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
23796         hashing when possible.  Use pathconf when available.
23797         (SYSCALL_RESOLUTION): Recognize tighter resolution.
23798         * modules/utimecmp (Depends-on): Add lstat.
23799
23800         utimens: add lutimens interface
23801         * lib/utimens.c (lutimens): New function.
23802         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
23803         * lib/utimens.h (lutimens): Declare new interface.
23804         * tests/test-utimens.c (main): Enhance test.
23805         * tests/test-lutimens.h (test_lutimens): New file.
23806         * modules/utimens-tests (Files): Distribute it.
23807         (Depends-on): Add symlink.
23808         (configure.ac): Check for usleep.
23809
23810         utimens: validate futimens usage
23811         * lib/utimens.c (gl_futimens): Require valid fd up front, using
23812         fewer syscalls on failure later on.  Avoid compiler warning on
23813         mingw.
23814         * modules/utimens (Depends-on): Add dup2.
23815
23816         utimens: add test
23817         * modules/utimens-tests: New test.
23818         * tests/test-utimens.h: New file.
23819         * tests/test-futimens.h: Likewise.
23820         * tests/test-utimens.c: Likewise.
23821
23822         doc: mention timestamp portability issues
23823         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
23824         instead.
23825         * doc/posix-functions/utime.texi (utime): Likewise.
23826         * doc/posix-functions/utimes.texi (utimes): Likewise.
23827         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
23828         instead.
23829         * doc/posix-functions/futimens.texi (futimens): Mention utimens
23830         module.
23831         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23832         Mention weakness with symlink timestamps.
23833         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
23834         to utimensat/futimens instead.
23835         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
23836
23837         test-dup2: enhance test
23838         * tests/test-dup2.c (main): Also check AT_FDCWD.
23839
23840         test-stat-time: avoid more spurious failures
23841         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
23842         xfs; and avoid race if the two timestamps cross quantization edge.
23843
23844         relocatable: prefer 'file system' over 'filesystem'
23845         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
23846         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
23847         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
23848         * doc/relocatable.texi (Enabling Relocatability): Likewise.
23849         * lib/relocatable.c (compute_curr_prefix): Likewise.
23850
23851 2009-10-10  Jim Meyering  <meyering@redhat.com>
23852
23853         stat-time-tests: check for the usleep function
23854         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
23855
23856 2009-10-10  Bruno Haible  <bruno@clisp.org>
23857
23858         * modules/xnanosleep: Put the Link section after the Include section.
23859
23860 2009-10-09  Eric Blake  <ebb9@byu.net>
23861
23862         dup2: work around FreeBSD 6.1 bug
23863         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
23864         * doc/posix-functions/dup2.texi (dup2): Document it.
23865         Reported by Nelson H. F. Beebe and Jim Meyering.
23866
23867         test-stat-time: port to buggy NFS clients
23868         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
23869         (test_ctime): Also skip test if mtime and ctime are skewed.
23870
23871         maint: prefer 'file system' over 'filesystem'
23872         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23873         * doc/posix-functions/lstat.texi (lstat): Likewise.
23874         * lib/file-has-acl.c (file_has_acl): Likewise.
23875         * lib/fwriteerror.c [TEST]: Likewise.
23876         * tests/test-areadlink.h (test_areadlink): Likewise.
23877         * tests/test-areadlinkat-with-size.c (main): Likewise.
23878         * tests/test-areadlinkat.c (main): Likewise.
23879         * tests/test-canonicalize-lgpl.c (main): Likewise.
23880         * tests/test-canonicalize.c (main): Likewise.
23881         * tests/test-fstatat.c (main): Likewise.
23882         * tests/test-linkat.c (main): Likewise.
23883         * tests/test-lstat.h (test_lstat_func): Likewise.
23884         * tests/test-mkdir.h (test_mkdir): Likewise.
23885         * tests/test-readlink.h (test_readlink): Likewise.
23886         * tests/test-remove.c (main): Likewise.
23887         * tests/test-rename.h (test_rename): Likewise.
23888         * tests/test-renameat.c (main): Likewise.
23889         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23890         * tests/test-symlink.h (test_symlink): Likewise.
23891         * tests/test-symlinkat.c (main): Likewise.
23892         * tests/test-unlink.h (test_unlink_func): Likewise.
23893         * tests/test-unlinkat.c (main): Likewise.
23894
23895         maint: make realtime library usage explicit
23896         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
23897         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
23898         * modules/settime (Link): Likewise.
23899         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
23900
23901         test-stat-time: speed up execution
23902         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
23903         warning on mingw.
23904         (nap): New helper function.
23905         (prepare_test): Use it to reduce sleep time.
23906         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
23907         execution.
23908         * modules/stat-time-tests (configure.ac): Check for usleep.
23909
23910 2009-10-09  Jim Meyering  <meyering@redhat.com>
23911
23912         selinux-h: always use getfilecon wrappers
23913         * lib/getfilecon.c: New file.
23914         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
23915         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
23916         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
23917         (fgetfilecon): Provide a stub.
23918         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
23919         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
23920         file unconditionally.
23921         When <selinux/selinux.h> is found, arrange to use wrappers.
23922         * modules/selinux-h (Files): Add getfilecon.c.
23923         (Makefile.am): Substitute include-next-related bits
23924         into the now-always-generated selinux/selinux.h file.
23925         * doc/glibc-functions/lgetfilecon.texi: New file.
23926         * doc/glibc-functions/fgetfilecon.texi: New file.
23927         * doc/glibc-functions/getfilecon.texi: New file.
23928         * doc/glibc-functions/getfilecon-desc.texi: New file.
23929         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
23930         which to pull in the new files.
23931         * MODULES.html.sh (Misc): Add selinux-h.
23932
23933 2009-10-08  Jim Meyering  <meyering@redhat.com>
23934
23935         unistd: fix comment typo
23936         * lib/unistd.in.h (euidaccess): Fix a comment typo.
23937
23938 2009-10-08  Eric Blake  <ebb9@byu.net>
23939
23940         areadlink: use SIZE_MAX consistently
23941         * modules/areadlink (Depends-on): Add stdint.
23942         * modules/areadlink-with-size (Depends-on): Likewise.
23943         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
23944         gives NULL; drop sys/types, since unistd gives size_t; and add
23945         stdint for SIZE_MAX.
23946         (SIZE_MAX): Rely on headers.
23947         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
23948         and add stdint.
23949         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
23950         (SIZE_MAX): Likewise.
23951         (INITIAL_BUF_SIZE): Turn into enum.
23952         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
23953
23954 2009-10-08  Jim Meyering  <meyering@redhat.com>
23955
23956         areadlinkat: avoid compilation failure
23957         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
23958         Fix typo in comment.
23959
23960 2009-10-07  Eric Blake  <ebb9@byu.net>
23961
23962         areadlinkat-with-size: new module
23963         * modules/areadlinkat-with-size: New module.
23964         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
23965         * lib/areadlink.h (areadlinkat): Declare it.
23966         * MODULES.html.sh (File system functions): Mention it.
23967         * modules/areadlinkat-with-size-tests: New test.
23968         * tests/test-areadlinkat-with-size.c: New file.
23969
23970         xreadlinkat: new module
23971         * modules/xreadlinkat: New module.
23972         * lib/xreadlinkat.c (xreadlinkat): New file.
23973         * lib/xreadlink.h (xreadlinkat): Declare it.
23974         * MODULES.html.sh (File system functions): Mention it.
23975
23976         areadlinkat: new module
23977         * lib/at-func.c (FUNC_FAIL): New define.
23978         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
23979         * modules/areadlinkat: New module.
23980         * lib/linkat.c (areadlinkat): Move...
23981         * lib/areadlinkat.c (areadlinkat): ...to new file.
23982         * lib/areadlink.h (areadlinkat): Declare it.
23983         * modules/linkat (Depends-on): Add areadlinkat.
23984         * MODULES.html.sh (File system functions): Mention it.
23985         * modules/areadlinkat-tests: New test.
23986         * tests/test-areadlinkat.c: New file.
23987
23988         areadlink, areadlink-with-size: add tests
23989         * modules/areadlink-tests: New test.
23990         * modules/areadlink-with-size-tests: Likewise.
23991         * tests/test-areadlink.h: New file.
23992         * tests/test-areadlink.c: Likewise.
23993         * tests/test-areadlink-with-size.c: Likewise.
23994
23995         maint: minor cleanups
23996         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
23997         _UNUSED_PARAMETER_ instead.
23998         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
23999         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
24000         * modules/linkat-tests (Files): Distribute test-link.h.
24001
24002         openat, utimens: whitespace cleanup
24003         * lib/openat.c: Prefer space throughout, rather than mix of 8
24004         spaces vs. tabs.
24005         * lib/at-func.c: Likewise.
24006         * lib/utimens.c: Likewise.
24007
24008         openat: avoid using wrong fd
24009         * lib/openat.c (openat_permissive): Reject user's fd if saving the
24010         working directory chooses same fd.
24011         * lib/at-func.c (AT_FUNC_NAME): Likewise.
24012
24013         mkdir, mkdirat: fix cygwin 1.5.x bug
24014         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
24015         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
24016         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
24017         bug.
24018         (gl_PREREQ_MKDIR): Delete unused macro.
24019         * modules/mkdir (Files): Track file rename.
24020         (configure.ac): Update macro name.
24021         * modules/openat (Depends-on): Add mkdir.
24022         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
24023
24024         mkdir, mkdirat: add tests
24025         * modules/mkdir-tests: New test.
24026         * tests/test-mkdir.h: New file.
24027         * tests/test-mkdir.c: Likewise.
24028         * tests/test-mkdirat.c: Likewise.
24029         * modules/openat-tests (Files): Add new files.
24030         (Makefile.am): Run new test.
24031
24032 2009-10-06  Eric Blake  <ebb9@byu.net>
24033
24034         doc: tweak *at function documentation
24035         * doc/posix-functions/faccessat.texi (faccessat): Mention
24036         known issue with replacement.
24037         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
24038         * doc/posix-functions/linkat.texi (linkat): Likewise.
24039         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24040         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24041         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24042         * doc/posix-functions/renameat.texi (renameat): Likewise.
24043         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24044
24045         openat: fix GNU/Hurd bug in unlinkat
24046         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
24047         broken.
24048         * doc/posix-functions/unlink.texi (unlink): Document this.
24049         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
24050
24051         fdopendir: fix GNU/Hurd bug
24052         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
24053         allowing non-directory fds.
24054         * lib/fdopendir.c (rpl_fdopendir): Work around it.
24055         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24056         * modules/dirent (Makefile.am): Substitute it.
24057         * lib/dirent.in.h (fdopendir): Declare replacement.
24058         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
24059         * tests/test-fdopendir.c (main): Test something other than
24060         /dev/null, since on Hurd that behaves like a directory.
24061
24062         test-symlink: port to GNU/Hurd
24063         * tests/test-symlink.h (test_symlink): Relax expected errno.
24064
24065         doc: tweak more cygwin information
24066         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
24067         now compatible with glibc.
24068         * doc/posix-functions/getopt.texi (getopt): Likewise.
24069
24070         getopt-gnu: add another test
24071         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
24072         guarantee behavior relied on by m4.
24073         * tests/test-getopt.c (main): Use it.
24074         * modules/getopt-posix-tests (Depends-on): Add setenv.
24075         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
24076
24077         getopt: fix compilation on darwin
24078         * lib/getopt.in.h (includes): Leave breadcrumbs during system
24079         include.
24080         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
24081         Reported by Ludovic Courtès.
24082
24083 2009-10-06  Bruno Haible  <bruno@clisp.org>
24084
24085         * modules/size_max (Description): Discourage its use.
24086         Reported by Simon Josefsson.
24087
24088 2009-10-06  Jim Meyering  <meyering@redhat.com>
24089
24090         linkat: avoid compilation failure
24091         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
24092
24093 2009-10-05  Eric Blake  <ebb9@byu.net>
24094
24095         linkat: support Linux 2.6.17
24096         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
24097         linkat on Linux, but allow cache variable override.
24098         * lib/linkat.c (rpl_linkat): Define override.
24099         * modules/linkat (Depends-on): Add symlinkat.
24100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
24101         * modules/unistd (Makefile.am): Substitute it.
24102         * lib/unistd.in.h (linkat): Declare replacement.
24103         Reported by Pádraig Brady.
24104
24105         quotearg: port test to systems with C.UTF-8 locale
24106         * tests/test-quotearg.c (struct result_strings): Add another
24107         member, differentiating between C.ASCII and C.UTF-8 handling.
24108         (compare_strings): Add parameter.
24109         (main): Adjust all callers.
24110
24111         getopt: avoid clash with FreeBSD _getopt_internal
24112         * lib/getopt.in.h (_getopt_internal): Override the name.
24113         * lib/getopt_int.h (includes): Pick up any overrides.
24114         Reported by Reuben Thomas.
24115
24116         hash: allow C89 compilation
24117         * lib/hash.c (check_tuning): Move declaration before statement.
24118         Reported by Reuben Thomas.
24119
24120 2009-10-05  Karl Berry  <karl@gnu.org>
24121
24122         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
24123
24124 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
24125             Bruno Haible  <bruno@clisp.org>
24126
24127         * lib/uname.c (uname): Use a table-driven algorithm to compute
24128         Windows NT versions.
24129
24130 2009-10-04  Bruno Haible  <bruno@clisp.org>
24131
24132         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
24133         program_invocation_short_name.
24134         * modules/progname (configure.ac): Test for presence of
24135         program_invocation_short_name.
24136         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
24137
24138 2009-10-04  Bruno Haible  <bruno@clisp.org>
24139
24140         * lib/progname.c (set_program_name): Fix comment.
24141         Reported by Jim Meyering.
24142
24143 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
24144             Bruno Haible  <bruno@clisp.org>
24145
24146         * lib/uname.c: Include <string.h>.
24147         (uname): Do only one call to GetVersionEx in the common case.
24148
24149 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
24150             Bruno Haible  <bruno@clisp.org>
24151
24152         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
24153         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
24154         (uname): Add support for Windows CE and various non-x86 CPU types.
24155
24156 2009-10-03  Bruno Haible  <bruno@clisp.org>
24157
24158         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
24159         invocation to tests/configure.ac.
24160         Reported by Ian Beckwith <ianb@erislabs.net>.
24161
24162 2009-10-02  Eric Blake  <ebb9@byu.net>
24163
24164         fchdir: avoid compiler warning
24165         * lib/fchdir.c (canonicalize_file_name)
24166         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
24167
24168         test-open: support mingw errno values
24169         * tests/test-open.h (test_open): Relax test.
24170         * tests/test-fopen.h (test_fopen): Likewise.
24171         * tests/test-openat-safer.c (main): Likewise.
24172
24173         open: fix opening directory on mingw
24174         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
24175
24176         test-open: on GNU/Hurd, /dev/null is a directory
24177         * tests/test-fopen.h (main): Rename...
24178         (test_fopen): ...to this.  Use a guaranteed non-directory when
24179         confirming open behavior on trailing slash.
24180         * tests/test-openat-safer.c (main): Likewise.
24181         * tests/test-open.h (main): Likewise....
24182         (test_open): ...to this.
24183         * tests/test-fopen.c (main): Adjust caller.
24184         * tests/test-fopen-safer.c (main): Likewise.
24185         * tests/test-open.c (main): Likewise.
24186         * tests/test-fcntl-safer.c (main): Likewise.
24187         Reported by Samuel Thibault.
24188
24189         rename, fchdir: don't ignore chdir failure
24190         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
24191         * lib/rename.c (rpl_rename) [W32]: Likewise.
24192         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
24193         an empty destination directory if source cannot be renamed,
24194         although there is still possibility for failure.
24195         * doc/posix-functions/rename.texi (rename): Document the race.
24196         Reported by Jim Meyering.
24197
24198         maint: cleanup whitespace in recent commits
24199         * lib/rename.c (rpl_rename): Remove tabs.
24200         * tests/test-link.h (test_link): Likewise.
24201         * lib/fchdir.c (get_name): Likewise.
24202         Reported by Jim Meyering.
24203
24204 2009-10-02  Ben Pfaff  <blp@gnu.org>
24205
24206         relocatable-prog-wrapper: Add missing dependency on
24207         double-slash-root.
24208         * modules/relocatable-prog-wrapper: Add dependency.
24209         Reported by Ian Beckwith <ianb@erislabs.net>.
24210
24211 2009-10-02  Eric Blake  <ebb9@byu.net>
24212
24213         renameat: fix Solaris bugs
24214         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
24215         needed fixing.
24216         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
24217         * modules/stdio (Makefile.am): Substitute it.
24218         * lib/stdio.in.h (renameat): Declare replacement.
24219         * lib/renameat.c (rpl_renameat): Implement fix.
24220
24221         renameat: new module
24222         * modules/renameat: New file.
24223         * lib/renameat.c (renameat): Likewise.
24224         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
24225         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24226         * modules/stdio (Makefile.am): Substitute them.
24227         * lib/stdio.in.h (renameat): Declare it.
24228         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24229         * doc/posix-functions/renameat.texi (renameat): Likewise.
24230         * modules/renameat-tests: New test.
24231         * tests/test-renameat.c: Likewise.
24232
24233         rename: fix mingw bugs
24234         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
24235         directory overwrite bugs.
24236
24237         rename: fix another cygwin 1.5 bug
24238         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
24239         checks.
24240         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
24241         unnecessary cygwin workarounds.  Also work around bug with moving
24242         full directory onto an empty one.
24243         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
24244
24245         rename-dest-slash: merge into rename module
24246         * modules/rename-dest-slash (Status): Mark obsolete.
24247         (Depends-on): Add rename.
24248         (Files): Let rename do it all.
24249         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
24250         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
24251         * m4/rename-dest-slash.m4: ...so this file can be deleted.
24252         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
24253         * lib/rename.c (rpl_rename): Update comments.
24254
24255         rename: fix cygwin 1.5.x bugs
24256         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
24257         * lib/rename.c (rpl_rename): Work around them.
24258         * modules/rename (Depends-on): Add same-inode.
24259
24260         rename: fix Solaris 10 bug
24261         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
24262         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
24263         was the only bug.
24264
24265         rename: fix Solaris 9 bug
24266         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
24267         on non-directory.  Avoid calling exit.
24268         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
24269         strdup.
24270         * modules/rename-tests (Depends-on): Drop lstat.
24271         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
24272         (gl_PREREQ_RENAME): Delete unused macro.
24273
24274         rename-dest-slash: fix NetBSD bug
24275         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
24276         links.
24277         * modules/rename-dest-slash (Depends-on): Add same-inode.
24278
24279         rename-tests: new test, exposes several platform bugs
24280         * modules/rename-tests: New file.
24281         * tests/test-rename.h: Likewise.
24282         * tests/test-rename.c: Likewise.
24283         * doc/posix-functions/rename.texi (rename): Improve documentation,
24284         including bugs that will eventually be fixed in gnulib.
24285
24286 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
24287
24288         * lib/uname.c: Include <stdlib.h>
24289         (uname): Assume version info is available.
24290
24291 2009-10-02  Jim Meyering  <meyering@redhat.com>
24292
24293         gnu-web-doc-update: correct --help output
24294         * build-aux/gnu-web-doc-update: Make --help output relevant.
24295
24296         gnu-web-doc-update: add standard options
24297         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
24298
24299         gnu-web-doc-update: New module.
24300         Use this script to automatically update the on-line web documentation
24301         for your GNU project at http://www.gnu.org/software/$pkg/manual/
24302         * modules/gnu-web-doc-update: New file, from coreutils.
24303         * build-aux/gnu-web-doc-update: New script.
24304
24305 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
24306
24307         link: LoadLibrary is not needed.
24308         * lib/link.c: Use GetModuleHandle.
24309
24310 2009-10-01  Eric Blake  <ebb9@byu.net>
24311
24312         getopt: bump serial number
24313         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
24314         change.
24315
24316         tests: tighten link, rmdir, and remove tests
24317         * tests/test-link.h (includes): No need to use <config.h> here.
24318         Clean up if directory hard link was created, otherwise test for
24319         trailing '.'.
24320         * tests/test-linkat.c (main): Simplify.
24321         * tests/test-remove.c (main): Enhance test for trailing '.'.
24322         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24323
24324 2009-10-01  Jim Meyering  <meyering@redhat.com>
24325
24326         maint.mk: requiring "make major" was annoying, for a "minor" release.
24327         What is intended is "stable", to contrast with alpha and beta,
24328         so require "make stable", not "make major".
24329         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
24330         (get_tool_versions): Likewise.
24331         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
24332
24333 2009-09-30  Ben Pfaff  <blp@gnu.org>
24334
24335         Fix broken build of replacement for Windows tmpfile().
24336         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
24337         flags argument added along with the 'mkostemp' module.
24338
24339 2009-09-28  Bruno Haible  <bruno@clisp.org>
24340
24341         Avoid identifier clash with POSIX function 'remove' defined as a macro.
24342         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
24343         to 'remove_elt'.
24344         (gl_list_remove): Update.
24345         * lib/gl_list.c (gl_list_remove): Update.
24346         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
24347         to 'remove_elt'.
24348         (gl_oset_remove): Update.
24349         * lib/gl_list.c (gl_oset_remove): Update.
24350         Reported by Eric Blake.
24351
24352 2009-09-28  Eric Blake  <ebb9@byu.net>
24353
24354         doc: mention yet more cygwin 1.7 status
24355         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
24356         cygwin.
24357         * doc/glibc-functions/execvpe.texi (execvpe): New file.
24358         * doc/gnulib.texi (Glibc unistd.h): Mention it.
24359
24360         argp: fix test failure
24361         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
24362         that are not upper-case.  Pass correct range to tolower.
24363
24364 2009-09-27  Jim Meyering  <meyering@redhat.com>
24365
24366         test-yesno: work around sparc-dash here-document infelicity
24367         Without this change, the literal \177 byte in a here document
24368         would make dash 0.5.5.1-3 access uninitialized memory.
24369         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
24370         Instead, use a marker, "@", and filter through tr to create the desired
24371         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
24372
24373 2009-09-27  Bruno Haible  <bruno@clisp.org>
24374
24375         Disable untested support for new flavours of ACLs on AIX.
24376         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
24377         progress.
24378         * lib/set-mode-acl.c (qset_acl): Likewise.
24379
24380 2008-12-07  Bruno Haible  <bruno@clisp.org>
24381
24382         Add support for new flavours of ACLs on AIX. (Untested.)
24383         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
24384         (file_has_acl): Add support for newer AIX.
24385         * lib/set-mode-acl.c (qset_acl): Likewise.
24386         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
24387         Rainer Tammer <tammer@tammer.net>.
24388
24389 2009-09-26  Eric Blake  <ebb9@byu.net>
24390
24391         argp: fix compilation of getopt
24392         * lib/getopt.in.h (includes): Use different guard than glibc.
24393         Reported by Sergey Poznyakoff.
24394
24395         doc: mention more cygwin 1.7 status
24396         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
24397         bug.
24398         * doc/posix-functions/execl.texi (execl): Likewise.
24399         * doc/posix-functions/execle.texi (execle): Likewise.
24400         * doc/posix-functions/execlp.texi (execlp): Likewise.
24401         * doc/posix-functions/execv.texi (execv): Likewise.
24402         * doc/posix-functions/execve.texi (execve): Likewise.
24403         * doc/posix-functions/execvp.texi (execvp): Likewise.
24404         * doc/glibc-functions/canonicalize_file_name.texi
24405         (canonicalize_file_name): Cygwin 1.7 now provides this.
24406         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
24407         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
24408         on AT_SYMLINK_NOFOLLOW.
24409
24410 2009-09-24  Eric Blake  <ebb9@byu.net>
24411
24412         test-linkat: make test more robust
24413         * tests/test-linkat.c (main): Avoid collision with EEXIST.
24414
24415         getopt: fix inclusion guards for cygwin
24416         * modules/getopt-posix (Depends-on): Add include-next.
24417         (Makefile.am): Substitute more items in replacement header.
24418         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
24419         <getopt.h>.
24420         * lib/getopt.in.h (includes): Use split inclusion guard, and
24421         prefer <getopt.h> over include <unistd.h> when one is present.
24422         (option): Also override name of 'struct option'.
24423
24424         same-inode: revert prior change; it is not yet ready
24425         * NEWS: Undo mention of this change.
24426         * lib/same-inode.h (same-inode.h): Undo tri-state change.
24427         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24428         * lib/cycle-check.c (cycle_check): Likewise.
24429         * lib/same.c (same_name): Likewise.
24430         * lib/at-func2.c (at_func2): Likewise.
24431
24432 2009-09-23  Eric Blake  <ebb9@byu.net>
24433
24434         linkat: new module
24435         * modules/linkat: New file.
24436         * lib/at-func2.c (at_func2): Likewise.
24437         * lib/linkat.c (linkat): Likewise.
24438         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24439         * lib/openat-priv.h (at_func2): Add declaration.
24440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24441         * modules/unistd (Makefile.am): Substitute them.
24442         * lib/unistd.in.h (linkat): Declare it.
24443         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24444         * doc/posix-functions/linkat.texi (linkat): Likewise.
24445         * doc/posix-functions/link.texi (link): Tweak wording.
24446         * tests/test-link.c (main): Move guts...
24447         * tests/test-link.h (test_link): ...into new file.
24448         * modules/linkat-tests: New test.
24449         * tests/test-linkat.c: Likewise.
24450         * modules/link-tests (Files): Ship new file.
24451         (Depends-on): Add stdbool.
24452
24453         dirname: add library-safe mdir_name
24454         * lib/dirname.h (mdir_name): New prototype.
24455         * lib/dirname.c (dir_name): Move guts...
24456         (mdir_name): ...to new function that avoids xalloc_die.
24457
24458         fchdir: another mingw fix
24459         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
24460         * lib/fchdir.c (get_name): New helper method; skips canonicalize
24461         on mingw (where it has not yet been ported), and make it optional
24462         elsewhere.
24463         (_gl_register_fd): Use it.
24464
24465         same-inode: make SAME_INODE tri-state, to port to mingw
24466         * NEWS: Mention this change.
24467         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
24468         st_ino always being 0.
24469         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24470         * lib/cycle-check.c (cycle_check): Likewise.
24471         * lib/same.c (same_name): Likewise.
24472
24473         lstat: avoid mingw compilation error
24474         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
24475         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
24476         lstat ourselves.
24477         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
24478         was adequate.
24479         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
24480         the checks for lstat.
24481         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
24482
24483         link: fix test failure on Solaris 9
24484         * lib/link.c (rpl_link): Don't assume link will catch bogus
24485         trailing slash on source.
24486
24487         test-symlinkat: enhance test
24488         * tests/test-readlink.c (main): Move guts...
24489         * tests/test-readlink.h (test_readlink): ...into new file.
24490         * tests/test-symlink.c (main): Move guts...
24491         * tests/test-symlink.h (test_symlink): ...into new file.
24492         * tests/test-symlinkat.c (main): Use new files for further
24493         coverage.
24494         (do_symlink, do_readlink): New helper functions.
24495         * modules/symlink-tests (Files): Ship new file.
24496         (Depends-on): Add stdbool.
24497         * modules/readlink-tests (Files): Ship new file.
24498         (Depends-on): Add stdbool.
24499         * modules/symlinkat-tests (Files): Use new files.
24500
24501 2009-09-23  Eric Blake  <ebb9@byu.net>
24502
24503         readlink: document portability issue with symlink length
24504         * doc/posix-functions/lstat.texi (lstat): Mention that some file
24505         systems have bogus st_size on symlinks, and mention the
24506         areadlink-with-size module.
24507         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24508         * doc/posix-functions/readlink.texi (readlink): Mention the
24509         areadlink module, and ERANGE failure.
24510         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24511         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
24512
24513         readlink: fix Solaris 9 bug with trailing slash
24514         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
24515         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
24516         * doc/posix-functions/readlink.texi (readlink): Document this.
24517         * modules/readlink-tests: New test.
24518         * tests/test-readlink.c: Likewise.
24519
24520         readlink: fix cygwin 1.5.x bug with return type
24521         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
24522         * lib/unistd.in.h (readlink): Use ssize_t.
24523         * lib/readlink.c (readlink): Likewise.
24524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24525         * modules/unistd (Makefile.am): Substitute it.
24526         * lib/unistd.in.h (readlink): Declare replacement.
24527         * doc/posix-functions/readlink.texi (readlink): Document this.
24528
24529         symlink: use throughout gnulib
24530         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
24531         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
24532         symlink is not used.
24533         * modules/symlinkat (Depends-on): Add symlink.
24534         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24535         * modules/canonicalize-tests (Depends-on): Likewise.
24536         * modules/lstat-tests (Depends-on): Likewise.
24537         * modules/openat-tests (Depends-on): Likewise.
24538         * modules/remove-tests (Depends-on): Likewise.
24539         * modules/rmdir-tests (Depends-on): Likewise.
24540         * modules/unlink-tests (Depends-on): Likewise.
24541         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
24542         * tests/test-canonicalize.c (symlink): Likewise.
24543         * tests/test-fstatat.c (symlink): Likewise.
24544         * tests/test-lstat.c (symlink): Likewise.
24545         * tests/test-remove.c (symlink): Likewise.
24546         * tests/test-rmdir.c (symlink): Likewise.
24547         * tests/test-unlink.c (symlink): Likewise.
24548         * tests/test-unlinkat.c (symlink): Likewise.
24549
24550         symlink: new module, for Solaris 9 bug
24551         * modules/symlink: New file.
24552         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24553         * lib/symlink.c: Likewise.
24554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
24555         * modules/unistd (Makefile.am): Substitute them.
24556         * lib/unistd.in.h (symlink): Declare replacement.
24557         * MODULES.html.sh (File system functions): Mention it.
24558         * doc/posix-functions/symlink.texi (symlink): Likewise.
24559         * modules/symlink-tests: New test.
24560         * tests/test-symlink.c: Likewise.
24561
24562 2009-09-23  Bruno Haible  <bruno@clisp.org>
24563
24564         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
24565         when needed.
24566         Test case: gnulib-tool --import --with-tests atexit inttypes.
24567         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
24568
24569 2009-09-23  Bruno Haible  <bruno@clisp.org>
24570
24571         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
24572         subcommand, not in a subshell.
24573
24574 2009-09-22  Eric Blake  <ebb9@byu.net>
24575
24576         unistd: sort replacement declarations
24577         * lib/unistd.in.h: Sort declarations.
24578
24579         open, openat: minor optimization
24580         * lib/open.c (open): If open succeeded, len is non-zero.
24581         * lib/openat.c (rpl_openat): Likewise.
24582
24583         link-follow: ensure correct result
24584         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
24585         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
24586         distinguish between possible failures.
24587
24588 2009-09-21  Eric Blake  <ebb9@byu.net>
24589
24590         fts: avoid compiler warning
24591         * lib/fts.c (dirent_inode_sort_may_be_useful)
24592         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
24593
24594 2009-09-19  Bruno Haible  <bruno@clisp.org>
24595
24596         * lib/progreloc.c (canonicalize_file_name): New declaration.
24597
24598 2009-09-19  Eric Blake  <ebb9@byu.net>
24599
24600         link: fix quoting
24601         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
24602
24603         openat: fix openat bugs on Solaris 9
24604         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
24605         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
24606         * modules/openat (Depends-on): Add open.
24607         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
24608         * modules/fcntl-h (Makefile.am): Substitute it.
24609         * lib/fcntl.in.h (openat): Declare replacement.
24610         * doc/posix-functions/openat.texi (openat): Document this.
24611
24612         openat: move fstatat and unlinkat into correct files
24613         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
24614         compiled.
24615         * lib/openat.c (fstatat, unlinkat): Move...
24616         * lib/fstatat.c (fstatat): ...into correct files.
24617         * lib/unlinkat.c (unlinkat): Likewise.
24618
24619         openat: fix unlinkat bugs on Solaris 9
24620         * lib/unlinkat.c (unlinkat): New file.
24621         * modules/openat (Depends-on): Add unlink.
24622         (Files): Distribute it.
24623         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
24624         trailing slash behavior is broken.
24625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24626         * modules/unistd (Makefile.am): Substitute it.
24627         * lib/unistd.in.h (unlinkat): Declare replacement.
24628         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
24629
24630         openat: fix fstatat bugs on Solaris 9
24631         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
24632         stat.
24633         * doc/posix-functions/fstatat.texi (fstatat): Document this.
24634
24635         test-unlinkat: enhance test, to expose Solaris 9 bug
24636         * tests/test-unlink.c (main): Factor guts...
24637         * tests/test-unlink.h (test_rmdir_func): ...into new file.
24638         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
24639         * tests/test-rmdir.c (main): Adjust caller.
24640         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
24641         (unlinker): New helper function.
24642         (rmdirat): Enhance check.
24643         * modules/rmdir-tests (Depends-on): Add stdbool.
24644         * modules/unlink-tests (Depends-on): Likewise.
24645         (Files): Add test-unlink.h.
24646         * modules/openat-tests (Files): Likewise.
24647         (Depends-on): Add unlinkdir.
24648
24649         test-fstatat: new test, to expose Solaris 9 bugs
24650         * tests/test-stat.c (main): Factor guts...
24651         * tests/test-stat.h (test_stat_func): ...into new file.
24652         * tests/test-lstat.c (main): Factor guts...
24653         * tests/test-lstat.h (test_lstat_func): ...into new file.
24654         * tests/test-fstatat.c: New file.
24655         * modules/stat-tests (Files): Add test-stat.h.
24656         * modules/lstat-tests (Files): Add test-lstat.h.
24657         (Depends-on): Add stdbool.
24658         * modules/openat-tests (Depends-on): Add pathmax.
24659         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
24660         (Makefile.am): Run new test.
24661
24662         remove: new module, for mingw and Solaris 9 bugs
24663         * modules/remove: New file.
24664         * lib/remove.c: Likewise.
24665         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
24666         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24667         * modules/stdio (Makefile.am): Use them.
24668         * lib/stdio.in.h (remove): Declare replacement.
24669         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24670         * doc/posix-functions/remove.texi (remove): Likewise.
24671         * modules/remove-tests: New test.
24672         * tests/test-remove.c: Likewise.
24673
24674         unlink: new module, for Solaris 9 bug
24675         * modules/unlink: New file.
24676         * lib/unlink.c: Likewise.
24677         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24678         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24679         * modules/unistd (Makefile.am): Use them.
24680         * lib/unistd.in.h (stat): Declare replacement.
24681         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24682         * doc/posix-functions/unlink.texi (unlink): Likewise.
24683         * modules/unlink-tests: New test.
24684         * tests/test-unlink.c: Likewise.
24685
24686         lstat: fix Solaris 9 bug
24687         * lib/lstat.c (lstat): Also check for trailing slash on
24688         non-symlink, non-directories.  Use stat module to simplify logic.
24689         * doc/posix-functions/lstat.texi (lstat): Document it.
24690         * modules/lstat-tests (Depends-on): Add errno, same-inode.
24691         (configure.ac): Check for symlink.
24692         * tests/test-lstat.c (main): Add more tests.
24693
24694         stat: add as dependency to other modules
24695         * modules/chown (Depends-on): Add stat.
24696         * modules/euidaccess (Depends-on): Likewise.
24697         * modules/fchdir (Depends-on): Likewise.
24698         * modules/isdir (Depends-on): Likewise.
24699         * modules/link (Depends-on): Likewise.
24700         * modules/lstat (Depends-on): Likewise.
24701         * modules/mkdir-p (Depends-on): Likewise.
24702         * modules/modechange (Depends-on): Likewise.
24703         * modules/open (Depends-on): Likewise.
24704         * modules/readlink (Depends-on): Likewise.
24705         * modules/same (Depends-on): Likewise.
24706
24707         stat: fix Solaris 9 bug
24708         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
24709         slash.
24710         * lib/stat.c (rpl_stat): Work around it.
24711         * doc/posix-functions/stat.texi (stat): Update documentation.
24712
24713         stat: new module, for mingw bug
24714         * modules/stat: New file.
24715         * lib/stat.c: Likewise.
24716         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24717         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24718         * modules/sys_stat (Makefile.am): Use them.
24719         * lib/sys_stat.in.h (stat): Declare replacement.
24720         * lib/openat.c (fstatat): Deal with lstat and stat being function
24721         macros.
24722         * modules/openat (Depends-on): Add inline.
24723         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24724         * doc/posix-functions/stat.texi (stat): Likewise.
24725         * modules/stat-tests: New test.
24726         * tests/test-stat.c: Likewise.
24727
24728 2009-09-19  Jim Meyering  <meyering@redhat.com>
24729
24730         syntax-check: detect unnecessary inclusion of canonicalize.h
24731         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
24732
24733 2009-09-19  Eric Blake  <ebb9@byu.net>
24734
24735         canonicalize-lgpl: adjust clients to use correct header
24736         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24737         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
24738         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
24739         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
24740         * lib/progreloc.c (includes): Likewise.
24741
24742 2009-09-19  Jim Meyering  <meyering@redhat.com>
24743
24744         test-posixtm.c: correct a comment
24745         * tests/test-posixtm.c: Correct first-line comment.
24746         Spotted by Eric Blake.
24747
24748 2009-09-16  Jim Meyering  <meyering@redhat.com>
24749
24750         posixtm-tests: make T const-correct; add a test case
24751         * tests/test-posixtm.c (T): Declare const.
24752         Add a test for -(2^31+1).
24753         Remove useless can-succeed-only-in-2002 test.
24754
24755         posixtm-tests: adjust the sole failing test
24756         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
24757         expected output matches what mktime now produces.  Cross-checked via
24758         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
24759
24760         posixtm: move #ifdef'd tests into a new module
24761         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
24762         * tests/test-posixtm.c: ... this new file.
24763         * modules/posixtm-tests: New module.
24764
24765 2009-09-19  Eric Blake  <ebb9@byu.net>
24766
24767         openat: simplify use of at-func.c
24768         * lib/at-func.c (includes): Include prerequisites here, to
24769         simplify requirements on client files.
24770         * lib/openat-priv.h: Add double-inclusion guard.
24771         * lib/faccessat.c (includes): Simplify.
24772         * lib/fchmodat.c (includes): Likewise.
24773         * lib/fchownat.c (includes): Likewise.
24774         * lib/mkdirat.c (includes): Likewise.
24775         * lib/mkfifoat.c (includes): Likewise.
24776         * lib/symlinkat.c (includes): Likewise.
24777
24778         openat: allow return of fd 0
24779         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
24780         * modules/save-cwd (Depends-on): Replace fcntl-safer with
24781         unistd-safer.
24782         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
24783         <fcntl.h>; this module does not leak fds.
24784         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
24785         must be allowed to return 0, leaving openat_safer to add the
24786         safety.
24787         (openat_permissive): Avoid writing to just-opened fd 2 if
24788         restoring the current directory fails.
24789         * lib/openat-die.c (openat_restore_fail): Add comment.
24790         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
24791         (save_cwd): Guarantee safe fd, but without use of open_safer.
24792         * tests/test-openat.c: New test.
24793         * modules/openat-tests (Files, Makefile.am): Distribute and build
24794         new file.
24795
24796         relocatable-prog-wrapper: fix build
24797         * modules/relocatable-prog-wrapper (Files): Update name of
24798         canonicalize m4 file, broken on 2009-09-17.
24799         Reported by emad hajjar <aleppos@hotmail.com>.
24800
24801 2009-09-19  Bruno Haible  <bruno@clisp.org>
24802
24803         * lib/safe-alloc.h: Use the standard header with GPL copyright.
24804         * lib/safe-alloc.c: Likewise.
24805         Reported by Ian Beckwith <ianb@erislabs.net>.
24806
24807 2009-09-18  Bruno Haible  <bruno@clisp.org>
24808
24809         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
24810         Reported by <erobles@sensacd.com.mx>.
24811
24812 2009-09-17  Eric Blake  <ebb9@byu.net>
24813
24814         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
24815         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
24816         slashes when checking if last component is missing.
24817         * tests/test-canonicalize.c (main): Test this.
24818
24819         canonicalize, canonicalize-lgpl: honor // if distinct from /
24820         * modules/canonicalize (Files): Add double-slash-root.m4.
24821         * modules/canonicalize-lgpl (Files): Likewise.
24822         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24823         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
24824         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
24825         fallback definition.
24826         (canonicalize_filename_mode): Use it to protect //.
24827         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
24828         (__realpath): Likewise.
24829         * tests/test-canonicalize.c (main): Test this.
24830         * tests/test-canonicalize-lgpl.c (main): Likewise.
24831         * modules/canonicalize-tests (Depends-on): Add same-inode.
24832         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24833
24834         canonicalize-lgpl: fix glibc bug with trailing slash
24835         * m4/canonicalize-lgpl.m4: Move contents...
24836         * m4/canonicalize.m4: ...here.
24837         (gl_CANONICALIZE_LGPL): Factor realpath check...
24838         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
24839         glibc 2.3.5 bug, fixed 2005-04-27.
24840         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
24841         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
24842         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
24843         * modules/canonicalize-lgpl (Files): Manage file rename.
24844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24845         * modules/stdlib (Makefile.am): Substitute witness.
24846         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
24847         is needed.
24848         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
24849         replacement is required.
24850         * lib/canonicalize.c (canonicalize_file_name): Likewise.
24851         * doc/glibc-functions/canonicalize_file_name.texi
24852         (canonicalize_file_name): Document this.
24853         * doc/posix-functions/realpath.texi (realpath): Likewise.
24854
24855         canonicalize-lgpl: reject non-directory with trailing slash
24856         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
24857         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
24858         catches failures in glibc 2.3.5.
24859         * tests/test-canonicalize.c (main): Likewise.
24860
24861         canonicalize-lgpl: use native realpath if it works
24862         * lib/canonicalize-lgpl.c (realpath): Guard with
24863         FUNC_REALPATH_WORKS.
24864         * lib/stdlib.in.h (realpath): Make declaration optional based on
24865         HAVE_REALPATH.
24866         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
24867         native realpath works.
24868         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24869         * modules/stdlib (Makefile.am): Substitute witness.
24870
24871         canonicalize, canonicalize-lgpl: use <stdlib.h>
24872         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
24873         (Include): Mention <stdlib.h>.
24874         (configure.ac): Mention functions we provide.
24875         * modules/canonicalize (configure.ac): Likewise.
24876         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
24877         realpath if canonicalize_file_name is missing.
24878         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
24879         * modules/stdlib (Makefile.am): Substitute witnesses.
24880         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
24881         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
24882         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
24883         * NEWS: Document this.
24884         * doc/glibc-functions/canonicalize_file_name.texi
24885         (canonicalize_file_name): Likewise.
24886         * doc/posix-functions/realpath.texi (realpath): Likewise.
24887         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
24888
24889         test-canonicalize: consolidate into single C program
24890         * tests/test-canonicalize.sh: Delete; move setup into...
24891         * tests/test-canonicalize.c (main): ...the program, making it
24892         easier to run in debugger.  Add some tests.
24893         * modules/canonicalize-tests (Files): Remove unused file.
24894         (Depends-on): Add progname.
24895         (configure.ac, Makefile.am): Simplify.
24896
24897         test-canonicalize-lgpl: consolidate into single C program
24898         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
24899         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
24900         easier to run in debugger.  Add some tests.
24901         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
24902         (configure.ac, Makefile.am): Simplify.
24903
24904         canonicalize: avoid resolvepath
24905         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
24906         unnecessary checks.
24907         * lib/canonicalize.c (includes): Simplify.
24908         (canonicalize_file_name): Drop resolvepath implementation.
24909         * modules/canonicalize (Depends-on): Drop filenamecat.
24910
24911         canonicalize: don't lose errno
24912         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
24913         over calls to free.
24914
24915         canonicalize: simplify errno handling
24916         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
24917         assignment.
24918
24919         canonicalize, canonicalize-lgpl: update module dependencies
24920         * modules/canonicalize (Depends-on): Add extensions, lstat,
24921         pathmax, stdlib.
24922         (Files): Drop pathmax.h.
24923         (configure.ac): Adjust macro name.
24924         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
24925         lstat, stdlib, sys_stat.
24926         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
24927         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
24928         extensions.
24929         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
24930         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
24931         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
24932         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
24933         declaration, if available.
24934         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
24935         we can rely on the readlink module.
24936         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
24937         (includes): Use <unistd.h> unconditionally.
24938
24939 2009-09-17  Eric Blake  <ebb9@byu.net>
24940
24941         maint: make Include sections of modules consistent
24942         * modules/alloca: Use only header name; no need to list #include.
24943         * modules/alloca-opt: Likewise.
24944         * modules/arpa_inet: Likewise.
24945         * modules/canon-host: Likewise.
24946         * modules/configmake: Likewise.
24947         * modules/dirent: Likewise.
24948         * modules/eealloc: Likewise.
24949         * modules/environ: Likewise.
24950         * modules/fchdir: Likewise.
24951         * modules/fcntl: Likewise.
24952         * modules/fcntl-h: Likewise.
24953         * modules/gethrxtime: Likewise.
24954         * modules/gettime: Likewise.
24955         * modules/ignore-value: Likewise.
24956         * modules/inet_ntop: Likewise.
24957         * modules/inet_pton: Likewise.
24958         * modules/inttypes: Likewise.
24959         * modules/isnand-nolibm: Likewise.
24960         * modules/isnanf-nolibm: Likewise.
24961         * modules/mbchar: Likewise.
24962         * modules/mbfile: Likewise.
24963         * modules/mbiter: Likewise.
24964         * modules/mbuiter: Likewise.
24965         * modules/netdb: Likewise.
24966         * modules/netinet_in: Likewise.
24967         * modules/nproc: Likewise.
24968         * modules/pagealign_alloc: Likewise.
24969         * modules/poll: Likewise.
24970         * modules/printf-frexp: Likewise.
24971         * modules/pthread: Likewise.
24972         * modules/putenv: Likewise.
24973         * modules/random_r: Likewise.
24974         * modules/relocatable-prog: Likewise.
24975         * modules/search: Likewise.
24976         * modules/select: Likewise.
24977         * modules/selinux-h: Likewise.
24978         * modules/settime: Likewise.
24979         * modules/signal: Likewise.
24980         * modules/size_max: Likewise.
24981         * modules/socklen: Likewise.
24982         * modules/ssize_t: Likewise.
24983         * modules/stdarg: Likewise.
24984         * modules/stdbool: Likewise.
24985         * modules/stddef: Likewise.
24986         * modules/stdint: Likewise.
24987         * modules/stdio: Likewise.
24988         * modules/stdlib: Likewise.
24989         * modules/string: Likewise.
24990         * modules/strings: Likewise.
24991         * modules/sys_file: Likewise.
24992         * modules/sys_ioctl: Likewise.
24993         * modules/sys_select: Likewise.
24994         * modules/sys_socket: Likewise.
24995         * modules/sys_stat: Likewise.
24996         * modules/sys_time: Likewise.
24997         * modules/sys_times: Likewise.
24998         * modules/sys_utsname: Likewise.
24999         * modules/sys_wait: Likewise.
25000         * modules/sysexits: Likewise.
25001         * modules/time: Likewise.
25002         * modules/times: Likewise.
25003         * modules/tmpfile: Likewise.
25004         * modules/trim: Likewise.
25005         * modules/unistd: Likewise.
25006         * modules/wchar: Likewise.
25007         * modules/wctype: Likewise.
25008
25009 2009-09-17  Bruno Haible  <bruno@clisp.org>
25010
25011         Make getdate.y compile on QNX and NetBSD 5 / i386.
25012         * m4/getdate.m4 (gl_GETDATE): Conditionally define
25013         TIME_T_FITS_IN_LONG_INT.
25014         * lib/getdate.y (long_time_t): New type.
25015         (relative_time): Change type of 'seconds' field to long_time_t.
25016         (get_date): Update types of local variables. Check against overflow
25017         during conversion from long_time_t to time_t.
25018         Reported by Matt Kraai <kraai@ftbfs.org>
25019         and Hasso Tepper <hasso@netbsd.org>.
25020
25021 2009-09-17  Bruno Haible  <bruno@clisp.org>
25022
25023         * modules/COPYING: Update copyright years.
25024         * modules/README: Likeiwse.
25025         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
25026         Reported by Ian Beckwith <ianb@erislabs.net>.
25027
25028 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
25029
25030         * users.txt: Update references for gnuit package.
25031
25032 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
25033
25034         * m4/getdelim.m4: Fix typo in copyright line.
25035
25036 2009-09-17  Bruno Haible  <bruno@clisp.org>
25037
25038         * lib/atoll.c: Use the standard header with GPL copyright.
25039         * lib/argz.in.h: Likewise.
25040         * lib/glob.c: Likewise.
25041         * lib/glob-libc.h: Likewise.
25042         * lib/random_r.c: Likewise.
25043         * lib/siglist.h: Likewise.
25044         * lib/strsignal.c: Likewise.
25045         Reported by Ian Beckwith <ianb@erislabs.net>.
25046
25047 2009-09-17  Eric Blake  <ebb9@byu.net>
25048
25049         rmdir: ensure correct dependency order
25050         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
25051
25052 2009-09-17  Bruno Haible  <bruno@clisp.org>
25053
25054         Disable assertion that fails on NetBSD 5 / i386.
25055         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
25056         Reported by Sam Steingold <sds@gnu.org>
25057         and Hasso Tepper <hasso@netbsd.org>.
25058
25059 2009-09-16  Eric Blake  <ebb9@byu.net>
25060
25061         unlinkdir: port to mingw
25062         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
25063         on which no one can unlink a directory.
25064
25065         stdlib: sort witness names
25066         * modules/stdlib (Makefile.am): Sort replacements.
25067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
25068         * lib/stdlib.in.h: Likewise.
25069
25070         parse-duration-tests: avoid link failure
25071         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
25072         LIBINTL.
25073         Reported by Tom G. Christensen.
25074
25075         openat-tests: ensure unlinkat behaves like rmdir
25076         * tests/test-rmdir.c (main): Factor guts...
25077         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
25078         * modules/rmdir-tests (Files): Ship new file.
25079         * modules/openat-tests: New test.
25080         * tests/test-unlinkat.c: Likewise.
25081
25082         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
25083         * modules/rmdir-errno (Status, Notice): Now obsolete.
25084
25085         rmdir: work around cygwin 1.5.x and mingw bugs
25086         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
25087         * lib/rmdir.c (rmdir): Work around it.
25088         * modules/rmdir (Status, Notice): No longer obsolete.
25089         (Files): Add dos.m4.
25090         (Depends-on): Add unistd.
25091         (configure.ac): Set witnesses.
25092         (License): Relax to LGPLv2+.
25093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
25094         * modules/unistd (Makefile.am): Substitute witnesses.
25095         * lib/unistd.in.h (rmdir): Declare replacement.
25096         * doc/posix-functions/rmdir.texi (rmdir): Document this.
25097         * modules/rmdir-tests: New tests.
25098         * tests/test-rmdir.c: Likewise.
25099
25100 2009-09-15  Eric Blake  <ebb9@byu.net>
25101
25102         fchdir: improve use of replacement functions
25103         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
25104         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
25105         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
25106         REPLACE_CLOSEDIR.
25107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
25108         * modules/sys_stat (Makefile.am): Substitute correct witness.
25109         * modules/dirent (Makefile.am): Likewise.
25110         * modules/unistd (Makefile.am): Likewise.
25111         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
25112         * lib/unistd.in.h (dup): Likewise.
25113         * lib/sys_stat.in.h (fstat): Likewise.
25114
25115         maint: ignore gnulib-tool temp files
25116         * .gitignore: Ignore files created during gnulib-tool --test.
25117
25118 2009-09-13  Jim Meyering  <meyering@redhat.com>
25119
25120         posixtm: don't reject a time that specify "60" as the number of seconds
25121         * lib/posixtm.c (posixtime): The code to reject invalid dates
25122         would also reject a time specified with the .60 suffix.
25123         But POSIX allows that, in order to accommodate leap seconds.
25124         So don't reject it.
25125         (main): Adjust tests accordingly.
25126         * modules/posixtm (Depends-on): Add stpcpy.
25127
25128 2009-09-11  Jim Meyering  <meyering@redhat.com>
25129
25130         announce-gen: include [$release_type] in emitted Subject:
25131         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
25132         e.g., [stable] in the emitted Subject: line.
25133
25134 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25135
25136         Remove obsolete macros from several modules.
25137         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
25138         obsolete Autoconf macros with their modern counterparts.
25139         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
25140         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
25141         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
25142         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
25143         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
25144         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25145         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25146         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25147         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25148         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
25149         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
25150         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
25151         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
25152         * m4/sockets.m4 (gl_SOCKETS): Likewise.
25153         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
25154         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
25155         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
25156         * m4/time_r.m4 (gl_TIME_R): Likewise.
25157         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25158         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
25159         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
25160
25161         Fix copyright header in build-aux scripts.
25162         * build-aux/git-version-gen: Fix copyright header to match GPLv3
25163         recommendation.
25164         * build-aux/ncftpput-ftp: Likewise.
25165         * build-aux/update-copyright: Likewise.
25166
25167 2009-09-09  Eric Blake  <ebb9@byu.net>
25168
25169         test-link: allow Linux choice of errno
25170         * tests/test-link.c (main): Relax test for alternate error.
25171
25172         strndup: fix improper m4 caching
25173         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
25174         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
25175         (gl_PREREQ_STRNDUP): Delete.
25176         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
25177         * modules/string (Makefile.am): Substitute it.
25178         * lib/string.in.h (strndup): Modernize prototype.
25179
25180         getcwd: port to mingw
25181         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
25182         different from the POSIX assumptions made throughout the getcwd
25183         module; fortunately, the mingw getcwd does not need replacement.
25184         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
25185         * modules/getcwd-tests: New test.
25186         * tests/test-getcwd.c: Likewise.
25187
25188         link: fix platform bugs
25189         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
25190         * lib/link.c (link): Work around them.  Fix related mingw bug.
25191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
25192         * modules/unistd (Makefile.am): Substitute it.
25193         * lib/unistd.in.h (link): Declare replacement.
25194         * doc/posix-functions/link.texi (link): Document this.
25195         * modules/link (Depends-on): Add strdup-posix, sys_stat.
25196
25197         test-link: consolidate into single C program, test more cases
25198         * tests/test-link.sh: Delete.
25199         * tests/test-link.c: Test more error conditions.  Exposes bugs on
25200         at least Cygwin and Solaris.
25201         * modules/link-tests (Files): Remove unused file.
25202         (Depends-on): Add errno, sys_stat.
25203         (Makefile.am): Simplify.
25204
25205 2009-09-08  Bruno Haible  <bruno@clisp.org>
25206
25207         Work around towlower, towupper bug on mingw.
25208         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
25209         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
25210         * doc/posix-functions/towlower.texi: Mention the mingw bug.
25211         * doc/posix-functions/towupper.texi: Likewise.
25212         Reported by Eric Blake.
25213
25214 2009-09-08  Jim Meyering  <meyering@redhat.com>
25215
25216         build: don't try to run autoheader if we don't use it
25217         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
25218         is not used in configure.ac.
25219
25220 2009-09-08  Eric Blake  <ebb9@byu.net>
25221
25222         euidaccess: fix compilation error
25223         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
25224
25225         rawmemchr: relax license
25226         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
25227         okay.
25228         Reported by Jim Meyering.
25229
25230         mkfifoat: new module
25231         * modules/mkfifoat: New file.
25232         * lib/mkfifoat.c: Likewise.
25233         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
25234         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25235         * modules/sys_stat (Makefile.am): Use them.
25236         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
25237         * MODULES.html.sh (File system functions): Mention module.
25238         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25239         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25240         * modules/mkfifoat-tests: New test.
25241         * tests/test-mkfifoat.c: Likewise.
25242
25243         strchrnul: relax license
25244         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
25245         okay.
25246         Reported by Jim Meyering.
25247
25248 2009-09-08  Eric Blake  <ebb9@byu.net>
25249
25250         fstatat: fix compilation on Solaris
25251         * lib/fstatat.c (includes): Add fcntl.h.
25252         Reported by Pádraig Brady.
25253
25254 2009-09-07  Eric Blake  <ebb9@byu.net>
25255
25256         rename: modernize replacement
25257         * modules/rename (Depends-on): Add stdio.
25258         (configure.ac): Declare witness.
25259         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
25260         stdio take care of replacement.
25261         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
25262         * modules/stdio (Makefile.am): Substitute them.
25263         * lib/stdio.in.h (rename): Declare replacement.
25264         * lib/rename.c (includes): Allow cross-compilation to non-windows
25265         machines.
25266         * doc/posix-functions/rename.texi (rename): Improve
25267         documentation.
25268
25269         stdio: sort witness names
25270         * modules/stdio (Makefile.am): Sort replacements.
25271         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25272         * lib/stdio.in.h: Likewise.
25273
25274         getcwd: minor cleanups
25275         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
25276         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
25277
25278         openat: provide more convenience names
25279         * modules/faccessat (configure.ac): Add C witness.
25280         * lib/unistd.in.h (readlinkat): Fix typo.
25281         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
25282         convenience wrappers.
25283         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
25284         wrappers in syntax checks.
25285
25286 2009-09-06  Eric Blake  <ebb9@byu.net>
25287
25288         doc: fix comments in recent patches
25289         * lib/faccessat.c: Mention correct function.
25290         * lib/fchmodat.c: Likewise.
25291         * lib/fchownat.c: Likewise.
25292         * lib/symlinkat.c: Likewise.
25293         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
25294         constants.
25295
25296         faccessat, symlinkat: continue cleanup of previous patch
25297         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
25298         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25299         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
25300         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
25301         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
25302         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
25303         set.
25304
25305 2009-09-06  Bruno Haible  <bruno@clisp.org>
25306
25307         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
25308         (fstatat): Declare if GNULIB_FSTATAT is set.
25309         (mkdirat): Declare if GNULIB_MKDIRAT is set.
25310         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
25311         (unlinkat): Declare if GNULIB_UNLINKAT is set.
25312         * modules/fcntl-h (Files): Remove m4/openat.m4.
25313         * modules/sys_stat (Files): Remove m4/openat.m4.
25314         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
25315         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
25316         * modules/unistd (Files): Remove m4/openat.m4.
25317         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
25318         GNULIB_OPENAT.
25319         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
25320         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
25321         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
25322         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
25323         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
25324         gl_OPENAT_DEFAULTS.
25325         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
25326         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
25327         Don't require gl_OPENAT_DEFAULTS.
25328         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
25329         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
25330         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
25331         (gl_OPENAT_DEFAULTS): Remove macro.
25332
25333 2009-09-06  Bruno Haible  <bruno@clisp.org>
25334
25335         * modules/openat (configure.ac): Remove unneeded witness.
25336
25337 2009-09-06  Bruno Haible  <bruno@clisp.org>
25338
25339         Set errno to ENOSYS when a function is entirely unsupported.
25340         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
25341         EOPNOTSUPP.
25342         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25343         * modules/chown (Depends-on): Remove errno.
25344
25345 2009-09-06  Bruno Haible  <bruno@clisp.org>
25346
25347         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
25348
25349 2009-09-06  Bruno Haible  <bruno@clisp.org>
25350
25351         * lib/sys_stat.in.h: Fix preprocessor command indentation.
25352
25353 2009-09-06  Ben Pfaff  <blp@gnu.org>
25354             Bruno Haible  <bruno@clisp.org>
25355
25356         Work around a glibc bug in strtok_r.
25357         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
25358         Undefine if UNDEFINE_STRTOK_R is set.
25359         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
25360         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25361         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
25362         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
25363         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
25364         UNDEFINE_STRTOK_R.
25365         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
25366
25367 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25368
25369         exclude: minor fix
25370         * lib/exclude.c: Include wctype.h
25371
25372 2009-09-06  Akim Demaille  <demaille@gostai.com>
25373
25374         bootstrap: improve error message
25375         * build-aux/bootstrap (find_tool): Upon failure, report the list
25376         of candidates.
25377         Honor the initial value of the envvar.
25378
25379 2009-09-05  Eric Blake  <ebb9@byu.net>
25380
25381         symlinkat: new module
25382         * modules/symlinkat: New file.
25383         * lib/symlinkat.c: Likewise.
25384         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
25385         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25386         * modules/unistd (Makefile.am): Use them.
25387         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
25388         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
25389         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
25390         * MODULES.html.sh (File system functions): Mention module.
25391         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25392         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25393         * modules/symlinkat-tests: New test.
25394         * tests/test-symlinkat.c: Likewise.
25395
25396         test-openat-safer: add more checks
25397         * tests/test-openat-safer.c (main): Check more code paths.
25398
25399 2009-09-05  Jim Meyering  <meyering@redhat.com>
25400
25401         syntax-check: detect unnecessary inclusion of openat.h
25402         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
25403
25404 2009-09-05  Bruno Haible  <bruno@clisp.org>
25405
25406         Support towlower, towupper.
25407         * doc/posix-functions/towlower.texi: Mention module wctype.
25408         * doc/posix-functions/towupper.texi: Likewise.
25409         * lib/wctype.in.h (towlower, towupper): New functions.
25410         * tests/test-wctype.c: Include stdio.h, stdlib.h.
25411         (ASSERT): New macro.
25412         (e): New variable.
25413         (main): Test also towlower, towupper. Test WEOF argument.
25414         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25415
25416 2009-09-05  Bruno Haible  <bruno@clisp.org>
25417
25418         Fix conversion behaviour when the input is invalid.
25419         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
25420         mark occurring in first pass of indirect conversion.
25421         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
25422         input.
25423         Found by clang's static analyzer.
25424
25425 2009-09-05  Bruno Haible  <bruno@clisp.org>
25426
25427         * tests/test-striconveh.c (main): Test indirect conversion on platforms
25428         where direct conversion is possible.
25429
25430 2009-09-04  Eric Blake  <ebb9@byu.net>
25431
25432         openat: fail with ENOENT on empty name
25433         * lib/openat-proc.c (openat_proc_name): Special-case the empty
25434         buffer.
25435
25436         link-follow: fix logic bug in prior patch
25437         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
25438         reversed sense of yes and no in prior patch.  Avoid confusing
25439         compilation failure with desired semantics.
25440
25441         link-follow: accomodate mingw and cross-compilation
25442         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
25443         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
25444         cross-compilation results to -1, to make linkat easier to
25445         implement when cross-compiling.  Trivially support mingw.
25446         * modules/link-follow (configure.ac): Call new name.
25447         * NEWS: Mention this.
25448
25449 2009-09-03  Eric Blake  <ebb9@byu.net>
25450
25451         faccessat: compile replacement
25452         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
25453         needed.
25454
25455         fts: fix compilation error
25456         * lib/fts.c (includes): Re-add "openat.h", for
25457         openat_needs_fchdir.
25458
25459         faccessat: new module
25460         * modules/faccessat: New file.
25461         * lib/faccessat.c: Likewise.
25462         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25463         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25464         * modules/unistd (Makefile.am): Use it.
25465         * lib/unistd.in.h (faccessat): Declare it.
25466         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
25467         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
25468         * MODULES.html.sh (File system functions): Mention it.
25469         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
25470         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
25471
25472         euidaccess: prefer POSIX over non-standard implementation
25473         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
25474         * lib/euidaccess.c (euidaccess): Use it if available.
25475
25476         openat: make template easier to use
25477         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
25478         AT_FUNC_F2 to be undefined.
25479         (VALIDATE_FLAG): New macro; use it to reject bad flags.
25480         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
25481         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
25482         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
25483         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
25484         Likewise.
25485         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
25486         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
25487         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
25488         Likewise.
25489
25490         openat: declare in POSIX headers
25491         * NEWS: Mention this.
25492         * modules/openat (configure.ac): Declare witnesses.
25493         (Depends-on): Add fcntl-h, sys_stat, unistd.
25494         (Include): Mention correct headers.
25495         * modules/fcntl-h (Depends-on): Add link-warning.
25496         (Files): Add openat.m4.
25497         (Makefile.am): Substitute witnesses.
25498         * modules/sys_stat (Files, Makefile.am): Likewise.
25499         * modules/unistd (Files, Makefile.am): Likewise.
25500         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
25501         (gl_OPENAT_DEFAULTS): New macro.
25502         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
25503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
25504         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
25505         (SYS_STAT_H): Remove unused variable.
25506         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
25507         * lib/fcntl--.h (includes): Remove unneeded header.
25508         * lib/openat-safer.c (includes): Likewise.
25509         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
25510         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
25511         appropriate headers.
25512         (__OPENAT_PREFIX): Delete.
25513         * lib/fcntl.in.h (openat): Provide declaration.
25514         (AT_FDCWD): Fix Solaris bug.
25515         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
25516         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
25517         * lib/fchmodat.c (includes):  Adjust to find declaration.
25518         * lib/fchownat.c (includes): Likewise.
25519         * lib/mkdirat.c (includes): Likewise.
25520         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
25521         still visible.
25522
25523 2009-09-02  Eric Blake  <ebb9@byu.net>
25524
25525         errno: use consistently
25526         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
25527         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
25528         * lib/canonicalize.c (ELOOP): Likewise.
25529         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
25530         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
25531         * lib/lchown.c (EOPNOTSUPP): Likewise.
25532         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
25533         * lib/savewd.c (ESTALE): Likewise.
25534         * lib/settime.c (ENOSYS): Likewise.
25535         * lib/utimens.c (ENOSYS): Likewise.
25536         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
25537         * lib/chdir-safer.c (ELOOP): Likewise.
25538         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
25539         * modules/c-stack (Depends-on): Add errno.
25540         * modules/canonicalize (Depends-on): Likewise.
25541         * modules/chdir-safer (Depends-on): Likewise.
25542         * modules/fdopendir (Depends-on): Likewise.
25543         * modules/inet_ntop (Depends-on): Likewise.
25544         * modules/inet_pton (Depends-on): Likewise.
25545         * modules/lchown (Depends-on): Likewise.
25546         * modules/openat (Depends-on): Likewise.
25547         * modules/savewd (Depends-on): Likewise.
25548         * modules/settime (Depends-on): Likewise.
25549         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
25550
25551         fts: avoid leaking fds
25552         * modules/fts (Depends-on): Add cloexec.
25553         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
25554         flag.
25555
25556         fts: make directory fds more robust
25557         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
25558         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
25559
25560         backupfile, chdir-long, fts, savedir: make safer
25561         * lib/backupfile.c (includes): Use "dirent--.h", since
25562         numbered_backup can write to stderr during readdir.
25563         * lib/savedir.c (includes): Likewise.
25564         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
25565         emulation can write to stderr on failure.
25566         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
25567         * lib/getcwd.c: Document why opendir_safer is unused.
25568         * lib/glob.c: Likewise.
25569         * lib/scandir.c: Likewise.
25570         * lib/openat-proc.c: Likewise, for open_safer.
25571         * modules/backupfile (Depends-on): Add dirent-safer.
25572         * modules/savedir (Depends-on): Likewise.
25573         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
25574         * modules/chdir-long (Depends-on): Add openat-safer.
25575
25576         openat-safer: new module
25577         * modules/openat-safer: New file.
25578         * lib/openat-safer.c: Likewise.
25579         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
25580         * lib/fcntl-safer.h (openat_safer): Declare.
25581         * lib/fcntl--.h (openat): Override.
25582         * MODULES.html.sh (File descriptor based I/O): Mention it.
25583         * lib/openat.h: Add double-inclusion guards.
25584         * lib/openat.c (includes): Only include "fcntl-safer.h", not
25585         "fcntl--.h", so we can implement openat.
25586         * modules/openat-safer-tests: New test.
25587         * tests/test-openat-safer.c: New file.
25588
25589         dirent-safer: new module
25590         * modules/dirent-safer: New file.
25591         * lib/dirent--.h: Likewise.
25592         * lib/dirent-safer.h: Likewise.
25593         * lib/opendir-safer.c: Likewise.
25594         * m4/dirent-safer.m4: Likewise.
25595         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
25596         * modules/dirent-safer-tests: New test.
25597         * tests/test-dirent-safer.c: New file.
25598         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
25599
25600         fdopendir: optimize on mingw
25601         * lib/unistd.in.h (_gl_directory_name): New prototype.
25602         * lib/fchdir.c (_gl_directory_name): Implement it.
25603         (fchdir): Use it to simplify implementation.
25604         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
25605         fchdir, when available, to avoid calling [f]chdir().
25606
25607         fdopendir: split into its own module
25608         * lib/openat.c (fdopendir): Move...
25609         * lib/fdopendir.c: ...into new file.
25610         * modules/fdopendir: New module.
25611         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
25612         * modules/openat (Depends-on): Add fdopendir.
25613         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
25614         fdopendir here.
25615         * modules/savedir (Depends-on): Only need fdopendir, not full
25616         openat.
25617         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
25618         * lib/openat.h (fdopendir): Drop prototype.
25619         * lib/dirent.in.h (fdopendir): Provide prototype.
25620         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
25621         * modules/dirent (Makefile.am): Substitute them.
25622         * MODULES.html.sh (File system functions): Mention it.
25623         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
25624         * modules/fdopendir-tests: New file.
25625         * tests/test-fdopendir.c: Likewise.
25626
25627         fchdir: use more consistent macro convention
25628         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
25629         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
25630         REPLACE_FCHDIR, rather than relying on config.h macros.
25631         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
25632         inside a single make-time REPLACE_FCHDIR block, rather than using
25633         the config.h FCHDIR_REPLACEMENT.
25634         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
25635         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
25636         Manage fstat replacement.
25637         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
25638         REPLACE_FCHDIR.
25639         * modules/sys_stat (Files): Add m4/unistd_h.m4.
25640         (Makefile.am): Substitute REPLACE_FCHDIR.
25641         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
25642         FCHDIR_REPLACEMENT.
25643         * lib/dup-safer.c (dup_safer): Likewise.
25644         * lib/dup2.c (rpl_dup2): Likewise.
25645         * lib/dup3.c (rpl_dup3): Likewise.
25646         * lib/open.c (rpl_open): Likewise.
25647
25648         fchdir: simplify error handling, and support dup3
25649         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
25650         stdbool, malloc-posix, realloc-posix.
25651         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
25652         (ensure_dirs_slot): Return false on allocation failure.
25653         (rpl_dup2): Delete.
25654         (_gl_register_dup): New function.
25655         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
25656         (_gl_register_fd): Close fd on allocation failure.
25657         * lib/fcntl.in.h (_gl_register_fd): Update signature.
25658         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
25659         prototype.
25660         (rpl_dup2_fchdir): Delete prototype.
25661         * lib/open.c (open): Update caller.
25662         * lib/dup2.c (dup2): Track fchdir metadata.
25663         * lib/dup3.c (dup3): Likewise.
25664         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
25665         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
25666
25667 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25668
25669         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
25670         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
25671         don't pass arguments to AC_OUTPUT.
25672
25673 2009-09-02  Bruno Haible  <bruno@clisp.org>
25674
25675         * modules/mkdtemp (License): Relicense under LGPLv2+.
25676         Reported by Paolo Bonzini.
25677
25678 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25679
25680         Replace uses of obsolete autoconf macros in Jim's modules.
25681         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
25682         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
25683         can evoke a warning from autoconf when run with -Wobsolete
25684         enabled.  They were declared obsolete for good reasons (see
25685         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
25686         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
25687         should not continue using the deprecated macros.
25688         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
25689         obsolete Autoconf macros with modern counterparts.
25690         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25691         * m4/dos.m4 (gl_AC_DOS): Likewise.
25692         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
25693         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25694         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
25695         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
25696         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
25697         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
25698         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
25699         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
25700         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
25701         Likewise.
25702         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25703         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
25704         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
25705         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
25706         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
25707         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
25708
25709 2009-09-01  Eric Blake  <ebb9@byu.net>
25710
25711         fchdir: fix off-by-one bug in previous patch
25712         * lib/fchdir.c (rpl_fstat): Use correct bounds.
25713         (_gl_unregister_fd): Delete useless if.
25714
25715 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
25716
25717         maint.mk: sort the list of syntax-check rules
25718         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
25719         easier to get a sense of progress when the rules are run sequentially
25720         and take a long time.
25721
25722 2009-09-01  Simon Josefsson  <simon@josefsson.org>
25723
25724         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
25725         * modules/netinet_in: Likewise.
25726         * modules/sys_file: Likewise.
25727         * modules/sys_ioctl: Likewise.
25728         * modules/sys_select: Likewise.
25729         * modules/sys_socket: Likewise.
25730         * modules/sys_stat: Likewise.
25731         * modules/sys_time: Likewise.
25732         * modules/sys_times: Likewise.
25733         * modules/sys_utsname: Likewise.
25734         * modules/sys_wait: Likewise.
25735
25736 2009-09-01  Jim Meyering  <meyering@redhat.com>
25737
25738         fts: help ensure that return values are not ignored
25739         * lib/fts_.h (__GNUC_PREREQ): Define.
25740         (__attribute_warn_unused_result__): Define.
25741         (fts_children, fts_close, fts_open, fts_read): Declare with
25742         __attribute_warn_unused_result__.
25743
25744         fts: fts_close now fails also when closing a dir file descriptor fails
25745         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
25746         and propagate to caller, along with errno.
25747
25748         announce-gen: correct formatting in --help output
25749         * build-aux/announce-gen (usage): Move the one-line description in
25750         --help output "up", to where it belongs, just after Usage:.
25751
25752 2009-08-31  Eric Blake  <ebb9@byu.net>
25753
25754         fchdir: port to mingw
25755         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
25756         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
25757         opened, then use a substitute.
25758         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
25759         replacement.
25760         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
25761         (_gl_register_fd): No need to check stat if open already filters
25762         all directories.
25763         (fchdir): Fix error condition to match POSIX.
25764         * modules/fchdir (Depends-on): Add sys_stat.
25765         * doc/posix-functions/open.texi (open): Document the limitation.
25766         * modules/fchdir-tests: New file.
25767         * tests/test-fchdir.c: Likewise.
25768
25769         canonicalize: allow cross-testing from cygwin to mingw
25770         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
25771         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
25772         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
25773         Likewise.
25774         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
25775         target does not support symlinks.
25776         * tests/test-canonicalize-lgpl.sh: Likewise.
25777
25778         chown: avoid compilation warning on mingw
25779         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
25780         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
25781         mingw.
25782         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25783         * modules/chown (Depends-on): Add errno.
25784
25785 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
25786
25787         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
25788         command.
25789
25790 2009-08-31  Jim Meyering  <meyering@redhat.com>
25791
25792         canonicalize: remove useless initialization
25793         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
25794         initialization of local, "end".
25795
25796 2009-08-30  Bruno Haible  <bruno@clisp.org>
25797
25798         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
25799         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
25800         ENOSYS.
25801
25802 2009-08-30  Bruno Haible  <bruno@clisp.org>
25803
25804         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
25805         /usr/xpg4/bin/tr when it exists.
25806         * tests/test-pipe-filter-gi1.sh: Likewise.
25807
25808 2009-08-30  Bruno Haible  <bruno@clisp.org>
25809
25810         Work around deficient /usr/bin/id program on Solaris.
25811         * tests/test-file-has-acl.sh (ID): New variable.
25812         * tests/test-set-mode-acl.sh (ID): Likewise.
25813         * tests/test-copy-acl.sh (ID): Likewise.
25814         * tests/test-copy-file.sh (ID): Likewise.
25815
25816 2009-08-30  Bruno Haible  <bruno@clisp.org>
25817
25818         New module 'xstriconveh'.
25819         * lib/xstriconveh.h: New file.
25820         * lib/xstriconveh.c: New file.
25821         * modules/xstriconveh: New file.
25822
25823 2009-08-30  Bruno Haible  <bruno@clisp.org>
25824
25825         Make it easier to use mem_cd_iconveh.
25826         * lib/striconveh.h (iconveh_t): New type.
25827         (iconveh_open, iconveh_close): New declarations.
25828         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25829         with a single 'const iconveh_t *' argument.
25830         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
25831         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25832         with a single 'const iconveh_t *' argument.
25833         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
25834         * tests/test-striconveh.c (main): Update.
25835         * NEWS: Mention the change.
25836
25837 2009-08-30  Bruno Haible  <bruno@clisp.org>
25838
25839         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
25840         problem.
25841
25842 2009-08-30  Bruno Haible  <bruno@clisp.org>
25843
25844         Work around iconv_open problem on Solaris.
25845         * lib/iconv_open-solaris.gperf: New file.
25846         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
25847         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
25848         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
25849         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
25850         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
25851         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
25852
25853 2009-08-29  Jim Meyering  <meyering@redhat.com>
25854
25855         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
25856         * top/maint.mk (cvs-check): Remove target; it was just an alias
25857         to the better-named vc-diff-check.
25858         (maintainer-distcheck): Remove rule.  It was used only from
25859         the (alpha/beta/major) target, and all of its commands but one
25860         were coreutils-specific.
25861         (vc-dist): Remove rule.
25862         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
25863         Run vc-diff-check, not vc-dist.
25864         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
25865
25866 2009-08-27  Bruno Haible  <bruno@clisp.org>
25867
25868         * tests/test-bitrotate.c (main): Remove test that uses a shift count
25869         of 0.
25870
25871 2009-08-27  Bruno Haible  <bruno@clisp.org>
25872
25873         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
25874         compilers.
25875         * doc/func.texi: Document the SunPRO C bug.
25876
25877 2009-08-27  Bruno Haible  <bruno@clisp.org>
25878
25879         Fix link error on Solaris.
25880         * tests/test-parse-duration.c (xstrdup): Remove function.
25881
25882 2009-08-26  Pádraig Brady  <P@draigbrady.com>
25883
25884         ignore-value: handle pointer types, too
25885         * lib/ignore-value.h (__attribute__): Remove definition.
25886         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
25887         of a more concise and more-often effective "(void) i" statement.
25888         (ignore_ptr): New function to suppress warnings from functions that
25889         return pointers, and to make it explicit that one function doesn't
25890         handle all cases.
25891
25892 2009-08-25  Bruno Haible  <bruno@clisp.org>
25893
25894         dup2: work around a Linux bug.
25895         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
25896         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
25897         * doc/posix-functions/dup2.texi: Mention the Linux bug.
25898         Reported by Simon Josefsson.
25899
25900 2009-08-25  Jim Meyering  <meyering@redhat.com>
25901
25902         libguestfs uses gnulib
25903         * users.txt: Add libguestfs.
25904
25905 2009-08-24  Eric Blake  <ebb9@byu.net>
25906
25907         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
25908         * lib/pipe2.c (includes): Add binary-io.h.
25909         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
25910
25911 2009-08-24  Bruno Haible  <bruno@clisp.org>
25912
25913         Tolerate declared but missing accept4 syscall.
25914         * lib/accept4.c (accept4): Invoke original accept4 function first, if
25915         available.
25916         * lib/sys_socket.in.h (accept4): If the function is already present,
25917         override it.
25918         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
25919         * modules/accept4 (Makefile.am): Compile accept4.c always.
25920         Reported by Paolo Bonzini and Eric Blake.
25921
25922 2009-08-23  Bruno Haible  <bruno@clisp.org>
25923
25924         New module 'accept4'.
25925         * lib/sys_socket.in.h (accept4): New declaration.
25926         * lib/accept4.c: New file.
25927         * m4/accept4.m4: New file.
25928         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25929         GNULIB_ACCEPT4, HAVE_ACCEPT4.
25930         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
25931         HAVE_ACCEPT4.
25932         * modules/accept4: New file.
25933         * doc/glibc-functions/accept4.texi: Mention the new module.
25934
25935 2009-08-24  Jim Meyering  <meyering@redhat.com>
25936
25937         progname: also set global program_invocation_name, when possible
25938         Before this change, a libtool-enabled program that calls glibc's
25939         error function would report the program name as
25940         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
25941         * modules/progname (configure.ac): Check for a declaration of
25942         program_invocation_name.
25943         * lib/progname.c:  Include <errno.h>.
25944         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
25945         Set program_invocation_name.
25946
25947 2009-08-23  Bruno Haible  <bruno@clisp.org>
25948
25949         * lib/dup3.c: Include <string.h>.
25950
25951 2009-08-23  Bruno Haible  <bruno@clisp.org>
25952
25953         * lib/dup3.c (dup3): Test only once whether the system actually exists.
25954         * lib/pipe2.c (pipe2): Likewise.
25955         Suggested by Eric Blake.
25956
25957 2009-08-23  Bruno Haible  <bruno@clisp.org>
25958
25959         Tolerate declared but missing dup3 syscall.
25960         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
25961         * lib/unistd.in.h (dup3): If the function is already present,
25962         override it.
25963         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
25964         * modules/dup3 (Makefile.am): Compile dup3.c always.
25965         Reported by Paolo Bonzini.
25966
25967 2009-08-23  Bruno Haible  <bruno@clisp.org>
25968
25969         Tolerate declared but missing pipe2 syscall.
25970         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
25971         available.
25972         * lib/unistd.in.h (pipe2): If the function is already present,
25973         override it.
25974         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
25975         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
25976         Reported by Paolo Bonzini.
25977
25978 2009-08-23  Bruno Haible  <bruno@clisp.org>
25979
25980         * lib/pipe2.c (pipe2): Move #ifs inside function.
25981
25982 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25983
25984         quotearg: document limitations of quote_these_too
25985         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
25986         those limitations are created.
25987         * lib/quotearg.h (set_char_quoting): Document that digits and
25988         letters that are special after backslash are not permitted.
25989         (quotearg_char): Cross-reference set_char_quoting documentation.
25990
25991 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
25992
25993         quotearg: implement custom_quoting_style
25994         * lib/quotearg.c: (struct quoting_options): Add left_quote and
25995         right_quote fields.
25996         (set_custom_quoting): New public function.
25997         (quotearg_buffer_restyled): Add left_quote and right_quote
25998         arguments, handle them very much like locale quoting, and update
25999         all uses.
26000         (quotearg_n_custom): New public function.
26001         (quotearg_n_custom_mem): New public function.
26002         (quotearg_custom): New public function.
26003         (quotearg_custom_mem): New public function.
26004         * lib/quotearg.h: Prototype and document new public functions.
26005         (enum quoting_style): For escape_quoting_style and
26006         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
26007         ignored even though they're otherwise like c_quoting_style.
26008         Add custom_quoting_style member and document with comparison to
26009         clocale_quoting_style.
26010         * tests/test-quotearg.c (custom_quotes): New array.
26011         (custom_results): New array.
26012         (main): Extend to test custom quoting.
26013
26014 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26015
26016         quotearg: fix right quote escaping when it's in quote_these_too
26017         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
26018         quote, be sure to prepend only one backslash.
26019         * tests/test-quotearg.c (use_quote_double_quotes): New function.
26020         (main): Test it.
26021
26022 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26023
26024         quotearg-tests: test escaping of embedded locale quotes
26025         * tests/test-quotearg.c (struct result_strings): Add member for
26026         new input.
26027         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
26028         (inputs): Add new input.
26029         (results_g): Add expected results.
26030         (flag_results): Likewise.
26031         (locale_results): Likewise.
26032         (compare_strings): Check those.
26033
26034 2009-08-23  Bruno Haible  <bruno@clisp.org>
26035
26036         Tests for module 'dup3'.
26037         * modules/dup3-tests: New file.
26038         * tests/test-dup3.c: New file.
26039
26040         New module 'dup3'.
26041         * lib/unistd.in.h (dup3): New declaration.
26042         * lib/dup3.c: New file.
26043         * m4/dup3.m4: New file.
26044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
26045         HAVE_DUP3.
26046         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
26047         * modules/dup3: New file.
26048         * doc/glibc-functions/dup3.texi: Mention the new module.
26049
26050 2009-08-23  Bruno Haible  <bruno@clisp.org>
26051
26052         Tweak the dup2 test.
26053         * tests/test-dup2.c (main): Create the test file empty. Verify that an
26054         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
26055         the test file is still empty. Fix argument order of lseek.
26056
26057 2009-08-23  Bruno Haible  <bruno@clisp.org>
26058
26059         Avoid test link errors when the modules getopt-gnu, gettext are used.
26060         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
26061         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26062
26063 2009-08-23  Bruno Haible  <bruno@clisp.org>
26064
26065         Fix getdtablesize() on mingw.
26066         * lib/getdtablesize.c (getdtablesize): Implement differently.
26067         * lib/unistd.in.h (getdtablesize): Improve comment.
26068
26069 2009-08-23  Bruno Haible  <bruno@clisp.org>
26070
26071         New module 'mkostemp'.
26072         Based on Ulrich Drepper's 2007-08-10 change in glibc.
26073         * lib/stdlib.in.h (mksotemp): New declaration.
26074         * lib/mkostemp.c: New file, from glibc with modifications.
26075         * lib/tempname.h (GT_FILE): Remove outdated comment.
26076         (gen_tempname): Add flags argument.
26077         * lib/tempname.c (__GT_BIGFILE): Remove macro.
26078         (__GT_FILE): Map to 1.
26079         (small_open, large_open): Remove macros.
26080         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
26081         * lib/mkstemp.c (mkstemp): Update.
26082         * lib/mkdtemp.c (mkdtemp): Likewise.
26083         * m4/mkostemp.m4: New file.
26084         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
26085         HAVE_MKOSTEMP.
26086         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
26087         HAVE_MKOSTEMP.
26088         * modules/mkostemp: New file, based on modules/mkstemp.
26089         * doc/glibc-functions/mkostemp.texi: Mention the new module.
26090         * NEWS: Mention the change.
26091
26092 2009-08-23  Bruno Haible  <bruno@clisp.org>
26093
26094         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
26095         Reported by Eric Blake.
26096
26097 2009-08-23  Bruno Haible  <bruno@clisp.org>
26098
26099         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
26100         Reported by Eric Blake.
26101
26102 2009-08-23  Bruno Haible  <bruno@clisp.org>
26103
26104         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
26105         * modules/pipe2 (Depends-on): Likewise.
26106
26107 2009-08-23  Eric Blake  <ebb9@byu.net>
26108
26109         fcntl-h: add O_TTY_INIT support
26110         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
26111         * tests/test-fcntl-h.c (o): Test it.
26112         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26113
26114         fcntl-h: rename from fcntl, in preparation for fcntl(2)
26115         * modules/fcntl: Move <fcntl.h> header replacement...
26116         * modules/fcntl-h: ...to new name, so as not to collide with
26117         like-named function.
26118         * tests/test-fcntl.c: Rename...
26119         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
26120         * modules/fcntl-tests: Rename...
26121         * modules/fcntl-h-tests: ...to this.  Update test file name.
26122         * modules/chdir-long (Depends-on): Update clients.
26123         * modules/chdir-safer (Depends-on): Likewise.
26124         * modules/fcntl-safer (Depends-on): Likewise.
26125         * modules/fts (Depends-on): Likewise.
26126         * modules/mkancesdirs (Depends-on): Likewise.
26127         * modules/mkdir-p (Depends-on): Likewise.
26128         * modules/open (Depends-on): Likewise.
26129         * modules/savewd (Depends-on): Likewise.
26130         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
26131         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26132
26133 2009-08-22  Bruno Haible  <bruno@clisp.org>
26134
26135         * modules/binary-io (License): Relicense under LGPL.
26136         * modules/pipe2 (License): Likewise.
26137
26138 2009-08-22  Bruno Haible  <bruno@clisp.org>
26139
26140         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
26141         return value.
26142         * lib/pipe-filter-gi.c (filter_init): Likewise.
26143         Reported by Eric Blake.
26144
26145 2009-08-22  Bruno Haible  <bruno@clisp.org>
26146
26147         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
26148         * modules/pipe (Depends-on): Add pipe2.
26149
26150 2009-08-22  Bruno Haible  <bruno@clisp.org>
26151
26152         Tests for module 'pipe2'.
26153         * modules/pipe2-tests: New file.
26154         * tests/test-pipe2.c: New file.
26155
26156         New module 'pipe2'.
26157         * lib/unistd.in.h (pipe2): New declaration.
26158         * lib/pipe2.c: New file.
26159         * m4/pipe2.m4: New file.
26160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
26161         HAVE_PIPE2.
26162         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
26163         * modules/pipe2: New file.
26164         * doc/glibc-functions/pipe2.texi: Mention the new module.
26165
26166 2009-08-22  Bruno Haible  <bruno@clisp.org>
26167
26168         Reference some new glibc functions.
26169         * doc/glibc-functions/accept4.texi: New file.
26170         * doc/glibc-functions/dup3.texi: New file.
26171         * doc/glibc-functions/mkostemp.texi: New file.
26172         * doc/glibc-functions/pipe2.texi: New file.
26173         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
26174         (Glibc sys/socket.h): Refer to accept4.
26175         (Glibc unistd.h): Refer to dup3, pipe2.
26176         Reported by Eric Blake.
26177
26178 2009-08-22  Jim Meyering  <meyering@redhat.com>
26179             Bruno Haible  <bruno@clisp.org>
26180
26181         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
26182         This makes it so packages using automake-1.11's silent-rules option
26183         can print e.g., a single "GEN    configmake.h" line, rather than
26184         the 30+ statements that perform the job.  If you want to see the
26185         actual commands, you can still run "make V=1".
26186         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
26187         so that make output is abbreviated when those variables are defined
26188         appropriately.
26189         * modules/argz: Likewise.
26190         * modules/arpa_inet: Likewise.
26191         * modules/byteswap: Likewise.
26192         * modules/configmake: Likewise.
26193         * modules/dirent: Likewise.
26194         * modules/errno: Likewise.
26195         * modules/fcntl: Likewise.
26196         * modules/float: Likewise.
26197         * modules/fnmatch: Likewise.
26198         * modules/getopt-posix: Likewise.
26199         * modules/glob: Likewise.
26200         * modules/iconv_open: Likewise.
26201         * modules/inttypes: Likewise.
26202         * modules/localcharset: Likewise.
26203         * modules/locale: Likewise.
26204         * modules/math: Likewise.
26205         * modules/netdb: Likewise.
26206         * modules/netinet_in: Likewise.
26207         * modules/poll: Likewise.
26208         * modules/posix_spawnp-tests: Likewise.
26209         * modules/sched: Likewise.
26210         * modules/search: Likewise.
26211         * modules/selinux-h: Likewise.
26212         * modules/signal: Likewise.
26213         * modules/spawn: Likewise.
26214         * modules/stdarg: Likewise.
26215         * modules/stdbool: Likewise.
26216         * modules/stddef: Likewise.
26217         * modules/stdint: Likewise.
26218         * modules/stdio: Likewise.
26219         * modules/stdlib: Likewise.
26220         * modules/string: Likewise.
26221         * modules/strings: Likewise.
26222         * modules/sys_file: Likewise.
26223         * modules/sys_ioctl: Likewise.
26224         * modules/sys_select: Likewise.
26225         * modules/sys_socket: Likewise.
26226         * modules/sys_stat: Likewise.
26227         * modules/sys_time: Likewise.
26228         * modules/sys_times: Likewise.
26229         * modules/sys_utsname: Likewise.
26230         * modules/sys_wait: Likewise.
26231         * modules/sysexits: Likewise.
26232         * modules/time: Likewise.
26233         * modules/unistd: Likewise.
26234         * modules/wchar: Likewise.
26235         * modules/wctype: Likewise.
26236
26237 2009-08-22  Jim Meyering  <meyering@redhat.com>
26238
26239         announce-gen: detect write failure
26240         * build-aux/announce-gen: Add Coda at end.
26241         Remove equivalent-but-more-verbose block at top.
26242
26243 2009-08-19  Akim Demaille  <demaille@gostai.com>
26244
26245         bootstrap: --help to stdout.
26246         * bootstrap (usage): Don't send --help to stderr.
26247         Use a here doc instead of a long string.
26248
26249 2009-08-21  Eric Blake  <ebb9@byu.net>
26250
26251         test-popen-safer: split from test-popen
26252         * tests/test-popen.c (main): Move...
26253         * tests/test-popen.h: ...into new file.
26254         * tests/test-popen-safer2.c: New file.
26255         * modules/popen-tests (Files): Add test-popen.h.
26256         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
26257         Suggested by Bruno Haible.
26258
26259         test-fcntl-safer: split from test-open
26260         * tests/test-open.c (main): Move...
26261         * tests/test-open.h: ...into new file.
26262         * tests/test-fcntl-safer.c: New file.
26263         * modules/open-tests (Files): Add test-open.h.
26264         * modules/fcntl-safer-tests: New file.
26265         Suggested by Bruno Haible.
26266
26267         test-fopen-safer: split from test-fopen
26268         * tests/test-fopen.c (main): Move...
26269         * tests/test-fopen.h: ...into new file.
26270         * tests/test-fopen-safer.c: New file.
26271         * modules/fopen-tests (Files): Add test-fopen.h.
26272         * modules/fopen-safer-tests: New file.
26273         Suggested by Bruno Haible.
26274
26275 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
26276
26277         popen-safer: test O_CLOEXEC at run-time.
26278         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
26279
26280 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
26281
26282         fcntl: move more flags to the header
26283         * lib/cloexec.c: Do not define FD_CLOEXEC here.
26284         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
26285         * lib/fcntl.in.h: Do both things here.
26286
26287 2009-08-21  Jim Meyering  <meyering@redhat.com>
26288
26289         consistently remove $@-t before redirecting to it
26290         * modules/argz: Remove $@-t and $@ before redirecting to the former.
26291         * modules/alloca-opt: Likewise.
26292         * modules/byteswap: Likewise.
26293         * modules/fnmatch: Likewise.
26294         * modules/getopt-posix: Likewise.
26295         * modules/glob: Likewise.
26296         * modules/poll: Likewise.
26297         * modules/posix_spawnp-tests: Likewise.
26298         * modules/sys_socket: Likewise.
26299         * modules/sysexits: Likewise.
26300
26301 2009-08-21  Eric Blake  <ebb9@byu.net>
26302
26303         popen: simplify access to original popen
26304         * lib/popen.c (rpl_popen): No need to worry about popen being a
26305         macro.
26306         Reported by Bruno Haible.
26307
26308 2009-08-20  Eric Blake  <ebb9@byu.net>
26309
26310         build: avoid some compiler warnings
26311         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
26312         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
26313         type.
26314         (new_exclude_segment, excluded_file_pattern_p)
26315         (excluded_file_name_p): Reduce scope.
26316         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
26317         old-style declaration.
26318
26319 2009-08-20  Simon Josefsson  <simon@josefsson.org>
26320
26321         * tests/test-exclude1.sh: Handle Windows EOL.
26322         * tests/test-exclude2.sh: Likewise.
26323         * tests/test-exclude3.sh: Likewise.
26324         * tests/test-exclude4.sh: Likewise.
26325         * tests/test-exclude5.sh: Likewise.
26326         * tests/test-exclude6.sh: Likewise.
26327         * tests/test-exclude7.sh: Likewise.
26328
26329 2009-08-19  Akim Demaille  <demaille@gostai.com>
26330
26331         bootstrap: find sha1sum when named gsha1sum.
26332         * bootstrap (find_tool): New.
26333         ($SHA1SUM): New.
26334         Use it.
26335
26336 2009-08-20  Jim Meyering  <meyering@redhat.com>
26337
26338         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
26339         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
26340         expression that converts "." in a file name to "\." in the resulting
26341         regexp.  Start with a dummy statement, so that prior shell variable
26342         definitions are expanded portably.  Reported by Simon Josefsson.
26343
26344 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
26345
26346         Fix polling for writeability of a screen buffer.
26347         * lib/poll.c: Distinguish input and screen buffers for the
26348         Win32 implementation.
26349         * lib/select.c: Likewise.
26350
26351 2009-08-19  Eric Blake  <ebb9@byu.net>
26352
26353         popen-safer: prevent popen from clobbering std descriptors
26354         * modules/popen-safer: New file.
26355         * lib/popen-safer.c: Likewise.
26356         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
26357         * lib/stdio--.h (popen): Provide override.
26358         * lib/stdio-safer.h (popen_safer): Provide declaration.
26359         * tests/test-popen.c (includes): Partially test this.
26360         * modules/popen-safer-tests: New file, for more tests.
26361         * tests/test-popen-safer.c: Likewise.
26362         * MODULES.html.sh (file stream based Input/Output): Mention it.
26363
26364         tests: test some of the *-safer modules
26365         * modules/fopen-safer (Depends-on): Add fopen.
26366         * modules/fcntl-safer (Depends-on): Add fcntl.
26367         * modules/stdlib-safer (Depends-on): Add stdlib.
26368         (configure.ac): Set indicator.
26369         * modules/unistd-safer (configure.ac): Likewise.
26370         * modules/tmpfile-safer (configure.ac): Likewise.
26371         (Depends-on): Add tmpfile.
26372         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
26373         active.
26374         * tests/test-fopen.c (includes): Test safer versions when they are
26375         in use.
26376         * tests/test-open.c (includes): Likewise.
26377
26378         popen: fix cygwin 1.5 bug when stdin closed
26379         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
26380         * modules/popen: New file.
26381         * modules/popen-tests: Likewise.
26382         * tests/test-popen.c: Likewise.
26383         * m4/popen.m4: Likewise.
26384         * lib/popen.c: Likewise.
26385         * lib/stdio.in.h (popen): New declaration.
26386         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
26387         * modules/stdio (Makefile.am): Likewise.
26388         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
26389
26390 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
26391
26392         maint.mk: give full control over update-copyright exclusions
26393         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
26394         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
26395         (update-copyright): Don't force inclusion of top-level
26396         ChangeLog.  Don't force exclusion of all COPYING files, but make
26397         them the default exclusion instead.
26398
26399 2009-08-16  Bruno Haible  <bruno@clisp.org>
26400
26401         Fix test failures on Solaris 10.
26402         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
26403         tests when Solaris iconv() is used.
26404         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
26405         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
26406         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
26407         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
26408         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
26409
26410 2009-08-16  Bruno Haible  <bruno@clisp.org>
26411
26412         Fix test failures on Solaris 10.
26413         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
26414         'tr' program and pass it as first argument.
26415         * tests/test-pipe-filter-gi1.sh: Likewise.
26416         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
26417         program as first argument.
26418         * tests/test-pipe-filter-gi1.c (main): Likewise.
26419
26420 2009-08-16  Eric Blake  <ebb9@byu.net>
26421
26422         fpurge: fix previous commits
26423         * modules/fpurge (Makefile.am): Make replacement conditional,
26424         partially reverting 2007-04-29 change; missed in previous
26425         attempt.
26426         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
26427         is missing.
26428
26429 2009-08-16  Bruno Haible  <bruno@clisp.org>
26430
26431         Clarify fpurge's effect on the file position.
26432         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
26433         * tests/test-fpurge.c (main): Make a second pass for checking the file
26434         position.
26435
26436 2009-08-16  Bruno Haible  <bruno@clisp.org>
26437
26438         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
26439         declaration of fpurge is missing.
26440         * tests/test-fpurge.c (main): Check that the file has not more contents
26441         than expected. Close the file before removing it.
26442
26443 2009-08-15  Eric Blake  <ebb9@byu.net>
26444
26445         fpurge: don't wrap working cygwin implementation
26446         * lib/fpurge.c (fpurge): Fix comment typo.
26447         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
26448         1.7 to avoid replacement.
26449         * tests/test-fpurge.c (main): Enhance test.
26450
26451 2009-08-15  Eric Blake  <ebb9@byu.net>
26452         and Jim Meyering  <meyering@redhat.com>
26453
26454         test-update-copyright: skip if perl is insufficient
26455         * tests/test-update-copyright.sh: Failure to run maintainer tool
26456         should not cause testsuite failure on cygwin 1.5.
26457
26458 2009-08-14  Eric Blake  <ebb9@byu.net>
26459
26460         doc: mention more functions added in cygwin 1.7.0
26461         * doc/posix-headers/limits.texi (limits.h): Update for recent
26462         cygwin additions.
26463         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
26464         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
26465         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
26466         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
26467         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
26468
26469 2009-08-14  Eric Blake  <ebb9@byu.net>
26470
26471         maint.mk: simplify update-copyright rule
26472         * top/maint.mk (update-copyright-local): Delete, and document how
26473         to do it in cfg.mk instead.
26474         (update-copyright-exclude-regexp): Delete, and document how to do
26475         it in .x-update-copyright instead.
26476         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
26477         exclude ChangeLog.
26478
26479 2009-08-14  Bruno Haible  <bruno@clisp.org>
26480
26481         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
26482
26483 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26484
26485         maint.mk: support update-copyright-env
26486         * top/maint.mk (update-copyright-env): Define place-holder.
26487         (update-copyright): Expand $(update-copyright-env) before
26488         invoking update-copyright.
26489
26490 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26491
26492         update-copyright: implement forced reformatting
26493         * build-aux/update-copyright: Implement and document
26494         UPDATE_COPYRIGHT_FORCE.
26495         * tests/test-update-copyright.sh: Test it.
26496
26497 2009-08-14  Eric Blake  <ebb9@byu.net>
26498         and Bruno Haible  <bruno@clisp.org>
26499
26500         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
26501         * tests/test-locale.c: Revert previous patch related to NULL.
26502         * tests/test-stdio.c: Likewise.
26503         * tests/test-stdlib.c: Likewise.
26504         * tests/test-string.c: Likewise.
26505         * tests/test-unistd.c: Likewise.
26506         * modules/time-tests (Depends-on): Add verify.
26507         * modules/wchar-tests (Depends-on): Likewise.
26508         * tests/test-time.c: Test for NULL compliance.
26509         * tests/test-wchar.c: Likewise.
26510         * modules/locale (Depends-on): Add stddef.
26511         * modules/stdio (Depends-on): Likewise.
26512         * modules/stdlib (Depends-on): Likewise.
26513         * modules/string (Depends-on): Likewise.
26514         * modules/time (Depends-on): Likewise.
26515         * modules/unistd (Depends-on): Likewise.
26516         * modules/wchar (Depends-on): Likewise.
26517         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
26518         * lib/stdlib.in.h (includes): Likewise.
26519         * lib/string.in.h (includes): Likewise.
26520         * lib/time.in.h (includes): Likewise.
26521         * lib/unistd.in.h (includes): Likewise.
26522         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
26523         replaced.
26524         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26525         * m4/stddef_h.m4: New file.
26526         * modules/stddef: Likewise.
26527         * lib/stddef.in.h: Likewise.
26528         * modules/stddef-tests: Likewise.
26529         * tests/test-stddef.c: Likewise.
26530         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
26531         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
26532         * doc/posix-headers/locale.texi (locale.h): Likewise.
26533         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
26534         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26535         * doc/posix-headers/string.texi (string.h): Likewise.
26536         * doc/posix-headers/time.texi (time.h): Likewise.
26537         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
26538         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
26539
26540 2009-08-14  Eric Blake  <ebb9@byu.net>
26541
26542         doc: improve git diff of texinfo files
26543         * .gitattributes: Add rule for *.texi files, with hint on how to
26544         use it.
26545         Copied from m4, and based on a report by Bruno Haible.
26546
26547 2009-08-14  Bruno Haible  <bruno@clisp.org>
26548
26549         Disable multithread support by default on Cygwin 1.5.x for real.
26550         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
26551
26552 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26553
26554         update-copyright: much ado about intervals
26555         * build-aux/update-copyright: Implement and document
26556         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
26557         of copyright year intervals.
26558         Also, document UPDATE_COPYRIGHT_YEAR.
26559         * tests/test-update-copyright.sh: Test it.
26560
26561         update-copyright: convert 2-digit to 4-digit years
26562         * build-aux/update-copyright: Implement and document.
26563         * tests/test-update-copyright.sh: Update.
26564
26565 2009-08-14  Jim Meyering  <meyering@redhat.com>
26566
26567         test-exclude: avoid coreutils "make check" failure
26568         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
26569         just as in test-argmatch.c.
26570
26571 2009-08-13  Eric Blake  <ebb9@byu.net>
26572
26573         test-dup2: fix bad assumption
26574         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
26575         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
26576
26577         test-version-etc: fix CRLF portability issue
26578         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
26579         recognize \r.
26580         * tests/test-argp-version-etc-1.sh: Likewise.
26581
26582         getopt: update client modules
26583         * modules/argp (Depends-on): Use getopt-gnu.
26584         * modules/git-merge-changelog (Depends-on): Likewise.
26585         * modules/long-options (Depends-on): Likewise.
26586         * modules/xstrtol (Depends-on): Likewise.
26587
26588 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26589
26590         * tests/test-version-etc.sh: Don't fail on different
26591         project/version.  Don't fail on CRLF differences.  Rewrite to use
26592         multiple -e instead of multiple sed forks, suggested by Eric Blake
26593         <ebb9@byu.net>.
26594         * tests/test-argp-version-etc-1.sh: Likewise.
26595
26596 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26597
26598         * tests/test-version-etc.sh: Don't fail on different
26599         project/version.
26600
26601 2009-08-12  Bruno Haible  <bruno@clisp.org>
26602
26603         Tests for modules 'getopt-posix', 'getopt-gnu'.
26604         * modules/getopt-posix-tests: New file.
26605         * tests/test-getopt.c: New file.
26606         * tests/test-getopt.h: New file.
26607         * tests/test-getopt_long.h: New file.
26608
26609         New modules 'getopt-posix', 'getopt-gnu'.
26610         * modules/getopt-gnu: New file, renamed from modules/getopt.
26611         * modules/getopt-posix: New file.
26612         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
26613         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
26614         (gl_GETOPT): Remove macro.
26615         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
26616         Disable the test against BSD systems that declare optreset. Test
26617         against mingw bug. Test against lack of support of optional arguments
26618         on many platforms.
26619         * doc/glibc-headers/getopt.texi: Update module name and list of
26620         relevant platforms.
26621         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
26622         'getopt-gnu' and more portability problems.
26623         * NEWS: Mention the changes.
26624
26625 2009-08-12  Bruno Haible  <bruno@clisp.org>
26626
26627         Ensure that optarg etc. get declared by <unistd.h>.
26628         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
26629         AC_USE_SYSTEM_EXTENSIONS.
26630         * modules/getopt (Depends-on): Add 'extensions'.
26631
26632 2009-08-12  Bruno Haible  <bruno@clisp.org>
26633
26634         Avoid test link errors.
26635         * modules/pipe-filter-ii-tests (Makefile.am): Define
26636         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
26637         * modules/pipe-filter-gi-tests (Makefile.am): Define
26638         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
26639         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26640
26641 2009-08-12  Bruno Haible  <bruno@clisp.org>
26642
26643         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
26644         gl_GETOPT_SUBSTITUTE before.
26645         (gl_GETOPT): Use it.
26646         * m4/argp.m4 (gl_ARGP): Update.
26647         Reported by Sergey Poznyakoff.
26648
26649         * m4/getopt.m4: Reorder macros.
26650         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
26651         (gl_GETOPT_SUBSTITUTE): Remove macro.
26652
26653 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26654
26655         Minor improvement in gitlog-to-changelog
26656
26657         * build-aux/gitlog-to-changelog: New option `--format' makes
26658         output format string configurable.
26659
26660 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26661
26662         Optimize exclude: use hash tables for non-wildcard patterns.
26663
26664         * lib/exclude.c: Include hash.h and mbuiter.h
26665         (struct exclude_pattern, exclude_segment): New data types.
26666         (struct exclude): Rewrite.
26667         (fnmatch_pattern_has_wildcards): New function.
26668         (new_exclude_segment, free_exclude_segment): New functions.
26669         (excluded_file_pattern_p, excluded_file_name_p): New functions.
26670         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
26671         * lib/exclude.h (is_fnmatch_pattern): New prototype.
26672         * modules/exclude: Depend on hash and mbuiter.
26673
26674         * modules/exclude-tests: New file.
26675         * tests/test-exclude.c: New file.
26676         * tests/test-exclude1.sh: New file.
26677         * tests/test-exclude2.sh: New file.
26678         * tests/test-exclude3.sh: New file.
26679         * tests/test-exclude4.sh: New file.
26680         * tests/test-exclude5.sh: New file.
26681         * tests/test-exclude6.sh: New file.
26682         * tests/test-exclude7.sh: New file.
26683
26684 2009-08-12  Bruno Haible  <bruno@clisp.org>
26685
26686         Ensure that getopt() gets declared by <unistd.h>.
26687         * lib/unistd.in.h: Conditionally include getopt.h.
26688         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
26689         Set GNULIB_UNISTD_H_GETOPT.
26690         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26691         GNULIB_UNISTD_H_GETOPT.
26692         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
26693
26694 2009-08-12  Bruno Haible  <bruno@clisp.org>
26695
26696         Clarify logic.
26697         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
26698         gl_replace_getopt instead of GETOPT_H.
26699
26700 2009-08-12  Bruno Haible  <bruno@clisp.org>
26701
26702         * m4/getopt.m4: Add comments.
26703
26704 2009-08-12  Bruno Haible  <bruno@clisp.org>
26705
26706         Disable multithread support by default on Cygwin 1.5.x.
26707         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
26708         set gl_use_threads=no if not specified otherwise.
26709
26710 2009-08-11  Bruno Haible  <bruno@clisp.org>
26711
26712         Avoid compilation error on NetBSD 5.0.
26713         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
26714         * tests/test-stdio.c: Likewise.
26715         * tests/test-stdlib.c: Likewise.
26716         * tests/test-string.c: Likewise.
26717         * tests/test-unistd.c: Likewise.
26718         Reported by Greg Troxel <gdt@ir.bbn.com>
26719         at <https://savannah.gnu.org/support/?106973>.
26720
26721 2009-08-11  Bruno Haible  <bruno@clisp.org>
26722
26723         * modules/dup2-tests (Depends-on): Remove close.
26724
26725         Undo 2009-07-19 commit.
26726         * modules/acl-tests (Depends-on): Remove close.
26727         * modules/binary-io-tests (Depends-on): Likewise.
26728         * modules/closein-tests (Depends-on): Likewise.
26729         * modules/flock-tests (Depends-on): Likewise.
26730         * modules/fsync-tests (Depends-on): Likewise.
26731         * modules/lseek-tests (Depends-on): Likewise.
26732         * modules/pipe-tests (Depends-on): Likewise.
26733         * modules/posix_spawn-tests (Depends-on): Likewise.
26734         * modules/posix_spawnp-tests (Depends-on): Likewise.
26735         * modules/stat-time-tests (Depends-on): Likewise.
26736         * modules/yesno-tests (Depends-on): Likewise.
26737
26738 2009-08-10  Bruno Haible  <bruno@clisp.org>
26739
26740         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
26741
26742 2009-08-10  Bruno Haible  <bruno@clisp.org>
26743
26744         Fix a gcc warning.
26745         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
26746
26747 2009-08-10  Bruno Haible  <bruno@clisp.org>
26748
26749         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
26750         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
26751         not only the first time.
26752         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
26753         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
26754         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
26755         is 1, not only the the first time.
26756
26757 2009-08-10  Bruno Haible  <bruno@clisp.org>
26758
26759         Make it possible to use module 'gethostname' without module 'close'.
26760         * lib/unistd.in.h (close): Evoke a link error only if
26761         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26763         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26764         * modules/unistd (Makefile.am): Substitute
26765         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26766         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
26767         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26768         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
26769         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26770         * modules/sys_ioctl (Makefile.am): Substitute
26771         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26772         * modules/socket (configure.ac): On native Windows, set
26773         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
26774         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26775         Reported by Sam Steingold <sds@gnu.org>.
26776
26777 2009-08-10  Bruno Haible  <bruno@clisp.org>
26778
26779         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
26780         * modules/ioctl (configure.ac): Likewise.
26781
26782 2009-08-10  Bruno Haible  <bruno@clisp.org>
26783
26784         Avoid collision between gnulib wrapper and libintl wrapper.
26785         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
26786         already defined in intl/printf.c.
26787         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
26788         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
26789
26790 2009-08-09  Bruno Haible  <bruno@clisp.org>
26791
26792         Make <sys/select.h> really self-contained, also on Solaris 10.
26793         * lib/sys_select.in.h: Include <string.h>.
26794         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
26795         Solaris 10 problem.
26796         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
26797         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
26798         Reported by Jim Meyering.
26799
26800 2009-08-09  Bruno Haible  <bruno@clisp.org>
26801
26802         Avoid warnings from 'aclocal' that are due to a use of macro name
26803         AM_XGETTEXT_OPTION that is not defined in automake.
26804         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
26805         automake.
26806         * modules/error (configure.ac): Likewise.
26807         * modules/propername (configure.ac): Likewise.
26808         * modules/vasprintf (configure.ac): Likewise.
26809         * modules/verror (configure.ac): Likewise.
26810         * modules/xprintf (configure.ac): Likewise.
26811         * modules/xvasprintf (configure.ac): Likewise.
26812
26813 2009-08-08  Bruno Haible  <bruno@clisp.org>
26814
26815         Avoid compilation error in C++ mode.
26816         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
26817         Reported by Sam Steingold <sds@gnu.org>.
26818
26819 2009-08-08  Bruno Haible  <bruno@clisp.org>
26820
26821         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
26822         for the various Unix platforms.
26823         * doc/posix-headers/limits.texi: Update platforms list regarding
26824         HOST_NAME_MAX.
26825         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26826
26827 2009-08-07  Jim Meyering  <meyering@redhat.com>
26828
26829         selinux-at: fix typo in a comment
26830         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
26831         Spotted by Paolo Bonzini.
26832
26833         selinux-at: remove redundant m4 code, add documentation
26834         * modules/selinux-at (configure.ac): Remove redundant code.
26835         LIB_SELINUX is already set via the dependent module, selinux-h.
26836         (Include): Add quotes around selinux-at.h.
26837         * lib/selinux-at.h: Add documentation.
26838         Reported by Bruno Haible in
26839         http://marc.info/?l=gnulib-bug&m=124958988300749
26840
26841 2009-08-07  Bruno Haible  <bruno@clisp.org>
26842
26843         Avoid link error on MacOS X 10.3 and 10.4.
26844         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
26845         on non-ELF systems.
26846         * lib/argp-pv.c (argp_program_version): Likewise.
26847         Reported by Simon Josefsson.
26848
26849 2009-08-07  Simon Josefsson  <simon@josefsson.org>
26850
26851         * tests/test-version-etc.sh: Use $EXEEXT.
26852
26853 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
26854
26855         update-copyright: update documentation to point to maint.mk
26856         * build-aux/update-copyright: Here.
26857
26858 2009-08-06  Jim Meyering  <meyering@redhat.com>
26859
26860         maint.mk: support update-copyright-local
26861         * top/maint.mk (update-copyright-local): Define place-holder.
26862         (update-copyright): Depend on $(update-copyright-local).
26863
26864 2009-08-06  Jim Meyering  <meyering@redhat.com>
26865
26866         selinux-at: new module
26867         Initially written for coreutils, this module will soon be
26868         used by findutils, too.
26869         * MODULES.html.sh [Misc]: Add selinux-at.
26870         * lib/selinux-at.h: New file, from coreutils.
26871         * lib/selinux-at.c: Likewise.
26872         * modules/selinux-at: Likewise.
26873         (License): Change from LGPL to GPL, since it depends
26874         on the GPL'd openat module.
26875
26876         doc: update README
26877         * README: Remove references to cogito.
26878         Remove cvs-repo-updating instructions from 2007.
26879         Don't imply that CVS is better if you have limited disk space.
26880
26881 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26882
26883         update-copyright: support C-style comments
26884         * build-aux/update-copyright: Implement and document.
26885         * tests/test-update-copyright.sh: Test.
26886
26887 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26888
26889         update-copyright: support omitted "(C)"
26890         * build-aux/update-copyright: Implement and document.  Also,
26891         allow variable whitespace before "(C)".
26892         * tests/test-update-copyright.sh: Test.
26893
26894 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26895
26896         update-copyright: don't trip on non-FSF copyright statements
26897         * build-aux/update-copyright: Fix so that the first correctly
26898         formatted FSF copyright statement is recognized no matter what
26899         appears before it.  Update documentation.
26900         * tests/test-update-copyright.sh: Test that.
26901
26902 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26903
26904         update-copyright: clean up code a little
26905         * build-aux/update-copyright: Append "_re" to the name of any
26906         variable holding a regular expression.
26907         Replace "old" and "new" with "stmt" in variable names.
26908         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
26909         handled correctly.
26910         Format code more consistently.
26911
26912 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26913
26914         update-copyright-tests: improve portability
26915         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
26916         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
26917
26918 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26919
26920         update-copyright: support @copyright{} and &copy;
26921         * build-aux/update-copyright: Implement and document.
26922         * tests/test-update-copyright.sh: Test.
26923
26924 2009-08-04  Jim Meyering  <meyering@redhat.com>
26925
26926         update-copyright-tests: correctly test EOL=\r\n handling
26927         * tests/test-update-copyright.sh: Put \r at the end of some lines
26928         for the dos-eol tests.  Based on a patch by Joel E. Denny.
26929
26930         maint.mk: make update-copyright exclusion list more configurable
26931         * top/maint.mk (update-copyright): Default to excluding COPYING,
26932         but allow an override, in case someone does want to update that file.
26933
26934         maint.mk: don't update copyright date in COPYING
26935         * top/maint.mk (update-copyright): Exclude COPYING.
26936
26937         maint.mk: add a copyright-updating rule
26938         * top/maint.mk (update-copyright): New rule.
26939         Derived from coreutils/Makefile.am.
26940
26941         update-copyright: rename some variables
26942         * build-aux/update-copyright: Rename a few variables for clarity.
26943         Tweak syntax.  List Joel E. Denny as coauthor.
26944
26945 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26946
26947         update-copyright: fix bug for 2-digit last year and add tests
26948         * build-aux/update-copyright: Fix bug.
26949         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
26950         specified.
26951         * modules/update-copyright-tests: New
26952         * tests/test-update-copyright.sh: New.
26953
26954 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26955
26956         update-copyright: handle leading tabs in line prefix
26957         * build-aux/update-copyright: Count leading tabs as 8 spaces
26958         when computing margin.  This helps with the formatting of
26959         ChangeLogs, for example.
26960         Fix documentation a little.
26961
26962 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26963
26964         update-copyright: support EOL=\r\n
26965         * build-aux/update-copyright: Implement that.
26966
26967 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26968
26969         update-copyright: automatically format copyright statements
26970         * build-aux/update-copyright: Implement that.
26971         Also, be a little more predictable and safer by always failing
26972         when the full copyright format is not perfectly recognized as an
26973         unbroken whole.  Discussed at
26974         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
26975         Rewrite documentation.
26976
26977 2009-08-03  Bruno Haible  <bruno@clisp.org>
26978
26979         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
26980
26981 2009-08-02  Bruno Haible  <bruno@clisp.org>
26982
26983         Tests for module 'uname'.
26984         * modules/uname-tests: New file.
26985         * tests/test-uname.c: New file.
26986
26987         New module 'uname'.
26988         * lib/uname.c: New file.
26989         * m4/uname.m4: New file.
26990         * modules/uname: New file.
26991         * doc/posix-functions/uname.texi: Mention the new module.
26992
26993 2009-08-02  Bruno Haible  <bruno@clisp.org>
26994
26995         Tests for module 'sys_utsname'.
26996         * modules/sys_utsname-tests: New file.
26997         * tests/test-sys_utsname.c: New file.
26998
26999         New module 'sys_utsname'.
27000         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
27001         * m4/sys_utsname_h.m4: New file.
27002         * modules/sys_utsname: New file.
27003         * doc/posix-headers/sys_utsname.texi: Mention the new module.
27004
27005 2009-08-02  Bruno Haible  <bruno@clisp.org>
27006
27007         Implicitly initialize the sockets library.
27008         * lib/gethostname.c: Include sockets.h.
27009         (rpl_gethostname): Invoke gl_sockets_startup.
27010         * lib/socket.c: Include sockets.h.
27011         (rpl_socket): Invoke gl_sockets_startup.
27012         * modules/gethostname (Depends-on): Add sockets.
27013         * modules/socket (Depends-on): Likewise.
27014         * tests/test-poll.c: Don't include sockets.h.
27015         (main): Don't invoke gl_sockets_startup.
27016         * tests/test-select.c: Don't include sockets.h.
27017         (main): Don't invoke gl_sockets_startup.
27018
27019 2009-08-02  Bruno Haible  <bruno@clisp.org>
27020
27021         Allow multiple calls to gl_sockets_startup.
27022         * lib/sockets.c (initialized_sockets_version): New variable.
27023         (gl_sockets_startup): Do nothing if already called for this or a higher
27024         version.
27025         (gl_sockets_cleanup): Reset initialized_sockets_version.
27026
27027 2009-08-03  Simon Josefsson  <simon@josefsson.org>
27028
27029         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
27030         different project/version.
27031
27032 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
27033             Bruno Haible  <bruno@clisp.org>
27034
27035         Tests for module 'pipe-filter-gi'.
27036         * modules/pipe-filter-gi-tests: New file.
27037         * tests/test-pipe-filter-gi1.sh: New file.
27038         * tests/test-pipe-filter-gi1.c: New file.
27039         * tests/test-pipe-filter-gi2.sh: New file.
27040         * tests/test-pipe-filter-gi2-main.c: New file.
27041         * tests/test-pipe-filter-gi2-child.c: New file.
27042
27043         New module 'pipe-filter-gi'.
27044         * lib/pipe-filter-gi.c: New file.
27045         * modules/pipe-filter-gi: New file.
27046
27047 2009-08-02  Bruno Haible  <bruno@clisp.org>
27048             Paolo Bonzini  <bonzini@gnu.org>
27049
27050         Tests for module 'pipe-filter-ii'.
27051         * modules/pipe-filter-ii-tests: New file.
27052         * tests/test-pipe-filter-ii1.sh: New file.
27053         * tests/test-pipe-filter-ii1.c: New file.
27054         * tests/test-pipe-filter-ii2.sh: New file.
27055         * tests/test-pipe-filter-ii2-main.c: New file.
27056         * tests/test-pipe-filter-ii2-child.c: New file.
27057
27058         New module 'pipe-filter-ii'.
27059         * lib/pipe-filter.h: New file.
27060         * lib/pipe-filter-ii.c: New file.
27061         * lib/pipe-filter-aux.h: New file.
27062         * modules/pipe-filter-ii: New file.
27063
27064 2009-08-02  Simon Josefsson  <simon@josefsson.org>
27065
27066         * lib/gc-libgcrypt.c: Change copyright to FSF.
27067         * lib/gc-gnulib.c: Likewise.
27068
27069 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
27070
27071         * lib/gethostname.c: Include limits.h.
27072
27073 2009-08-02  Simon Josefsson  <simon@josefsson.org>
27074             Bruno Haible  <bruno@clisp.org>
27075
27076         Ensure HOST_NAME_MAX as part of the gethostname module.
27077         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
27078         define also HOST_NAME_MAX.
27079         * tests/test-gethostname.c: Include <limits.h>.
27080         (main): Check also HOST_NAME_MAX.
27081         * doc/posix-headers/limits.texi: Document the mingw problem.
27082
27083 2009-08-02  Bruno Haible  <bruno@clisp.org>
27084
27085         * lib/gethostname.c (gethostname): Fix handling of large len argument.
27086         Add comments.
27087
27088 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27089
27090         * lib/gethostname.c: Add Windows wrapper.
27091         * m4/gethostname.m4: Look for gethostname in -lws2_32.
27092         * modules/gethostname: Depend on sys_socket & errno, for also
27093         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
27094         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
27095
27096 2009-07-31  Jim Meyering  <meyering@redhat.com>
27097
27098         getloadavg: fix symbol name in comment
27099         * lib/getloadavg.c: Correct a typo I introduced when adding
27100         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
27101         Matt Kraai spotted the problem.
27102
27103 2009-07-29  Matt Kraai  <mkraai@beckman.com>
27104
27105         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
27106         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
27107         code also if ! defined N_NAME_POINTER.
27108         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
27109         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
27110         but the n_name member is a 12-byte array.
27111
27112 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
27113
27114         update-copyright: generalize comment handling
27115         * build-aux/update-copyright: Handle copyright statements
27116         within more comment styles.
27117         Document usage.
27118         Report any file with an external copyright holder or parse failure.
27119
27120 2009-07-29  Jim Meyering  <meyering@redhat.com>
27121
27122         mktime: correct setting of REPLACE_MKTIME
27123         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
27124
27125         update-copyright: new module
27126         * modules/update-copyright: New file.
27127         * build-aux/update-copyright: New file.
27128         * MODULES.html.sh (maint+release support): Add update-copyright.
27129
27130 2009-07-27  Bruno Haible  <bruno@clisp.org>
27131
27132         Fix compilation error when <ctime> is used and mktime is replaced.
27133         * lib/time.in.h (mktime): New declaration.
27134         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
27135         REPLACE_MKTIME instead of defining mktime in config.h.
27136         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
27137         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
27138         Reported by Ross McFarland <rwmcfa1@neces.com>.
27139
27140 2009-07-27  Bruno Haible  <bruno@clisp.org>
27141
27142         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
27143         Reported by Matt Kraai <mkraai@beckman.com>.
27144
27145 2009-07-25  Jim Meyering  <meyering@redhat.com>
27146
27147         maint.mk: avoid warnings about missing files
27148         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
27149         diagnostic when .prev-version does not exist.
27150         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
27151         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
27152         nonexistent cfg.mk.
27153         Suggestions from Simon Josefsson.
27154
27155 2009-07-25  Bruno Haible  <bruno@clisp.org>
27156
27157         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
27158         defined as macros. Needed on QNX 6.4.1.
27159         Reported by Matt Kraai <mkraai@beckman.com>.
27160
27161 2009-07-23  Jim Meyering  <meyering@redhat.com>
27162
27163         maint.mk: invoke "make dist" with a working value of XZ_OPT
27164         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
27165
27166 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
27167
27168         Make fseeko.c compile on QNX.
27169         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
27170
27171 2009-07-22  Peter Simons  <simons@cryp.to>
27172
27173         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
27174         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
27175         * lib/md4.h: Likewise.
27176         * lib/md5.h: Likewise.
27177         * lib/sha1.h: Likewise.
27178         * lib/sha256.h: Likewise.
27179         * lib/sha512.h: Likewise.
27180
27181         tests-sha1: don't assign literal string to 'char *' variable
27182         * tests/test-sha1.c (main): Declare locals with "const" to match
27183         attributes of the right hand side.
27184
27185 2009-07-21  Eric Blake  <ebb9@byu.net>
27186
27187         dup2: fix more mingw problems
27188         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
27189         fd to itself.
27190         * doc/posix-functions/dup2.texi (dup2): Document the bug.
27191         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
27192         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
27193         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
27194         care of mingw bugs.
27195
27196 2009-07-21  Jim Meyering  <meyering@redhat.com>
27197
27198         vc-list-files: avoid failure when /bin/sh is dash
27199         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
27200         On some Debian based systems, /bin/sh is a symlink to dash, and running
27201         this command would omit the "/" following each 'tests' prefix:
27202           dash -x build-aux/vc-list-files -C . tests
27203         That is because bash and dash work differently:
27204           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
27205           bash ok
27206           dash odd
27207
27208 2009-07-21  Eric Blake  <ebb9@byu.net>
27209
27210         dup2-tests: test previous patch
27211         * modules/dup2-tests: New file.
27212         * tests/test-dup2.c: Likewise.
27213         * tests/test-open.c (main): Avoid unspecified behavior.
27214         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
27215         test.
27216
27217         dup2: work around mingw and cygwin 1.5 bug
27218         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
27219         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27220         * modules/unistd (Makefile.am): Substitute it.
27221         * lib/unistd.in.h (dup2): Declare the replacement.
27222         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
27223         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
27224         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
27225         * modules/execute (Depends-on): Add dup2.
27226         * modules/fseterr (Depends-on): Likewise.
27227         * modules/pipe (Depends-on): Likewise.
27228         * modules/posix_spawn-internal (Depends-on): Likewise.
27229
27230 2009-07-21  Bruno Haible  <bruno@clisp.org>
27231
27232         * modules/.gitattributes: New file.
27233
27234 2009-07-20  Bruno Haible  <bruno@clisp.org>
27235
27236         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
27237         (main): Use it.
27238
27239 2009-07-20  Eric Blake  <ebb9@byu.net>
27240
27241         test-pipe: make a bit more robust.
27242         * tests/test-pipe.c (myerr): Allow error messages regardless of
27243         what we do to stderr.
27244         (test_pipe): Rearrange to avoid deadlock.
27245         (child_main): Try a larger read, to ensure we avoided deadlock.
27246         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
27247         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
27248         if misused.
27249
27250 2009-07-19  Jim Meyering  <meyering@redhat.com>
27251
27252         fts: avoid false-positive cycle-detection
27253         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
27254         for each new command line argument.
27255
27256 2009-07-19  Bruno Haible  <bruno@clisp.org>
27257
27258         Fix build error on mingw with the modules sys_select and unistd.
27259         * modules/acl-tests (Depends-on): Add close.
27260         * modules/binary-io-tests (Depends-on): Likewise.
27261         * modules/closein-tests (Depends-on): Likewise.
27262         * modules/flock-tests (Depends-on): Likewise.
27263         * modules/fsync-tests (Depends-on): Likewise.
27264         * modules/lseek-tests (Depends-on): Likewise.
27265         * modules/pipe-tests (Depends-on): Likewise.
27266         * modules/posix_spawn-tests (Depends-on): Likewise.
27267         * modules/posix_spawnp-tests (Depends-on): Likewise.
27268         * modules/stat-time-tests (Depends-on): Likewise.
27269         * modules/yesno-tests (Depends-on): Likewise.
27270
27271 2009-07-19  Bruno Haible  <bruno@clisp.org>
27272
27273         Unify conditionals.
27274         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
27275         macros, not at the compiler macros.
27276         * lib/pipe.c: Likewise.
27277         * lib/execute.c: Likewise.
27278         * lib/spawni.c: Likewise.
27279
27280 2009-07-19  Bruno Haible  <bruno@clisp.org>
27281
27282         Fix handling of closed stdin/stdout/stderr on mingw.
27283         * lib/w32spawn.h: Include unistd.h.
27284         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
27285         file descriptor with O_NOINHERIT flag.
27286         (fd_safer_noinherit): New function, based on fd-safer.c.
27287         (dup_safer_noinherit): New function, based on dup-safer.c.
27288         (undup_safer_noinherit): New function.
27289         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
27290         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
27291         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
27292         instead of fd_safer.
27293         * tests/test-pipe.c: Include <windows.h>.
27294         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
27295
27296         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
27297         from main.
27298         (test_pipe): Pass an extra argument for disambiguation.
27299         (main): Invoke parent_main or child_main.
27300
27301         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
27302         consistently.
27303
27304 2009-07-18  Eric Blake  <ebb9@byu.net>
27305
27306         test-pipe: fix mingw build
27307         * tests/test-pipe.c (main): Avoid fcntl on mingw.
27308
27309 2009-07-18  Bruno Haible  <bruno@clisp.org>
27310
27311         * modules/pipe-tests (Makefile.am): Fix typo.
27312
27313 2009-07-18  Eric Blake  <ebb9@byu.net>
27314
27315         error: fix mingw build
27316         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
27317         Reported by Bruno Haible.
27318
27319         error: avoid undefined use of stdout
27320         * lib/error.c (error, error_at_line): Check that fd 1 is open
27321         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
27322         is handling faults and the close_stdout module wants to report the
27323         detection of closed stdout as an error.
27324
27325 2009-07-17  Eric Blake  <ebb9@byu.net>
27326
27327         pipe: be robust in face of closed fds
27328         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
27329         should cause child to misbehave.
27330         * modules/pipe-tests: New module.
27331         * tests/test-pipe.c: New file.
27332         * tests/test-pipe.sh: New file.
27333         Reported by Akim Demaille.
27334
27335 2009-07-14  Bruno Haible  <bruno@clisp.org>
27336
27337         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
27338         Reported by anonymous kc.
27339
27340 2009-07-07  Jim Meyering  <meyering@redhat.com>
27341
27342         maint.mk: don't look for translatable strings in *.m4 or *.mk
27343         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
27344         when searching for translatable strings.
27345
27346 2009-07-05  Jim Meyering  <meyering@redhat.com>
27347
27348         remove superfluous parentheses in STREQ definition
27349         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
27350         * lib/getugroups.c (STREQ): Likewise.
27351         * lib/fnmatch.c (STREQ): Likewise.
27352         Spotted by Bruno Haible.
27353
27354 2009-07-04  Jim Meyering  <meyering@redhat.com>
27355
27356         argv-iter: new module
27357         * MODULES.html.sh: Add argv-iter.
27358         * lib/argv-iter.c, lib/argv-iter.h: New files.
27359         * modules/argv-iter: New file.
27360         * modules/argv-iter-tests: New file.
27361         * tests/test-argv-iter.c: Test it.
27362
27363 2009-07-04  Bruno Haible  <bruno@clisp.org>
27364
27365         Fix assertion.
27366         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
27367         contains more exact copies of a given entry than file2, leave the extra
27368         copies unpaired rather than aborting.
27369         Reported by Eric Blake.
27370
27371 2009-07-02  Bruno Haible  <bruno@clisp.org>
27372
27373         Speedup git-merge-changelog for git cherry-pick.
27374         * lib/git-merge-changelog.c (struct entries_mapping): New type.
27375         (entries_mapping_get): New function, extracted from compute_mapping.
27376         (entries_mapping_reverse_get): New function.
27377         (compute_mapping): Add a 'full' argument. Return the result in a
27378         'struct entries_mapping'.
27379         (main): Update. Access the mappings through entries_mapping_get.
27380         Reported by Eric Blake.
27381
27382 2009-07-02  Bruno Haible  <bruno@clisp.org>
27383
27384         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
27385         best_i.
27386
27387 2009-07-02  Bruno Haible  <bruno@clisp.org>
27388
27389         Speed up approximate search for matching ChangeLog entries.
27390         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
27391         argument. Call fstrcmp_bounded instead of fstrcmp.
27392         (compute_mapping, try_split_merged_entry, main): Update callers.
27393
27394 2009-07-02  Bruno Haible  <bruno@clisp.org>
27395
27396         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
27397
27398 2009-06-30  Bruno Haible  <bruno@clisp.org>
27399
27400         Reduce the number of uc_is_cased calls.
27401         * lib/unicase.h (casing_suffix_context_t): Add
27402         'first_char_except_ignorable' field.
27403         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
27404         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
27405         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
27406         Update initializer.
27407         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
27408         case-ignorable characters.
27409         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
27410         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
27411         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
27412         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
27413         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
27414
27415 2009-06-30  Bruno Haible  <bruno@clisp.org>
27416
27417         Tests for module 'unicase/ignorable'.
27418         * modules/unicase/ignorable-tests: New file.
27419         * tests/unicase/test-ignorable.c: New file, generated by
27420         gen-uni-tables.
27421
27422         Tests for module 'unicase/cased'.
27423         * modules/unicase/cased-tests: New file.
27424         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
27425         * tests/unicase/test-predicate-part1.h: New file, derived from
27426         tests/unictype/test-predicate-part1.h.
27427         * tests/unicase/test-predicate-part2.h: New file, same as
27428         tests/unictype/test-predicate-part2.h.
27429
27430         Fix evaluation of "Before C" condition of FINAL_SIGMA.
27431         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
27432         (output_casing_properties): New function.
27433         (main): Call it.
27434         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
27435         * lib/unicase/cased.c: Include unictype/bitmap.h.
27436         (uc_is_cased): Define through a bitmap lookup.
27437         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
27438         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
27439         (uc_is_case_ignorable): Define through a bitmap lookup.
27440         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
27441         lib/unictype/bitmap.h.
27442         (Depends-on): Add inline. Clean up.
27443         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
27444         lib/unictype/bitmap.h.
27445         (Depends-on): Add inline. Clean up.
27446         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
27447         recognition.
27448         * tests/unicase/test-u16-tolower.c (main): Likewise.
27449         * tests/unicase/test-u32-tolower.c (main): Likewise.
27450
27451 2009-06-30  Bruno Haible  <bruno@clisp.org>
27452
27453         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
27454         * lib/unicase/u16-casemap.c: Likewise.
27455         * lib/unicase/u32-casemap.c: Likewise.
27456
27457 2009-06-29  Bruno Haible  <bruno@clisp.org>
27458
27459         Define u32_casefold as a wrapper around u32_ct_casefold.
27460         * lib/unicase/u32-casefold.c: Update.
27461         * modules/unicase/u32-casefold (Depends-on): Add
27462         unicase/u32-ct-casefold, unicase/empty-prefix-context,
27463         unicase/empty-suffix-context. Clean up.
27464
27465         Define u16_casefold as a wrapper around u16_ct_casefold.
27466         * lib/unicase/u16-casefold.c: Update.
27467         * modules/unicase/u16-casefold (Depends-on): Add
27468         unicase/u16-ct-casefold, unicase/empty-prefix-context,
27469         unicase/empty-suffix-context. Clean up.
27470
27471         Define u8_casefold as a wrapper around u8_ct_casefold.
27472         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
27473         * lib/unicase/u8-casefold.c: Update.
27474         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
27475         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27476
27477         Define u32_totitle as a wrapper around u32_ct_totitle.
27478         * lib/unicase/u32-totitle.c: Update.
27479         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
27480         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27481
27482         Define u16_totitle as a wrapper around u16_ct_totitle.
27483         * lib/unicase/u16-totitle.c: Update.
27484         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
27485         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27486
27487         Define u8_totitle as a wrapper around u8_ct_totitle.
27488         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
27489         functions.
27490         (FUNC): Delegate to U_CT_TOTITLE.
27491         * lib/unicase/u8-totitle.c: Update.
27492         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
27493         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27494
27495         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
27496         invocation.
27497         * modules/unicase/u32-tolower (Depends-on): Add
27498         unicase/empty-prefix-context, unicase/empty-suffix-context.
27499
27500         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
27501         invocation.
27502         * modules/unicase/u16-tolower (Depends-on): Add
27503         unicase/empty-prefix-context, unicase/empty-suffix-context.
27504
27505         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
27506         * modules/unicase/u8-tolower (Depends-on): Add
27507         unicase/empty-prefix-context, unicase/empty-suffix-context.
27508
27509         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
27510         invocation.
27511         * modules/unicase/u32-toupper (Depends-on): Add
27512         unicase/empty-prefix-context, unicase/empty-suffix-context.
27513
27514         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
27515         invocation.
27516         * modules/unicase/u16-toupper (Depends-on): Add
27517         unicase/empty-prefix-context, unicase/empty-suffix-context.
27518
27519         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
27520         * modules/unicase/u8-toupper (Depends-on): Add
27521         unicase/empty-prefix-context, unicase/empty-suffix-context.
27522
27523         New module 'unicase/u32-ct-casefold'.
27524         * lib/unicase/u32-ct-casefold.c: New file.
27525         * modules/unicase/u32-ct-casefold: New file.
27526
27527         New module 'unicase/u16-ct-casefold'.
27528         * lib/unicase/u16-ct-casefold.c: New file.
27529         * modules/unicase/u16-ct-casefold: New file.
27530
27531         New module 'unicase/u8-ct-casefold'.
27532         * lib/unicase/u8-ct-casefold.c: New file.
27533         * lib/unicase/u-ct-casefold.h: New file, derived from
27534         lib/unicase/u-casefold.h.
27535         * modules/unicase/u8-ct-casefold: New file.
27536
27537         New module 'unicase/u32-ct-totitle'.
27538         * lib/unicase/u32-ct-totitle.c: New file.
27539         * modules/unicase/u32-ct-totitle: New file.
27540
27541         New module 'unicase/u16-ct-totitle'.
27542         * lib/unicase/u16-ct-totitle.c: New file.
27543         * modules/unicase/u16-ct-totitle: New file.
27544
27545         New module 'unicase/u8-ct-totitle'.
27546         * lib/unicase/u8-ct-totitle.c: New file.
27547         * lib/unicase/u-ct-totitle.h: New file, derived from
27548         lib/unicase/u-totitle.h.
27549         * modules/unicase/u8-ct-totitle: New file.
27550
27551         New module 'unicase/u32-ct-tolower'.
27552         * lib/unicase/u32-ct-tolower.c: New file.
27553         * modules/unicase/u32-ct-tolower: New file.
27554
27555         New module 'unicase/u16-ct-tolower'.
27556         * lib/unicase/u16-ct-tolower.c: New file.
27557         * modules/unicase/u16-ct-tolower: New file.
27558
27559         New module 'unicase/u8-ct-tolower'.
27560         * lib/unicase/u8-ct-tolower.c: New file.
27561         * modules/unicase/u8-ct-tolower: New file.
27562
27563         New module 'unicase/u32-ct-toupper'.
27564         * lib/unicase/u32-ct-toupper.c: New file.
27565         * modules/unicase/u32-ct-toupper: New file.
27566
27567         New module 'unicase/u16-ct-toupper'.
27568         * lib/unicase/u16-ct-toupper.c: New file.
27569         * modules/unicase/u16-ct-toupper: New file.
27570
27571         New module 'unicase/u8-ct-toupper'.
27572         * lib/unicase/u8-ct-toupper.c: New file.
27573         * modules/unicase/u8-ct-toupper: New file.
27574
27575         Add context arguments to u*_casemap functions.
27576         * lib/unicase/unicasemap.h: Include unicase.h.
27577         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
27578         suffix_context arguments.
27579         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
27580         functions.
27581         (FUNC): Add prefix_context and suffix_context arguments. Use
27582         uc_is_cased and uc_is_case_ignorable.
27583         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
27584         * lib/unicase/u16-casemap.c: Likewise.
27585         * lib/unicase/u32-casemap.c: Likewise.
27586         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
27587         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27588         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
27589         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27590         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
27591         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27592
27593         New module 'unicase/u32-suffix-context'.
27594         * lib/unicase/u32-suffix-context.c: New file.
27595         * modules/unicase/u32-suffix-context: New file.
27596
27597         New module 'unicase/u16-suffix-context'.
27598         * lib/unicase/u16-suffix-context.c: New file.
27599         * modules/unicase/u16-suffix-context: New file.
27600
27601         New module 'unicase/u8-suffix-context'.
27602         * lib/unicase/u8-suffix-context.c: New file.
27603         * lib/unicase/u-suffix-context.h: New file.
27604         * modules/unicase/u8-suffix-context: New file.
27605
27606         New module 'unicase/empty-suffix-context'.
27607         * lib/unicase/empty-suffix-context.c: New file.
27608         * modules/unicase/empty-suffix-context: New file.
27609
27610         New module 'unicase/u32-prefix-context'.
27611         * lib/unicase/u32-prefix-context.c: New file.
27612         * modules/unicase/u32-prefix-context: New file.
27613
27614         New module 'unicase/u16-prefix-context'.
27615         * lib/unicase/u16-prefix-context.c: New file.
27616         * modules/unicase/u16-prefix-context: New file.
27617
27618         New module 'unicase/u8-prefix-context'.
27619         * lib/unicase/u8-prefix-context.c: New file.
27620         * lib/unicase/u-prefix-context.h: New file.
27621         * lib/unicase/context.h: New file.
27622         * modules/unicase/u8-prefix-context: New file.
27623
27624         New module 'unicase/empty-prefix-context'.
27625         * lib/unicase/empty-prefix-context.c: New file.
27626         * modules/unicase/empty-prefix-context: New file.
27627
27628         New module 'unicase/ignorable'.
27629         * lib/unicase/ignorable.c: New file.
27630         * modules/unicase/ignorable: New file.
27631
27632         New module 'unicase/cased'.
27633         * lib/unicase/caseprop.h: New file.
27634         * lib/unicase/cased.c: New file.
27635         * modules/unicase/cased: New file.
27636
27637         New functions for case mapping of substrings.
27638         * lib/unicase.h (casing_prefix_context_t): New type.
27639         (unicase_empty_prefix_context): New variable.
27640         (u8_casing_prefix_context, u16_casing_prefix_context,
27641         u32_casing_prefix_context, u8_casing_prefixes_context,
27642         u16_casing_prefixes_context, u32_casing_prefixes_context): New
27643         declarations.
27644         (casing_suffix_context_t): New type.
27645         (unicase_empty_suffix_context): New variable.
27646         (u8_casing_suffix_context, u16_casing_suffix_context,
27647         u32_casing_suffix_context, u8_casing_suffixes_context,
27648         u16_casing_suffixes_context, u32_casing_suffixes_context,
27649         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
27650         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
27651         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
27652         declarations.
27653
27654 2009-06-28  Jim Meyering  <meyering@redhat.com>
27655
27656         boostrap: indent only with spaces
27657         * build-aux/bootstrap: Indent only with spaces, never TABs.
27658
27659         bootstrap: split long lines
27660         * build-aux/bootstrap: Keep line length < 80.
27661
27662         bootstrap: sync from coreutils
27663         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
27664         just as autoreconf does.  Verify a list of prerequisite
27665         package-name,version-number pairs if defined in bootstrap.conf.
27666         Refer to README-prereq, if prerequisites are not satisfied.
27667
27668 2009-06-27  Eric Blake  <ebb9@byu.net>
27669
27670         tests: add test for bogus NULL definition
27671         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
27672         * tests/test-stdlib.c: Likewise.
27673         * tests/test-string.c: Likewise.
27674         * tests/test-locale.c: Likewise.
27675         * tests/test-unistd.c: Likewise.
27676         * modules/stdio-tests (Depends-on): Add verify.
27677         * modules/stdlib-tests (Depends-on): Likewise.
27678         * modules/string-tests (Depends-on): Likewise.
27679         * modules/locale-tests (Depends-on): Likewise.
27680         * modules/unistd-tests (Depends-on): Likewise.
27681
27682 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
27683
27684         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
27685         self-explaining comment.
27686         * m4/selinux-selinux-h: Update serial.
27687         (gl_LIBSELINUX): New macro, adding a warning for missing development
27688         packages to code extracted from...
27689         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
27690         Add warning for missing development packages here, too.
27691
27692 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
27693
27694         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
27695
27696 2009-06-25  Eric Blake  <ebb9@byu.net>
27697
27698         version-etc: fix regression
27699         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
27700         gcc.
27701         (version_etc): Use it, to catch bugs with trailing NULL.
27702         * lib/version-etc.c (version_etc_arn): Delete unused argument.
27703         (version_etc_va): Fix logic bug.
27704         * modules/version-etc-tests: Add test.
27705         * tests/test-version-etc.c: New file.
27706         * tests/test-version-etc.sh: Likewise.
27707
27708 2009-06-25  Sam Steingold  <sds@gnu.org>
27709
27710         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
27711         mbtowc declaration.
27712
27713 2009-06-25  Eric Blake  <ebb9@byu.net>
27714
27715         fpurge: migrate into <stdio.h>
27716         * lib/fpurge.h: Delete...
27717         * lib/stdio.in.h (fpurge): ...and declare here, instead.
27718         * lib/fpurge.c (fpurge): Change declaring header.
27719         * modules/fpurge (Files): Drop deleted file.
27720         (Depends-on): Add stdio.
27721         (configure.ac): Set witness.
27722         * modules/stdio (Makefile.am): Support fpurge macros.
27723         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27724         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
27725         * lib/fflush.c: Update client.
27726         * tests/test-fpurge.c: Likewise.
27727         * NEWS: Mention the change.
27728
27729 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27730
27731         * lib/argp-version-etc.c (program_authors): Add const
27732         qualifier.
27733         * lib/version-etc.c: Fix typos in the comments.
27734         * modules/argp-version-etc: Depends on version-etc.
27735
27736 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27737
27738         argp-version-etc: new module.
27739
27740         * lib/argp-version-etc.c: New file.
27741         * lib/argp-version-etc.h: New file.
27742         * modules/argp-version-etc: New file.
27743         * modules/argp-version-etc-tests: New file.
27744         * tests/test-argp-version-etc.c: New test.
27745         * tests/test-argp-version-etc-1.sh: New test.
27746
27747 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27748
27749         Provide additional interfaces and documentation for version-etc
27750         module.
27751
27752         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
27753         interfaces.
27754         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
27755         prototypes.
27756
27757 2009-06-24  Bruno Haible  <bruno@clisp.org>
27758
27759         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
27760         HAVE_LIB${NAME} macro.
27761         Reported by Sam Steingold <sds@gnu.org>.
27762
27763 2009-06-23  Simon Josefsson  <simon@josefsson.org>
27764
27765         * modules/hash-tests (test_hash_LDADD): Link to libintl when
27766         needed.
27767
27768 2009-06-21  Bruno Haible  <bruno@clisp.org>
27769
27770         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
27771         work.
27772         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
27773         together with LIB${NAME}, LTLIB${NAME}.
27774         Reported by Sam Steingold <sds@gnu.org>.
27775
27776 2009-06-20  Jim Meyering  <meyering@redhat.com>
27777
27778         tests: make sc_require_test_exit_idiom more generic
27779         * top/maint.mk (Exit_witness_file): New overridable variable.
27780         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
27781         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
27782
27783 2009-06-19  Jim Meyering  <meyering@redhat.com>
27784
27785         hash: reverse order of src/dst parameters in an internal interface
27786         * lib/hash.c (transfer_entries): Reverse order of parameters to
27787         put DST before SRC.  Adjust callers.
27788
27789         tests: test-hash: avoid wholesale duplication
27790         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
27791         Instead, use a loop and add a single conditional.
27792
27793         tests: test-hash: allow seed selection via a command line argument
27794         * tests/test-hash.c (get_seed): New function.
27795         (main): Use it.
27796
27797 2009-06-19  Eric Blake  <ebb9@byu.net>
27798
27799         hash: avoid memory leak on allocation failure
27800         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
27801         failure.  Factor repeated algorithm...
27802         (transfer_entries): ...into new helper routine.
27803         (hash_delete): React to hash_rehash return value.
27804
27805         hash: reduce memory pressure in hash_rehash no-op case
27806         * lib/hash.c (next_prime): Avoid overflow.
27807         (hash_initialize): Factor bucket size computation...
27808         (compute_bucket_size): ...into new helper function.
27809         (hash_rehash): Use new function and open coding to reduce memory
27810         pressure, and avoid a memory leak in USE_OBSTACK code.
27811         Reported by Jim Meyering.
27812
27813 2009-06-18  Eric Blake  <ebb9@byu.net>
27814
27815         hash: make rotation more obvious
27816         * modules/hash (Depends-on): Add bitrotate and stdint.
27817         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
27818         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
27819         (SIZE_MAX): Rely on headers for definition.
27820         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
27821         (raw_hasher): Use rotr_sz.
27822         Suggested by Jim Meyering.
27823
27824         hash: fix memory leak in last patch
27825         * lib/hash.c (hash_rehash): Avoid memory leak.
27826
27827         hash: avoid no-op rehashing
27828         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
27829
27830         hash: provide default callback functions
27831         * lib/hash.c (raw_hasher, raw_comparator): New functions.
27832         (hash_initialize): Use them as defaults.
27833         * tests/test-hash.c (main): Test this.
27834
27835         hash: minor optimization
27836         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
27837         when possible.
27838         (hash_initialize): Document this promise.
27839         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
27840         * tests/test-hash.c (hash_compare_strings): Test this.
27841
27842 2009-06-18  Bruno Haible  <bruno@clisp.org>
27843
27844         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
27845         going to be replaced anyway.
27846
27847 2009-06-18  Bruno Haible  <bruno@clisp.org>
27848
27849         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
27850         in one place.
27851         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
27852         be replaced anyway.
27853
27854 2009-06-18  Eric Blake  <ebb9@byu.net>
27855
27856         hash: check for resize before insertion
27857         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
27858         threshold before insertion, so that a pathological hash_rehash
27859         that fills every bucket can still trigger another rehash.
27860
27861 2009-06-18  Jim Meyering  <meyering@redhat.com>
27862
27863         hash-tests: add a loop around the small tests
27864         * tests/test-hash.c (main): Repeat small tests with selected
27865         small initial table sizes.
27866
27867 2009-06-17  Eric Blake  <ebb9@byu.net>
27868
27869         hash: minor cleanups
27870         * lib/hash.h (hash_entry): Make opaque, by moving...
27871         * lib/hash.c (hash_entry): ...here.
27872         (hash_insert): Clarify restrictions on what can be inserted.
27873         (hash_get_next): Clarify when it is safe to remove an element
27874         during traversal.
27875         (check_tuning): Skip verification when tuning is known safe.
27876         (hash_initialize): Clarify restrictions on tuning.
27877
27878 2009-06-17  Jim Meyering  <jim@meyering.net>
27879         and Eric Blake  <ebb9@byu.net>
27880
27881         hash-tests: new module
27882         * modules/hash-tests: New file.
27883         * tests/test-hash.c: New file.
27884
27885 2009-06-17  Eric Blake  <ebb9@byu.net>
27886
27887         strstr-simple: document new module
27888         * MODULES.html.sh: Document new module.
27889
27890         strstr, strcasestr: replace on platforms with broken memchr
27891         * modules/strstr: Split into...
27892         * modules/strstr-simple: ...new module that does not care about
27893         performance, but does care about glibc bug.
27894         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
27895         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
27896         if platform memchr is broken, per Debian bug 521737.
27897         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
27898         memchr.
27899         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
27900         * doc/posix-functions/strstr.texi (strstr): Document the fix.
27901         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27902         * modules/mountlist (Depends-on): Add strstr-simple.
27903         * modules/gen-uni-tables (Depends-on): Likewise.
27904         * modules/argz (Depends-on): Add strstr.
27905
27906 2009-06-17  Bruno Haible  <bruno@clisp.org>
27907
27908         * modules/posix_spawn-internal (Depends-on): Add errno.
27909
27910 2009-06-17  Bruno Haible  <bruno@clisp.org>
27911
27912         Define missing ESTALE on Interix 3.5.
27913         * lib/errno.in.h (ESTALE): Assign a value if missing.
27914         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
27915         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
27916         missing.
27917         * doc/posix-headers/errno.texi: Mention the Interix bug.
27918         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
27919
27920 2009-06-15  Eric Blake  <ebb9@byu.net>
27921
27922         memchr, memchr2: add valgrind exception
27923         * lib/memchr.valgrind: New file.
27924         * lib/memchr2.valgrind: New file.
27925         * modules/memchr (Files): Distribute valgrind file.
27926         * modules/memchr2 (Files): Likewise.
27927
27928         docs: memchr is no longer obsolete
27929         * MODULES.html.sh: Move memchr from obsolete to string.h section.
27930         * lib/string.in.h (memchr): Simplify logic.
27931
27932 2009-06-14  Jim Meyering  <meyering@redhat.com>
27933
27934         link-follow: fix the "checking..." message to not mention trailing slash
27935         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
27936         never considered trailing slashes.
27937
27938 2009-06-14  Bruno Haible  <bruno@clisp.org>
27939
27940         * m4/memchr.m4: Mention also the bug on IA-64.
27941         * doc/posix-functions/memchr.texi: Likewise.
27942
27943 2009-06-12  Eric Blake  <ebb9@byu.net>
27944
27945         memchr: detect broken x86_64 and alpha implementations
27946         * modules/memchr-tests (Depends-on): Move mmap detection...
27947         * modules/memchr (Depends-on): ...here.
27948         (configure.ac): Set indicator.
27949         * lib/string.in.h (memchr): Declare replacement.
27950         * modules/string (Makefile.am): Trigger replacement.
27951         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
27952         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
27953         bugs.
27954         * doc/posix-functions/memchr.texi (memchr): Document the bug.
27955         * modules/getpagesize (License): Relax license.
27956
27957 2009-06-11  Bruno Haible  <bruno@clisp.org>
27958
27959         * lib/idpriv.h: Add more references.
27960
27961 2009-06-08  Bruno Haible  <bruno@clisp.org>
27962
27963         Tests for module 'idpriv-droptemp'.
27964         * modules/idpriv-droptemp-tests: New file.
27965         * tests/test-idpriv-droptemp.sh: New file.
27966         * tests/test-idpriv-droptemp.su.sh: New file.
27967         * tests/test-idpriv-droptemp.c: New file.
27968
27969         New module 'idpriv-droptemp'.
27970         * lib/idpriv-droptemp.c: New file.
27971         * modules/idpriv-droptemp: New file.
27972
27973 2009-06-08  Bruno Haible  <bruno@clisp.org>
27974
27975         Tests for module 'idpriv-drop'.
27976         * modules/idpriv-drop-tests: New file.
27977         * tests/test-idpriv-drop.sh: New file.
27978         * tests/test-idpriv-drop.su.sh: New file.
27979         * tests/test-idpriv-drop.c: New file.
27980
27981         New module 'idpriv-drop'.
27982         * lib/idpriv.h: New file.
27983         * lib-idpriv-drop.c: New file.
27984         * m4/idpriv.m4: New file.
27985         * modules/idpriv-drop: New file.
27986
27987 2009-06-08  Bruno Haible  <bruno@clisp.org>
27988
27989         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
27990         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27991         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27992         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27993         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27994         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27995         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27996
27997 2009-06-08  Eric Blake  <ebb9@byu.net>
27998
27999         test-strstr: use memory fence, when possible
28000         * tests/test-strstr.c (main): Use memory fence, in order to be
28001         more likely to trigger Debian bug 521737.
28002         * modules/strstr-tests (Files): Pull in additional files.
28003
28004         memchr: no longer obsolete, for wider field testing
28005         * modules/memchr (Status, Notice): Delete, this module is no
28006         longer obsolete.
28007         * modules/vasnprintf (Depends-on): Add memchr.
28008
28009 2009-06-07  Jim Meyering  <meyering@redhat.com>
28010
28011         hash: declare some functions with the warn_unused_result attribute
28012         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
28013
28014 2009-06-07  Bruno Haible  <bruno@clisp.org>
28015
28016         * tests/test-alignof.c: Don't test int64_t if it does not exist.
28017         Reported by Eric Blake.
28018
28019 2009-06-06  Eric Blake  <ebb9@byu.net>
28020
28021         test-alignof: fix typo with long double
28022         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
28023         compiler error.
28024
28025 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
28026
28027         Escape non-texinfo { and }s.
28028         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
28029         markup error.
28030
28031 2009-06-04  Jim Meyering  <meyering@redhat.com>
28032
28033         gitlog-to-changelog: don't infloop on an empty commit log
28034         * build-aux/gitlog-to-changelog: Warn about an empty log message.
28035         Reported by Boris Petersen <transacid@centerim.org>.
28036
28037 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
28038
28039         version-etc: extend for packagers
28040         Add three new configure options, intended for packagers:
28041           --with-packager="packager name"
28042           --with-packager-version="packager-specific version"
28043           --with-packager-bug-reports="packager bug reporting"
28044         An example with coreutils:
28045           $ ./configure \
28046             --with-packager=Gentoo \
28047             --with-packager-bug-report=http://bugs.gentoo.org/ \
28048             --with-packager-version="patchset 1.6"
28049           $ ./src/ls --version | head -n2
28050           ls (GNU coreutils) 7.1-dirty
28051           Packaged by Gentoo (patchset 1.6)
28052         Note that the bug reporting info via --help doesn't show up because
28053         coreutils uses its own custom emit_bug_reporting_address() implementation
28054         in src/system.h.  If it didn't, it'd look like:
28055           $ ./src/ls --help | tail -n4
28056           Report bugs to <bug-coreutils@gnu.org>.
28057           Report Gentoo bugs to <http://bugs.gentoo.org/>.
28058           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
28059           General help using GNU software: <http://www.gnu.org/gethelp/>.
28060         * lib/version-etc.c: Print new information, if provided.
28061         * m4/version-etc.m4: New file.
28062         * modules/version-etc (Files): Add m4/version-etc.m4.
28063         (configure.ac): Add gl_VERSION_ETC.
28064
28065 2009-05-31  Bruno Haible  <bruno@clisp.org>
28066
28067         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
28068         and 'int64_t'.
28069         * modules/alignof-tests (Dependencies): Add stdint.
28070         Reported by Eric Blake.
28071
28072 2009-05-31  Bruno Haible  <bruno@clisp.org>
28073
28074         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
28075         restriction due to compiler bugs.
28076         Reported by Eric Blake.
28077
28078 2009-05-31  Simon Josefsson  <simon@josefsson.org>
28079             Bruno Haible  <bruno@clisp.org>
28080
28081         Fix test-alignof failure.
28082         * lib/alignof.h (alignof_slot): New macro.
28083         (alignof_type): New macro, with the same semantics as the previous
28084         'alignof'.
28085         (alignof): Alias to alignof_slot.
28086         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
28087         check that the results are usable as constant expressions.
28088
28089 2009-05-31  Bruno Haible  <bruno@clisp.org>
28090
28091         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
28092         * tests/test-memchr.c (main): Check that memchr does not read past the
28093         first occurrence of the byte.
28094         * tests/test-strstr.c (main): Update comment.
28095         Suggested by Eric Blake.
28096
28097 2009-05-30  Bruno Haible  <bruno@clisp.org>
28098
28099         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
28100         detail how to use dumpbin.
28101         Reported by David Byron <dbyron@dbyron.com>.
28102
28103 2009-06-02  Simon Josefsson  <simon@josefsson.org>
28104
28105         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
28106
28107 2009-06-02  Simon Josefsson  <simon@josefsson.org>
28108
28109         * m4/manywarnings.m4: Add GCC 4.4 warnings.
28110
28111 2009-05-28  Bruno Haible  <bruno@clisp.org>
28112
28113         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
28114         build-aux/ files.
28115
28116 2009-05-28  Simon Josefsson  <simon@josefsson.org>
28117
28118         * gnulib-tool (func_import): Transform license on build-aux/ files too.
28119
28120 2009-05-27  Simon Josefsson  <simon@josefsson.org>
28121
28122         * gnulib-tool (sed_transform_main_lib_file)
28123         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
28124         regexps.
28125
28126 2009-05-26  Simon Josefsson  <simon@josefsson.org>
28127
28128         * tests/test-strstr.c: Add another self-test.
28129         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
28130         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
28131
28132 2009-05-23  Bruno Haible  <bruno@clisp.org>
28133
28134         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
28135         change.
28136
28137 2009-05-21  Bruno Haible  <bruno@clisp.org>
28138
28139         Simplify use of mode_t varargs.
28140         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
28141         uses 'mode_t' or 'int'.
28142         * lib/openat.c (openat): Likewise.
28143         * lib/open-safer.c (open_safer): Likewise.
28144         * m4/mode_t.m4: New file.
28145         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
28146         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
28147         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
28148         * modules/open (Files): Add m4/mode_t.m4.
28149         * modules/openat (Files): Likewise.
28150         * modules/fcntl-safer (Files): Likewise.
28151         Suggested by Eric Blake.
28152
28153 2009-05-21  Pádraig Brady  <P@draigbrady.com>
28154
28155         * doc/glibc-functions/fallocate.texi: New file.
28156         * doc/gnulib.texi: Include it.
28157
28158 2009-05-21  Eric Blake  <ebb9@byu.net>
28159             Bruno Haible  <bruno@clisp.org>
28160
28161         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
28162         invocations.
28163         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28164
28165 2009-05-21  Eric Blake  <ebb9@byu.net>
28166             Bruno Haible  <bruno@clisp.org>
28167
28168         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
28169         include_next. Fix of 2008-11-20 commit.
28170         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
28171         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
28172         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
28173         NEXT_MATH_H.
28174         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
28175         instead of NEXT_MATH_H.
28176
28177 2009-05-21  Bruno Haible  <bruno@clisp.org>
28178
28179         Avoid redefinition warnings for SIZE_MAX.
28180         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
28181         Reported by Simon Josefsson.
28182
28183 2009-05-21  Bruno Haible  <bruno@clisp.org>
28184
28185         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
28186         AC_CACHE_VAL.
28187
28188 2009-05-20  Bruno Haible  <bruno@clisp.org>
28189
28190         Make zeroptr.h work on mingw.
28191         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
28192         mprotect.
28193         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
28194         * modules/memchr2-tests (configure.ac): Likewise.
28195         * modules/memcmp-tests (configure.ac): Likewise.
28196         * modules/memmem-tests (configure.ac): Likewise.
28197         * modules/memrchr-tests (configure.ac): Likewise.
28198         Reported by Simon Josefsson.
28199
28200 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28201
28202         * tests/test-glob.c: Include string.h for strcmp prototype.
28203
28204 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28205
28206         * modules/getdelim (Depends-on): Add explicit stdint, although it
28207         was implicitly already pulled in via realloc-posix.
28208         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
28209
28210 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28211
28212         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
28213         G. Christensen" <tgc@jupiterrise.com>.
28214         * m4/sys_socket_h.m4: Check for sa_family_t.
28215         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
28216         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
28217         * tests/test-sys_socket.c: Check that sa_family_t works.
28218
28219 2009-05-18  Eric Blake  <ebb9@byu.net>
28220
28221         maint.mk: allow gnulib_dir in VPATH build
28222         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
28223
28224 2009-05-15  Jim Meyering  <meyering@redhat.com>
28225
28226         maint.mk: Give gnulib_dir a default definition.
28227         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
28228         Thus, most packages no longer need to specify this variable in cfg.mk
28229
28230 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
28231
28232         rename.m4: fix typos that would make non-mingw cross-configure fail
28233         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
28234
28235 2009-05-13  Eric Blake  <ebb9@byu.net>
28236
28237         mmap-anon: avoid out-of-order autoconf expansion
28238         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
28239         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
28240         * modules/memchr-tests (Depends-on): Add extensions.
28241         * modules/memchr2-tests (Depends-on): Add extensions.
28242         * modules/memcmp-tests (Depends-on): Add extensions.
28243         * modules/memmem-tests (Depends-on): Add extensions.
28244         * modules/memrchr-tests (Depends-on): Add extensions.
28245
28246 2009-05-13  Bruno Haible  <bruno@clisp.org>
28247
28248         Make some tests ISO C 99 compliant.
28249         * tests/zerosize-ptr.h: New file.
28250         * tests/test-memchr.c: Include zerosize-ptr.h.
28251         (main): Use a zero-size object pointer instead of NULL.
28252         * tests/test-memchr2.c: Include zerosize-ptr.h.
28253         (main): Use a zero-size object pointer instead of NULL.
28254         * tests/test-memcmp.c: Include zerosize-ptr.h.
28255         (main): Use a zero-size object pointer instead of NULL.
28256         * tests/test-memmem.c: Include zerosize-ptr.h.
28257         (main): Use a zero-size object pointer instead of NULL.
28258         * tests/test-memrchr.c: Include zerosize-ptr.h.
28259         (main): Use a zero-size object pointer instead of NULL.
28260         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
28261         m4/mmap-anon.m4.
28262         (Depends-on): Add getpagesize.
28263         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28264         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
28265         m4/mmap-anon.m4.
28266         (Depends-on): Add getpagesize.
28267         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28268         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
28269         m4/mmap-anon.m4.
28270         (Depends-on): Add getpagesize.
28271         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28272         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
28273         m4/mmap-anon.m4.
28274         (Depends-on): Add getpagesize.
28275         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28276         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
28277         m4/mmap-anon.m4.
28278         (Depends-on): Add getpagesize.
28279         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28280
28281 2009-05-12  Bruno Haible  <bruno@clisp.org>
28282
28283         Tests for module 'alignof'.
28284         * modules/alignof-tests: New file.
28285         * tests/test-alignof.c: New file.
28286
28287 2009-05-12  Bruno Haible  <bruno@clisp.org>
28288
28289         Fix alignof macro.
28290         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
28291         vendor compilers that are always correct.
28292
28293 2009-05-12  Bruno Haible  <bruno@clisp.org>
28294
28295         Make the MAP_ANONYMOUS detection work on HP-UX 11.
28296         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
28297         not whether its fully works.
28298
28299 2009-05-12  Bruno Haible  <bruno@clisp.org>
28300
28301         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
28302
28303 2009-05-12  Jim Meyering  <meyering@redhat.com>
28304
28305         * top/maint.mk: Adjust backslash alignment.
28306
28307 2009-05-11  Simon Josefsson  <simon@josefsson.org>
28308
28309         * top/maint.mk: Make $(srcdir)/build-aux configurable.
28310
28311 2009-05-11  Eric Blake  <ebb9@byu.net>
28312
28313         argp: avoid undefined behavior
28314         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
28315         macros.
28316
28317 2009-05-08  Simon Josefsson  <simon@josefsson.org>
28318
28319         * tests/test-vc-list-files-git.sh: Do git config of user.email and
28320         user.name to prevent git commit from complaining.
28321
28322 2009-05-10  Bruno Haible  <bruno@clisp.org>
28323
28324         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
28325         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
28326         it rewrites every file name only once.
28327         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
28328
28329 2009-05-08  Bruno Haible  <bruno@clisp.org>
28330
28331         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
28332         instead of 'max'.
28333
28334 2009-05-08  Simon Josefsson  <simon@josefsson.org>
28335
28336         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
28337         sockaddr_storage test.
28338
28339 2009-05-07  Simon Josefsson  <simon@josefsson.org>
28340
28341         * modules/sys_socket (Makefile.am): Substitute
28342         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
28343         * m4/sys_socket_h.m4: Check for sockaddr_storage.
28344         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
28345         * tests/test-sys_socket.c: Check sockaddr_storage.
28346
28347 2009-05-08  Bruno Haible  <bruno@clisp.org>
28348
28349         New module 'alignof'.
28350         * lib/alignof.h: New file.
28351         * modules/alignof: New file.
28352
28353 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28354             Bruno Haible  <bruno@clisp.org>
28355
28356         Fix test-file-has-acl on FreeBSD.
28357         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
28358         mask is implicitly added.
28359         * tests/test-file-has-acl.c: Include <signal.h>.
28360         (main): Terminate the test after 5 seconds.
28361         * modules/acl-tests (configure.ac): Check for alarm function.
28362
28363 2009-05-04  Bruno Haible  <bruno@clisp.org>
28364
28365         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
28366         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
28367         * modules/errno (configure.ac): Drop AC_REQUIRE.
28368         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
28369         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
28370
28371 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28372
28373         * modules/glob-tests: New module.
28374         * tests/test-glob.c: Add.
28375
28376 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28377
28378         * modules/fnmatch-tests: New module.
28379         * tests/test-fnmatch.c: Add.
28380
28381 2009-05-04  Eric Blake  <ebb9@byu.net>
28382
28383         maint: make the new no-submodule-changes rule VPATH-safe
28384         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
28385
28386 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28387             Bruno Haible  <bruno@clisp.org>
28388
28389         acl: Fix infinite loop on FreeBSD.
28390         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
28391         of return value from acl_get_entry.
28392         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
28393         Likewise.
28394
28395 2009-05-03  Bruno Haible  <bruno@clisp.org>
28396
28397         * lib/acl-internal.h (acl_entries): Clarify return value.
28398         * lib/acl_entries.c (acl_entries): Likewise.
28399
28400 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28401
28402         Bug fix in acl module.
28403         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
28404
28405 2009-05-03  Bruno Haible  <bruno@clisp.org>
28406
28407         Create gperf-generated file in the source dir, not in the build dir.
28408         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
28409         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
28410         * modules/unicase/locale-language (unicase/locale-languages.h):
28411         Likewise.
28412         * modules/unicase/special-casing (unicase/special-casing-table.h):
28413         Likewise.
28414         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
28415         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
28416         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
28417         Reported by Ralf Wildenhues.
28418
28419 2009-05-03  Bruno Haible  <bruno@clisp.org>
28420
28421         * modules/fnmatch (Description, configure.ac): Taken from
28422         fnmatch-posix.
28423         * modules/fnmatch-posix: Turn into a symbolic reference to the
28424         'fnmatch' module, and deprecate.
28425         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
28426
28427 2009-05-03  Bruno Haible  <bruno@clisp.org>
28428
28429         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
28430         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
28431         Reported by Ralf Wildenhues.
28432
28433 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28434
28435         * m4/fnmatch.m4: Fix fnmatch re-define.
28436
28437 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28438
28439         priv-set: new module and tests; adapt write-any-file
28440         * lib/priv-set.c: New file.
28441         * lib/priv-set.h: New file.
28442         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
28443         * lib/write-any-file.c: Simplify by using priv-set module.
28444         * m4/priv-set.m4: New file.
28445         * modules/priv-set: New file.
28446         * modules/unlinkdir: Add dependency on priv-set module.
28447         * modules/write-any-file: Likewise.
28448
28449         Tests for module 'priv-set'.
28450         * modules/priv-set-tests: New file.
28451         * tests/test-priv-set.c: New file.
28452
28453 2009-05-03  Jim Meyering  <meyering@redhat.com>
28454             Bruno Haible  <bruno@clisp.org>
28455
28456         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
28457         use the converted UTF-8 variant of the name instead.
28458
28459 2009-05-03  Jim Meyering  <meyering@redhat.com>
28460
28461         tests: tighten some getdate tests
28462         * tests/test-getdate.c (main): Tighten tests: require equality,
28463         not just greater than.  Set TZ envvar to UTC0.
28464
28465 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28466
28467         getdate: correctly interpret "next monday" when run on a Monday
28468         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
28469         that e.g., "next tues" (when run on a tuesday) results in a date
28470         that is one week in the future, and not today's date.
28471         I.e., add a week when the wday is the same as the current one.
28472         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
28473         and earlier by Martin Bernreuther and Jan Minář.
28474         * tests/test-getdate.c (main): Check that "next DAY" is always in
28475         the future and that "last DAY" is always in the past.
28476
28477 2009-05-02  Jim Meyering  <meyering@redhat.com>
28478
28479         build: ensure that a release build fails when a submodule is unclean
28480         * top/maint.mk (no-submodule-changes): New rule.
28481         (alpha beta major): Depend on it.
28482
28483 2009-05-02  Bruno Haible  <bruno@clisp.org>
28484
28485         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
28486         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
28487         shell variable gl_fnmatch_required to detect which variant is
28488         requested.
28489         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
28490         gl_FUNC_FNMATCH_POSIX.
28491         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
28492         exclude fnmatch-posix.
28493
28494 2009-05-02  Bruno Haible  <bruno@clisp.org>
28495
28496         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
28497         * modules/mbsrtowcs (License): Change to LGPLv2+.
28498         * modules/strnlen1 (License): Likewise.
28499         Reported by Simon Josefsson.
28500
28501 2009-05-02  Bruno Haible  <bruno@clisp.org>
28502
28503         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
28504         "cross".
28505         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
28506         gnulib-tool was called with option --source-base=lib.
28507
28508 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28509
28510         Use automake *-local hooks without commands, for extensibility.
28511         * modules/localcharset (Makefile.am): Rename install-exec-local
28512         rule to install-exec-localcharset, and make it a prerequisite of
28513         install-exec-local.  Likewise, rename the uninstall-local rule to
28514         uninstall-localcharset, and make it a prerequisite of the former.
28515
28516 2009-05-01  Bruno Haible  <bruno@clisp.org>
28517
28518         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
28519         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28520         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
28521         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
28522         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
28523         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28524         m4/locale-zh.m4, m4/codeset.m4.
28525
28526         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28527         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
28528         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28529         m4/locale-zh.m4.
28530
28531         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
28532         REPLACE_WCRTOMB if mbstate_t must be replaced.
28533         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
28534         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
28535
28536 2009-05-01  Bruno Haible  <bruno@clisp.org>
28537
28538         Avoid compiler warnings when redefining macros defined by <libintl.h>.
28539         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
28540         dngettext, dcngettext, textdomain, bindtextdomain,
28541         bind_textdomain_codeset): Undefine before redefining.
28542
28543 2009-04-30  Bruno Haible  <bruno@clisp.org>
28544
28545         Fix bug introduced on 2009-04-25.
28546         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
28547         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
28548         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
28549         is defined.
28550         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
28551         is defined.
28552         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
28553         is defined.
28554         Reported by Elbert_Pol <elbert.pol@gmail.com>.
28555
28556 2009-04-28  Bruno Haible  <bruno@clisp.org>
28557
28558         Comment tweaks.
28559         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
28560         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
28561         * lib/unicase.h (u*_casexfrm): Likewise.
28562         Reported by Paolo Bonzini.
28563
28564 2009-04-28  Bruno Haible  <bruno@clisp.org>
28565
28566         Fix a compilation error.
28567         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
28568         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
28569         Reported by Jim Meyering.
28570
28571 2009-04-27  Bruno Haible  <bruno@clisp.org>
28572
28573         New module 'libunistring'.
28574         * modules/libunistring: New file.
28575         * m4/libunistring.m4: New file.
28576         * MODULES.html.sh (Unicode string functions): Add it.
28577
28578 2009-04-27  Eric Blake  <ebb9@byu.net>
28579
28580         maint.mk: allow package-specific header to provide <config.h>
28581         * top/maint.mk (sc_require_config_h): New variable.
28582         (sc_require_config_h, sc_require_config_h_first): Use it.
28583
28584 2009-04-27  Simon Josefsson  <simon@josefsson.org>
28585
28586         * top/maint.mk (sc_avoid_if_before_free): Except
28587         useless-if-before-free script.
28588
28589 2009-04-27  Eric Blake  <ebb9@byu.net>
28590
28591         maintainer-makefile: depend on all required helper scripts
28592         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
28593         useless-if-before-free.
28594         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
28595         version, rather than assuming gnulib checkout is available.
28596         Reported by Simen Josefsson.
28597
28598 2009-04-26  Bruno Haible  <bruno@clisp.org>
28599
28600         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
28601         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
28602         "../" or "..".
28603
28604 2009-04-26  Bruno Haible  <bruno@clisp.org>
28605
28606         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
28607         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
28608         AC_LIB_HAVE_LINKFLAGS.
28609
28610 2009-04-26  Bruno Haible  <bruno@clisp.org>
28611
28612         Simplify calling convention of u*_conv_from_encoding.
28613         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
28614         u32_conv_from_encoding): Expect a resultbuf argument and return the
28615         result directly as a pointer.
28616         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
28617         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
28618         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
28619         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
28620         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
28621         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28622         Update.
28623         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
28624         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
28625         * lib/vasnprintf.c (VASNPRINTF): Update.
28626         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
28627         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
28628         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
28629         * NEWS: Mention the change.
28630
28631 2009-04-26  Bruno Haible  <bruno@clisp.org>
28632
28633         Simplify calling convention of u*_conv_to_encoding.
28634         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
28635         u32_conv_to_encoding): Expect a resultbuf argument and return the
28636         result directly as a pointer.
28637         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28638         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
28639         freeing scaled_offsets if mem_iconveha failed.
28640         * lib/unicase/u-casexfrm.h (FUNC): Update.
28641         * lib/uninorm/u-normxfrm.h (FUNC): Update.
28642         * lib/vasnprintf.c (VASNPRINTF): Update.
28643         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
28644         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
28645         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
28646         * NEWS: Mention the change.
28647
28648 2009-04-26  Bruno Haible  <bruno@clisp.org>
28649
28650         Avoid test failures on AIX and OSF/1.
28651         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
28652         malloc(0).
28653         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28654         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28655         Likewise.
28656         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
28657         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
28658         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
28659         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
28660         * doc/posix-functions/malloc.texi: Document the portability problem
28661         related to malloc(0).
28662
28663 2009-04-26  Bruno Haible  <bruno@clisp.org>
28664
28665         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
28666         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
28667         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
28668
28669 2009-04-25  Bruno Haible  <bruno@clisp.org>
28670
28671         Avoid link error when creating a namespace clean library.
28672         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
28673         as macro with arguments if already defined as an alias.
28674         * lib/signbitf.c (gl_signbitf): Don't undefine.
28675         * lib/signbitd.c (gl_signbitd): Don't undefine.
28676         * lib/signbitl.c (gl_signbitl): Don't undefine.
28677
28678 2009-04-25  Jim Meyering  <meyering@redhat.com>
28679
28680         vc-list-files: fix another quoting bug
28681         * build-aux/vc-list-files: Avoid sed backslash expansion
28682         of pathological directory names.
28683
28684 2009-04-25  Eric Blake  <ebb9@byu.net>
28685
28686         vc-list-files: fix shell quoting error
28687         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
28688         timestamp.
28689
28690 2009-04-25  Jim Meyering  <meyering@redhat.com>
28691
28692         vc-list-files: restore lost functionality with subdir argument
28693         * build-aux/vc-list-files: When given a non-"." sub-directory
28694         argument, substitute the $dir/ prefix back onto each resulting name.
28695         Otherwise, coreutils' root_tests check would fail.
28696
28697 2009-04-24  Eric Blake  <ebb9@byu.net>
28698
28699         vc-list-files: ignore git symlinks
28700         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
28701         than ls-files, to ignore git symlinks.
28702
28703         maint.mk: import improvements from m4
28704         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
28705         (move_if_change): Delete unused macro.
28706         (news-date-check, vc-diff-check): Support VPATH builds.
28707         (announcement): Likewise.  Split --bootstrap-tools list...
28708         (boostrap-tools): ...into separate list, which can be overridden
28709         in cfg.mk.
28710         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
28711         requiring dependency on useless-if-before-free module.
28712         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
28713         Support VPATH builds.
28714
28715 2009-04-24  Jim Meyering  <meyering@redhat.com>
28716
28717         maint.mk: remove coreutils-specific rules and variables
28718         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
28719         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
28720         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
28721
28722         maint.mk: remove obsolete rule
28723         * top/maint.mk (rel-check): Remove rule.
28724         (WGET, WGETFLAGS): Remove now-unused variables.
28725
28726 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28727
28728         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
28729         consistency.
28730
28731         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
28732         '$(PATH_SEPARATOR)' instead of ':'.
28733
28734 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28735
28736         * lib/getopt1.c (main): Use 'const' for static array.
28737
28738 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28739
28740         * top/maint.mk: Sync with coreutils.
28741         * NEWS: Explain incompatibilities.
28742
28743 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28744             Bruno Haible  <bruno@clisp.org>
28745
28746         Fix cross-compilation results.
28747         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
28748         statement, as third argument of AC_TRY_RUN.
28749         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28750         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28751         Likewise.
28752         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28753         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
28754         Likewise.
28755         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28756         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
28757         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
28758
28759 2009-04-20  Bruno Haible  <bruno@clisp.org>
28760
28761         Avoid test failure on mingw.
28762         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
28763
28764 2009-04-20  Bruno Haible  <bruno@clisp.org>
28765
28766         Avoid compilation error on mingw.
28767         * modules/localename-tests (Depends-on): Add locale.
28768
28769 2009-04-19  Bruno Haible  <bruno@clisp.org>
28770
28771         Support for building a shared library on Windows platforms.
28772         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
28773         (main): Test the presence of UNINORM_NFC here.
28774         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
28775         (main): Test the presence of UNINORM_NFD here.
28776         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
28777         (main): Test the presence of UNINORM_NFKC here.
28778         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
28779         (main): Test the presence of UNINORM_NFKD here.
28780
28781 2009-04-19  Bruno Haible  <bruno@clisp.org>
28782
28783         Avoid a compiler warning.
28784         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
28785         Change type of variable 'sequence'.
28786
28787 2009-04-19  Bruno Haible  <bruno@clisp.org>
28788
28789         * modules/configmake (Makefile.am): When the contents of configmake.h
28790         does not change, arrange to preserve its modification time.
28791
28792 2009-04-17  Simon Josefsson  <simon@josefsson.org>
28793
28794         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
28795         gettext domain.
28796
28797 2009-04-16  Jim Meyering  <meyering@redhat.com>
28798
28799         useless-if-before-free: improve conversion code
28800         * build-aux/useless-if-before-free: Adjust code-in-comment to match
28801         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
28802
28803 2009-04-14  Bruno Haible  <bruno@clisp.org>
28804
28805         * modules/fcntl (Depends-on): Add extensions.
28806         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
28807
28808 2009-04-12  Ben Pfaff  <blp@gnu.org>
28809
28810         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
28811         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
28812
28813 2009-03-20  Ben Pfaff  <blp@gnu.org>
28814
28815         Make rename replace existing destinations on Windows.
28816         * m4/rename.m4: Add test for Mingw.
28817         * lib/rename.c: Add rename replacement that uses MoveFileEx with
28818         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
28819         * doc/posix-functions/rename.texi: Document.
28820
28821 2009-04-10  Bruno Haible  <bruno@clisp.org>
28822
28823         New include file "iconveh.h".
28824         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
28825         * lib/striconveh.h: Include it.
28826         (enum iconv_ilseq_handler): Remove definition.
28827         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
28828         striconveh.h.
28829         * lib/striconveha.c: Include striconveh.h.
28830         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
28831         * modules/striconveh (Files): Add lib/iconveh.h.
28832         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
28833         lib/striconveh.h.
28834
28835 2009-04-10  Bruno Haible  <bruno@clisp.org>
28836
28837         * lib/uniconv.h: Update comment.
28838
28839 2009-04-10  Bruno Haible  <bruno@clisp.org>
28840
28841         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
28842         always.
28843         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
28844         * lib/unistr/u16-mbtouc-aux.c: Likewise.
28845         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
28846         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
28847         "unistring-notinline.h", so that the function gets defined always.
28848         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
28849         * lib/unistr/u8-uctomb.c: Likewise.
28850         * lib/unistr/u16-mbtouc.c: Likewise.
28851         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
28852         * lib/unistr/u16-uctomb.c: Likewise.
28853         * lib/unistr/u32-mbtouc.c: Likewise.
28854         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
28855         * lib/unistr/u32-uctomb.c: Likewise.
28856
28857 2009-04-10  Bruno Haible  <bruno@clisp.org>
28858
28859         Mark 'utime' obsolete.
28860         * modules/utime (Status, Notice): New sections.
28861         Suggested by Jim Meyering.
28862
28863         Fix cross-compile guess for utime test.
28864         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
28865         autoconf.
28866         * doc/posix-functions/utime.texi: Give more precisions.
28867         Reported by Jan <ipif@ymail.com>.
28868
28869 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
28870
28871         filevercmp: correct today's change
28872         * lib/filevercmp.c: Also handle coreutils' test inputs.
28873         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
28874
28875         Fix regression in 'filevercmp' module. Thanks Sven Joachim
28876         for reporting it.
28877         * lib/filevercmp.c: Special handle for "", "." and "..".
28878         * tests/test-filevercmp.c: Enlarge the set suite.
28879
28880 2009-04-07  Jim Meyering  <meyering@redhat.com>
28881
28882         useless-if-before-free: show how to remove braced useless free, too
28883         * build-aux/useless-if-before-free: still only in a comment, though.
28884
28885 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
28886
28887         maint.mk: import changes to syntax-check macros from coreutils
28888         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
28889         Use them in the relevant macros.
28890
28891 2009-04-06  Bruno Haible  <bruno@clisp.org>
28892
28893         Fix unportable use of bit-fields.
28894         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
28895         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
28896         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
28897
28898 2009-04-06  Bruno Haible  <bruno@clisp.org>
28899
28900         Avoid test failures on AIX and OSF/1.
28901         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
28902         that malloc(0) = NULL.
28903         * tests/unicase/test-u8-tolower.c (check): Likewise.
28904         * tests/unicase/test-u8-totitle.c (check): Likewise.
28905         * tests/unicase/test-u8-toupper.c (check): Likewise.
28906         * tests/unicase/test-u16-casefold.c (check): Likewise.
28907         * tests/unicase/test-u16-tolower.c (check): Likewise.
28908         * tests/unicase/test-u16-totitle.c (check): Likewise.
28909         * tests/unicase/test-u16-toupper.c (check): Likewise.
28910         * tests/unicase/test-u32-casefold.c (check): Likewise.
28911         * tests/unicase/test-u32-tolower.c (check): Likewise.
28912         * tests/unicase/test-u32-totitle.c (check): Likewise.
28913         * tests/unicase/test-u32-toupper.c (check): Likewise.
28914         * tests/uninorm/test-u8-nfc.c (check): Likewise.
28915         * tests/uninorm/test-u8-nfd.c (check): Likewise.
28916         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
28917         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
28918         * tests/uninorm/test-u16-nfc.c (check): Likewise.
28919         * tests/uninorm/test-u16-nfd.c (check): Likewise.
28920         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
28921         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
28922         * tests/uninorm/test-u32-nfc.c (check): Likewise.
28923         * tests/uninorm/test-u32-nfd.c (check): Likewise.
28924         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
28925         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
28926
28927 2009-04-05  Bruno Haible  <bruno@clisp.org>
28928
28929         Work around an autoconf limitation.
28930         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
28931         comment line if it would be longer than 3 KB.
28932
28933 2009-04-05  Bruno Haible  <bruno@clisp.org>
28934
28935         Avoid test failure with libiconv-1.13.
28936         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
28937         of the expected test results.
28938
28939 2009-04-05  Bruno Haible  <bruno@clisp.org>
28940
28941         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
28942         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
28943         that it should be installed.
28944
28945 2009-04-05  Bruno Haible  <bruno@clisp.org>
28946
28947         * gnulib-tool: New option --copy-file.
28948         (func_usage): Document it.
28949         (func_dest_tmpfilename): Moved out of func_import.
28950         (func_add_file, func_update_file): New functions, extracted from
28951         func_import.
28952         (func_import): Update.
28953
28954 2009-04-05  Karl Berry  <karl@gnu.org>
28955
28956         * README: prominently mention gnulib-tool.
28957         Rearrange sections so getting the code is near the top.
28958
28959 2009-04-05  Bruno Haible  <bruno@clisp.org>
28960
28961         * lib/unicase.h: Mention u*_cmp2.
28962         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28963         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
28964         * lib/unicase/ulc-casecmp.c: Likewise.
28965         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
28966         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
28967         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
28968         unistr/u8-cmp.
28969         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
28970         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
28971         unistr/u16-cmp.
28972         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
28973         unistr/u32-cmp.
28974
28975         * lib/uninorm.h: Mention u*_cmp2.
28976         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28977         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
28978         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
28979         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
28980         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
28981         unistr/u8-cmp.
28982         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
28983         unistr/u16-cmp.
28984         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
28985         unistr/u32-cmp.
28986
28987         New module 'unistr/u32-cmp2'.
28988         * lib/unistr/u32-cmp2.c: New file.
28989         * modules/unistr/u32-cmp2: New file.
28990
28991         New module 'unistr/u16-cmp2'.
28992         * lib/unistr/u16-cmp2.c: New file.
28993         * modules/unistr/u16-cmp2: New file.
28994
28995         New module 'unistr/u8-cmp2'.
28996         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
28997         * lib/unistr/u8-cmp2.c: New file.
28998         * lib/unistr/u-cmp2.h: New file.
28999         * modules/unistr/u8-cmp2: New file.
29000
29001 2009-04-05  Bruno Haible  <bruno@clisp.org>
29002
29003         * lib/unictype.h (uc_property_is_valid): New macro.
29004         * tests/unictype/test-pr_byname.c (main): Use it.
29005
29006         * lib/unistr.h: Doc fixes.
29007         * lib/uniconv.h: Doc fixes.
29008         * lib/unictype.h: Doc fixes.
29009
29010 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
29011
29012         Port coreutils 7.2 to Solaris 8.
29013
29014         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
29015         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
29016         for Solaris 8.  This is a bit of a hack, as it means it's the
29017         caller's responsibility to add -lnsl if needed, but most likely it
29018         won't be needed since only getaddrinfo uses this and getaddrinfo
29019         isn't needed on Solaris 8.
29020
29021         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
29022         problem to Solaris 8 encountered with coreutils 7.2, which
29023         resulted in a message "fnmatch.c:292: warning: passing argument 4
29024         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
29025         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
29026
29027 2009-04-03  Simon Josefsson  <simon@josefsson.org>
29028
29029         * m4/ld-version-script.m4: Add FIXME comment.
29030
29031 2009-04-02  Simon Josefsson  <simon@josefsson.org>
29032
29033         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
29034         SOVERSION variable.
29035
29036 2009-04-02  Bruno Haible  <bruno@clisp.org>
29037
29038         * Makefile (info, html, dvi, pdf): Combine the rules.
29039         Suggested by Jim Meyering.
29040
29041 2009-04-01  Bruno Haible  <bruno@clisp.org>
29042
29043         * Makefile (info, html, dvi, pdf): New targets.
29044         Reported by Reuben Thomas <rrt@sc3d.org>.
29045
29046 2009-04-01  Bruno Haible  <bruno@clisp.org>
29047
29048         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
29049         can be put into PATH.
29050         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
29051
29052 2009-04-01  Bruno Haible  <bruno@clisp.org>
29053
29054         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
29055
29056 2009-04-01  Bruno Haible  <bruno@clisp.org>
29057
29058         Rename module 'visibility'.
29059         * modules/lib-symbol-visibility: Renamed from modules/visibility.
29060         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
29061         * doc/gnulib.texi: Update.
29062         * MODULES.html.sh (Misc): Update.
29063         * NEWS: Mention the change.
29064
29065 2009-04-01  Simon Josefsson  <simon@josefsson.org>
29066
29067         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
29068         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
29069         Eric Blake <ebb9@byu.net> for review.
29070         * MODULES.html.sh: Add lib-msvc-compat.
29071         * doc/gnulib.texi: Link to new section.
29072         * m4/ld-output-def.m4: New file.
29073         * doc/ld-output-def.texi: New file.
29074
29075 2009-04-01  Simon Josefsson  <simon@josefsson.org>
29076
29077         Rename ld-version-script to lib-symbol-versions.  Suggested by
29078         Bruno Haible <bruno@clisp.org>.
29079         * modules/ld-version-script: Renamed to lib-symbol-versions.
29080         * doc/ld-version-script.texi: Fix module name.
29081         * MODULES.html.sh: Add lib-symbol-versions.
29082
29083 2009-03-31  Simon Josefsson  <simon@josefsson.org>
29084
29085         * modules/u64-tests: New file.
29086         * tests/test-u64.c: New file.
29087
29088 2009-03-04  Simon Josefsson  <simon@josefsson.org>
29089
29090         * MODULES.html.sh: Mention u64.
29091         * modules/u64: New module.
29092         * modules/crypto/sha512: Depend on u64 module instead of providing
29093         u64.h.
29094
29095 2009-03-27  Eric Blake  <ebb9@byu.net>
29096
29097         test-strerror: make debugging EAI_SYSTEM easier
29098         * modules/getaddrinfo-tests (Depends-on): Add strerror.
29099         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
29100         failure was EAI_SYSTEM.
29101
29102 2009-03-25  Bruno Haible  <bruno@clisp.org>
29103
29104         Fix a problem with --enable-relocatable on Solaris 7.
29105         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
29106         since 2008-02-24.
29107
29108 2009-03-25  Eric Blake  <ebb9@byu.net>
29109
29110         test-sockets: avoid gcc warning
29111         * tests/test-sockets.c (main): Silence compiler warning.
29112
29113 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
29114
29115         New modules nproc, pthread, contributed by Glen Lenker.
29116
29117         * MODULES.html.sh: Add pthread, nproc.
29118         * lib/nproc.c: New file.
29119         * lib/nproc.h: New file.
29120         * lib/pthread.in.h: New file.
29121         * m4/pthread.m4: New file.
29122         * modules/nproc: New file.
29123         * modules/pthread: New file.
29124
29125 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29126
29127         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
29128         New variable.
29129
29130 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
29131
29132         filevercmp: handle simple~ and numbered.~3~ backup suffixes
29133         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
29134         * tests/test-filevercmp.c: Add tests for backup suffixes.
29135
29136 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29137
29138         * modules/stdlib (Depends-on): Add stdint, needed when defining
29139         struct random_data on, for example, HP-UX 10.20.  Reported by
29140         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29141
29142 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29143
29144         * lib/readline.c (readline): Call fflush on stdout after printing
29145         prompt.
29146
29147 2009-03-20  Bruno Haible  <bruno@clisp.org>
29148
29149         Remove dependency from 'close' module to -lws2_32 on native Windows.
29150         * lib/close-hook.h: New file.
29151         * lib/close-hook.c: New file.
29152         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
29153         w32sock.h.
29154         (_gl_close_fd_maybe_socket): Remove function.
29155         (rpl_close): Invoke execute_all_close_hooks instead of
29156         _gl_close_fd_maybe_socket.
29157         * lib/sockets.c: Include close-hook.h, w32sock.h.
29158         (close_fd_maybe_socket): New function, essentially from lib/close.c.
29159         (close_sockets_hook): New variable.
29160         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
29161         (gl_sockets_cleanup): Unregister it.
29162         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
29163         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
29164         * modules/close-hook: New file.
29165         * modules/close (Files): Remove lib/w32sock.h.
29166         (Depends-on): Add close-hook.
29167         (Link): Remove section.
29168         * modules/sockets (Files): Add lib/w32sock.h.
29169         (Depends-on): Add close-hook.
29170         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
29171         invocation.
29172         * NEWS: Mention that LIB_CLOSE is gone.
29173
29174 2009-03-23  Eric Blake  <ebb9@byu.net>
29175
29176         signal-tests: test previous patch
29177         * tests/test-signal.c: New file.
29178         * modules/signal-tests: Likewise.
29179
29180         signal.h: always support 'volatile sig_atomic_t'
29181         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
29182         (gl_SIGNAL_H_DEFAULTS): Add a default.
29183         * modules/signal (Makefile.am): Substitute if needed.
29184         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
29185         users can blindly add volatile.
29186         * doc/posix-headers/signal.texi (signal.h): Document it.
29187         Reported by Matthew Woehlke.
29188
29189 2009-03-23  Jim Meyering  <meyering@redhat.com>
29190
29191         pathmax: PATH_MAX: use pathconf only when available
29192         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
29193         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
29194         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
29195         This avoids a link failure in a PSP cross-compilation environment
29196         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
29197
29198         * lib/vasnprintf.c (divide): Fix typo in comment.
29199
29200 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29201
29202         * gnulib-tool (func_filter_filelist): Fix comment.
29203
29204 2009-03-20  Bruno Haible  <bruno@clisp.org>
29205
29206         Make sockets.h self-contained.
29207         * lib/sockets.c: Include sockets.h first.
29208         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
29209
29210 2009-03-19  Eric Blake  <ebb9@byu.net>
29211
29212         doc: mention more functions added in cygwin 1.7.0
29213         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
29214         addition.
29215         * doc/posix-functions/log2f.texi: Likewise.
29216
29217 2009-03-19  Jim Meyering  <meyering@redhat.com>
29218
29219         fsusage: avoid syntax error due to statement-before-declaration
29220         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
29221         after all declarations.  Reported by Matthew Woehlke in
29222         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
29223
29224 2009-03-18  Eric Blake  <ebb9@byu.net>
29225
29226         build-aux/compile: sync from automake
29227         * build-aux/compile: New file, from automake.
29228         * config/srclist.txt: Mention build-aux/compile.
29229
29230 2009-03-17  Bruno Haible  <bruno@clisp.org>
29231
29232         * lib/git-merge-changelog.c: Fix typo in comment.
29233         Reported by Reuben Thomas <rrt@sc3d.org>.
29234
29235 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
29236
29237         * m4/regex.m4: update and improve help for
29238         --without-included-regex.
29239
29240 2009-03-17  Simon Josefsson  <simon@josefsson.org>
29241
29242         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
29243         failure on missing include files.
29244
29245 2009-03-17  Eric Blake  <ebb9@byu.net>
29246
29247         doc: mention more functions added in cygwin 1.7.0
29248         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
29249         addition.
29250         * doc/posix-functions/fwscanf.texi: Likewise.
29251         * doc/posix-functions/swprintf.texi: Likewise.
29252         * doc/posix-functions/swscanf.texi: Likewise.
29253         * doc/posix-functions/vfwprintf.texi: Likewise.
29254         * doc/posix-functions/vfwscanf.texi: Likewise.
29255         * doc/posix-functions/vswprintf.texi: Likewise.
29256         * doc/posix-functions/vswscanf.texi: Likewise.
29257         * doc/posix-functions/vwprintf.texi: Likewise.
29258         * doc/posix-functions/vwscanf.texi: Likewise.
29259         * doc/posix-functions/wcscasecmp.texi: Likewise.
29260         * doc/posix-functions/wcsdup.texi: Likewise.
29261         * doc/posix-functions/wcsftime.texi: Likewise.
29262         * doc/posix-functions/wcsncasecmp.texi: Likewise.
29263         * doc/posix-functions/wprintf.texi: Likewise.
29264         * doc/posix-functions/wscanf.texi: Likewise.
29265         * doc/glibc-functions/gethostbyname2.texi: Likewise.
29266
29267 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29268
29269         maint.mk: really add $(AM_MAKEFLAGS)
29270         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
29271         was inadvertently omitted in the last commit.
29272         Spotted by Bruno Haible.
29273
29274         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
29275         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
29276         $(AM_MAKEFLAGS)' rather than plain `make'.
29277
29278         gnulib-tool: execute $MAKE not make
29279         * gnulib-tool: Default $MAKE to 'make'.
29280         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
29281         than make.  Initialize $MAKE in the do-autobuild script.
29282
29283         gnulib-tool: use $MAKE not make in generated files
29284         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
29285         make, in generated files.  Initialize $MAKE in the do-autobuild
29286         script.
29287
29288         * top/GNUmakefile (_have-git-version-gen): Fix typo.
29289
29290         GNUmakefile: disable parallelism only for multiple, recursive targets
29291         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
29292         additions in the Makefile.
29293         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
29294         by Automake.
29295         (.NOTPARALLEL): Only disable parallel builds if multiple targets
29296         are listed on the command line and at least one of them is
29297         listed in $(ALL_RECURSIVE_TARGETS).
29298
29299 2009-03-14  Bruno Haible  <bruno@clisp.org>
29300
29301         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
29302         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
29303         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
29304         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
29305         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
29306         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
29307         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
29308         unistr/u8-uctomb.
29309         * modules/unistr/u8-strchr (Depends-on): Likewise.
29310         * modules/unistr/u8-strrchr (Depends-on): Likewise.
29311         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
29312         unistr/u16-uctomb.
29313         * modules/unistr/u16-strchr (Depends-on): Likewise.
29314         * modules/unistr/u16-strrchr (Depends-on): Likewise.
29315
29316 2009-03-12  Bruno Haible  <bruno@clisp.org>
29317
29318         Work around select() bug on Interix 3.5.
29319         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
29320         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
29321         * m4/select.m4: New file.
29322         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
29323         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
29324         * modules/select (Files): Add m4/select.m4.
29325         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
29326         * modules/nanosleep (Depends-on): Add select.
29327         * modules/poll (Depends-on): Likewise.
29328         * doc/posix-functions/select.texi: Mention the Interix bug.
29329         Reported by Markus Duft <mduft@gentoo.org>.
29330
29331         * lib/select.c: Renamed from lib/winsock-select.c.
29332         * modules/select (Files): Add lib/select.c, remove
29333         lib/winsock-select.c.
29334         (configure.ac): Update.
29335
29336 2009-03-12  Jim Meyering  <meyering@redhat.com>
29337
29338         avoid gcc warnings about unused macro definitions
29339         * lib/readtokens.c (STREQ): Remove unused definition.
29340         * lib/xmalloc.c (SIZE_MAX): Likewise.
29341         * lib/openat-die.c (N_): Likewise.
29342         * lib/mountlist.c (SIZE_MAX): Remove definition.
29343         Instead, include <stdint.h>.
29344         * lib/readutmp.c: Likewise.
29345         * modules/readutmp (Depends-on): Add stdint.
29346         * modules/mountlist (Depends-on): Add stdint.
29347         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
29348
29349 2009-03-10  Bruno Haible  <bruno@clisp.org>
29350
29351         Tests for module 'mbmemcasecoll'.
29352         * modules/mbmemcasecoll-tests: New file.
29353         * tests/test-mbmemcasecoll1.sh: New file.
29354         * tests/test-mbmemcasecoll2.sh: New file.
29355         * tests/test-mbmemcasecoll3.sh: New file.
29356         * tests/test-mbmemcasecoll.c: New file.
29357
29358         New module 'mbmemcasecoll'.
29359         * lib/mbmemcasecoll.h: New file.
29360         * lib/mbmemcasecoll.c: New file.
29361         * modules/mbmemcasecoll: New file.
29362
29363         * tests/test-mbmemcasecmp.h: New file, extracted from
29364         tests/test-mbmemcasecmp.c.
29365         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
29366         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
29367         (main): Update.
29368         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
29369
29370 2009-03-09  Bruno Haible  <bruno@clisp.org>
29371
29372         Tests for module 'mbmemcasecmp'.
29373         * modules/mbmemcasecmp-tests: New file.
29374         * tests/test-mbmemcasecmp1.sh: New file.
29375         * tests/test-mbmemcasecmp2.sh: New file.
29376         * tests/test-mbmemcasecmp3.sh: New file.
29377         * tests/test-mbmemcasecmp.c: New file.
29378
29379         New module 'mbmemcasecmp'.
29380         * lib/mbmemcasecmp.h: New file.
29381         * lib/mbmemcasecmp.c: New file.
29382         * modules/mbmemcasecmp: New file.
29383
29384 2009-03-09  Bruno Haible  <bruno@clisp.org>
29385
29386         Tests for module 'unicase/ulc-casecoll'.
29387         * modules/unicase/ulc-casecoll-tests: New file.
29388         * tests/unicase/test-ulc-casecoll1.sh: New file.
29389         * tests/unicase/test-ulc-casecoll2.sh: New file.
29390         * tests/unicase/test-ulc-casecoll.c: New file.
29391
29392         New module 'unicase/ulc-casecoll'.
29393         * lib/unicase.h (ulc_casecoll): New declaration.
29394         * lib/unicase/ulc-casecoll.c: New file.
29395         * modules/unicase/ulc-casecoll: New file.
29396
29397         New module 'unicase/ulc-casexfrm'.
29398         * lib/unicase.h (ulc_casexfrm): New declaration.
29399         * lib/unicase/ulc-casexfrm.c: New file.
29400         * modules/unicase/ulc-casexfrm: New file.
29401
29402 2009-03-09  Bruno Haible  <bruno@clisp.org>
29403
29404         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
29405         invocations.
29406
29407         * m4/mbscasecmp.m4: Remove file.
29408         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
29409         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
29410
29411         * m4/mbscasestr.m4: Remove file.
29412         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
29413         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
29414
29415         * m4/mbschr.m4: Remove file.
29416         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
29417         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
29418
29419         * m4/mbscspn.m4: Remove file.
29420         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
29421         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
29422
29423         * m4/mbslen.m4: Remove file.
29424         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
29425         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
29426
29427         * m4/mbsncasecmp.m4: Remove file.
29428         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
29429         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
29430
29431         * m4/mbsnlen.m4: Remove file.
29432         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
29433         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
29434
29435         * m4/mbspbrk.m4: Remove file.
29436         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
29437         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
29438
29439         * m4/mbspcasecmp.m4: Remove file.
29440         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
29441         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
29442
29443         * m4/mbsrchr.m4: Remove file.
29444         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
29445         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
29446
29447         * m4/mbssep.m4: Remove file.
29448         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
29449         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
29450
29451         * m4/mbsspn.m4: Remove file.
29452         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
29453         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
29454
29455         * m4/mbsstr.m4: Remove file.
29456         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
29457         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
29458
29459         * m4/mbstok_r.m4: Remove file.
29460         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
29461         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
29462
29463         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
29464
29465         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
29466         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
29467
29468         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
29469
29470 2009-03-08  Bruno Haible  <bruno@clisp.org>
29471
29472         Tests for module 'unicase/ulc-casecmp'.
29473         * modules/unicase/ulc-casecmp-tests: New file.
29474         * tests/unicase/test-ulc-casecmp1.sh: New file.
29475         * tests/unicase/test-ulc-casecmp2.sh: New file.
29476         * tests/unicase/test-ulc-casecmp.c: New file.
29477
29478         New module 'unicase/ulc-casecmp'.
29479         * lib/unicase.h (ulc_casecmp): New declaration.
29480         * lib/unicase/ulc-casecmp.c: New file.
29481         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
29482         'const SRC_UNIT *'.
29483         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
29484         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
29485         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
29486         * modules/unicase/ulc-casecmp: New file.
29487
29488         Tests for module 'unicase/u32-is-cased'.
29489         * modules/unicase/u32-is-cased-tests: New file.
29490         * tests/unicase/test-u32-is-cased.c: New file.
29491
29492         Tests for module 'unicase/u16-is-cased'.
29493         * modules/unicase/u16-is-cased-tests: New file.
29494         * tests/unicase/test-u16-is-cased.c: New file.
29495
29496         Tests for module 'unicase/u8-is-cased'.
29497         * modules/unicase/u8-is-cased-tests: New file.
29498         * tests/unicase/test-u8-is-cased.c: New file.
29499         * tests/unicase/test-is-cased.h: New file.
29500
29501         New module 'unicase/u32-is-cased'.
29502         * lib/unicase/u32-is-cased.c: New file.
29503         * modules/unicase/u32-is-cased: New file.
29504
29505         New module 'unicase/u16-is-cased'.
29506         * lib/unicase/u16-is-cased.c: New file.
29507         * modules/unicase/u16-is-cased: New file.
29508
29509         New module 'unicase/u8-is-cased'.
29510         * lib/unicase/u8-is-cased.c: New file.
29511         * lib/unicase/u-is-cased.h: New file.
29512         * modules/unicase/u8-is-cased: New file.
29513
29514         Tests for module 'unicase/u32-is-casefolded'.
29515         * modules/unicase/u32-is-casefolded-tests: New file.
29516         * tests/unicase/test-u32-is-casefolded.c: New file.
29517
29518         Tests for module 'unicase/u16-is-casefolded'.
29519         * modules/unicase/u16-is-casefolded-tests: New file.
29520         * tests/unicase/test-u16-is-casefolded.c: New file.
29521
29522         Tests for module 'unicase/u8-is-casefolded'.
29523         * modules/unicase/u8-is-casefolded-tests: New file.
29524         * tests/unicase/test-u8-is-casefolded.c: New file.
29525         * tests/unicase/test-is-casefolded.h: New file.
29526
29527         New module 'unicase/u32-is-casefolded'.
29528         * lib/unicase/u32-is-casefolded.c: New file.
29529         * modules/unicase/u32-is-casefolded: New file.
29530
29531         New module 'unicase/u16-is-casefolded'.
29532         * lib/unicase/u16-is-casefolded.c: New file.
29533         * modules/unicase/u16-is-casefolded: New file.
29534
29535         New module 'unicase/u8-is-casefolded'.
29536         * lib/unicase/u8-is-casefolded.c: New file.
29537         * modules/unicase/u8-is-casefolded: New file.
29538
29539         Tests for module 'unicase/u32-is-titlecase'.
29540         * modules/unicase/u32-is-titlecase-tests: New file.
29541         * tests/unicase/test-u32-is-titlecase.c: New file.
29542
29543         Tests for module 'unicase/u16-is-titlecase'.
29544         * modules/unicase/u16-is-titlecase-tests: New file.
29545         * tests/unicase/test-u16-is-titlecase.c: New file.
29546
29547         Tests for module 'unicase/u8-is-titlecase'.
29548         * modules/unicase/u8-is-titlecase-tests: New file.
29549         * tests/unicase/test-u8-is-titlecase.c: New file.
29550         * tests/unicase/test-is-titlecase.h: New file.
29551
29552         New module 'unicase/u32-is-titlecase'.
29553         * lib/unicase/u32-is-titlecase.c: New file.
29554         * modules/unicase/u32-is-titlecase: New file.
29555
29556         New module 'unicase/u16-is-titlecase'.
29557         * lib/unicase/u16-is-titlecase.c: New file.
29558         * modules/unicase/u16-is-titlecase: New file.
29559
29560         New module 'unicase/u8-is-titlecase'.
29561         * lib/unicase/u8-is-titlecase.c: New file.
29562         * modules/unicase/u8-is-titlecase: New file.
29563
29564         Tests for module 'unicase/u32-is-lowercase'.
29565         * modules/unicase/u32-is-lowercase-tests: New file.
29566         * tests/unicase/test-u32-is-lowercase.c: New file.
29567
29568         Tests for module 'unicase/u16-is-lowercase'.
29569         * modules/unicase/u16-is-lowercase-tests: New file.
29570         * tests/unicase/test-u16-is-lowercase.c: New file.
29571
29572         Tests for module 'unicase/u8-is-lowercase'.
29573         * modules/unicase/u8-is-lowercase-tests: New file.
29574         * tests/unicase/test-u8-is-lowercase.c: New file.
29575         * tests/unicase/test-is-lowercase.h: New file.
29576
29577         New module 'unicase/u32-is-lowercase'.
29578         * lib/unicase/u32-is-lowercase.c: New file.
29579         * modules/unicase/u32-is-lowercase: New file.
29580
29581         New module 'unicase/u16-is-lowercase'.
29582         * lib/unicase/u16-is-lowercase.c: New file.
29583         * modules/unicase/u16-is-lowercase: New file.
29584
29585         New module 'unicase/u8-is-lowercase'.
29586         * lib/unicase/u8-is-lowercase.c: New file.
29587         * modules/unicase/u8-is-lowercase: New file.
29588
29589         Tests for module 'unicase/u32-is-uppercase'.
29590         * modules/unicase/u32-is-uppercase-tests: New file.
29591         * tests/unicase/test-u32-is-uppercase.c: New file.
29592
29593         Tests for module 'unicase/u16-is-uppercase'.
29594         * modules/unicase/u16-is-uppercase-tests: New file.
29595         * tests/unicase/test-u16-is-uppercase.c: New file.
29596
29597         Tests for module 'unicase/u8-is-uppercase'.
29598         * modules/unicase/u8-is-uppercase-tests: New file.
29599         * tests/unicase/test-u8-is-uppercase.c: New file.
29600         * tests/unicase/test-is-uppercase.h: New file.
29601
29602         New module 'unicase/u32-is-uppercase'.
29603         * lib/unicase/u32-is-uppercase.c: New file.
29604         * modules/unicase/u32-is-uppercase: New file.
29605
29606         New module 'unicase/u16-is-uppercase'.
29607         * lib/unicase/u16-is-uppercase.c: New file.
29608         * modules/unicase/u16-is-uppercase: New file.
29609
29610         New module 'unicase/u8-is-uppercase'.
29611         * lib/unicase/u8-is-uppercase.c: New file.
29612         * modules/unicase/u8-is-uppercase: New file.
29613
29614         New module 'unicase/u32-is-invariant'.
29615         * lib/unicase/u32-is-invariant.c: New file.
29616         * modules/unicase/u32-is-invariant: New file.
29617
29618         New module 'unicase/u16-is-invariant'.
29619         * lib/unicase/u16-is-invariant.c: New file.
29620         * modules/unicase/u16-is-invariant: New file.
29621
29622         New module 'unicase/u8-is-invariant'.
29623         * lib/unicase/u8-is-invariant.c: New file.
29624         * lib/unicase/invariant.h: New file.
29625         * lib/unicase/u-is-invariant.h: New file.
29626         * modules/unicase/u8-is-invariant: New file.
29627
29628         Tests for module 'unicase/u32-casecoll'.
29629         * modules/unicase/u32-casecoll-tests: New file.
29630         * tests/unicase/test-u32-casecoll.c: New file.
29631
29632         Tests for module 'unicase/u16-casecoll'.
29633         * modules/unicase/u16-casecoll-tests: New file.
29634         * tests/unicase/test-u16-casecoll.c: New file.
29635
29636         Tests for module 'unicase/u8-casecoll'.
29637         * modules/unicase/u8-casecoll-tests: New file.
29638         * tests/unicase/test-u8-casecoll.c: New file.
29639
29640         New module 'unicase/u32-casecoll'.
29641         * lib/unicase/u32-casecoll.c: New file.
29642         * modules/unicase/u32-casecoll: New file.
29643
29644         New module 'unicase/u16-casecoll'.
29645         * lib/unicase/u16-casecoll.c: New file.
29646         * modules/unicase/u16-casecoll: New file.
29647
29648         New module 'unicase/u8-casecoll'.
29649         * lib/unicase/u8-casecoll.c: New file.
29650         * lib/unicase/u-casecoll.h: New file.
29651         * modules/unicase/u8-casecoll: New file.
29652
29653         New module 'unicase/u32-casexfrm'.
29654         * lib/unicase/u32-casexfrm.c: New file.
29655         * modules/unicase/u32-casexfrm: New file.
29656
29657         New module 'unicase/u16-casexfrm'.
29658         * lib/unicase/u16-casexfrm.c: New file.
29659         * modules/unicase/u16-casexfrm: New file.
29660
29661         New module 'unicase/u8-casexfrm'.
29662         * lib/unicase/u8-casexfrm.c: New file.
29663         * lib/unicase/u-casexfrm.h: New file.
29664         * modules/unicase/u8-casexfrm: New file.
29665
29666         Tests for module 'unicase/u32-casecmp'.
29667         * modules/unicase/u32-casecmp-tests: New file.
29668         * tests/unicase/test-u32-casecmp.c: New file.
29669
29670         Tests for module 'unicase/u16-casecmp'.
29671         * modules/unicase/u16-casecmp-tests: New file.
29672         * tests/unicase/test-u16-casecmp.c: New file.
29673
29674         Tests for module 'unicase/u8-casecmp'.
29675         * modules/unicase/u8-casecmp-tests: New file.
29676         * tests/unicase/test-u8-casecmp.c: New file.
29677         * tests/unicase/test-casecmp.h: New file.
29678
29679         New module 'unicase/u32-casecmp'.
29680         * lib/unicase/u32-casecmp.c: New file.
29681         * modules/unicase/u32-casecmp: New file.
29682
29683         New module 'unicase/u16-casecmp'.
29684         * lib/unicase/u16-casecmp.c: New file.
29685         * modules/unicase/u16-casecmp: New file.
29686
29687         New module 'unicase/u8-casecmp'.
29688         * lib/unicase/u8-casecmp.c: New file.
29689         * lib/unicase/u-casecmp.h: New file.
29690         * modules/unicase/u8-casecmp: New file.
29691
29692         Tests for module 'unicase/u32-casefold'.
29693         * modules/unicase/u32-casefold-tests: New file.
29694         * tests/unicase/test-u32-casefold.c: New file.
29695
29696         Tests for module 'unicase/u16-casefold'.
29697         * modules/unicase/u16-casefold-tests: New file.
29698         * tests/unicase/test-u16-casefold.c: New file.
29699
29700         Tests for module 'unicase/u8-casefold'.
29701         * modules/unicase/u8-casefold-tests: New file.
29702         * tests/unicase/test-u8-casefold.c: New file.
29703
29704         New module 'unicase/u32-casefold'.
29705         * lib/unicase/u32-casefold.c: New file.
29706         * modules/unicase/u32-casefold: New file.
29707
29708         New module 'unicase/u16-casefold'.
29709         * lib/unicase/u16-casefold.c: New file.
29710         * modules/unicase/u16-casefold: New file.
29711
29712         New module 'unicase/u8-casefold'.
29713         * lib/unicase/u8-casefold.c: New file.
29714         * lib/unicase/u-casefold.h: New file.
29715         * modules/unicase/u8-casefold: New file.
29716
29717         New module 'unicase/tocasefold'.
29718         * lib/unicase/casefold.h: New file.
29719         * lib/unicase/tocasefold.c: New file.
29720         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
29721         * modules/unicase/tocasefold: New file.
29722
29723         Tests for module 'unicase/u32-totitle'.
29724         * modules/unicase/u32-totitle-tests: New file.
29725         * tests/unicase/test-u32-totitle.c: New file.
29726
29727         Tests for module 'unicase/u16-totitle'.
29728         * modules/unicase/u16-totitle-tests: New file.
29729         * tests/unicase/test-u16-totitle.c: New file.
29730
29731         Tests for module 'unicase/u8-totitle'.
29732         * modules/unicase/u8-totitle-tests: New file.
29733         * tests/unicase/test-u8-totitle.c: New file.
29734
29735         New module 'unicase/u32-totitle'.
29736         * lib/unicase/u32-totitle.c: New file.
29737         * modules/unicase/u32-totitle: New file.
29738
29739         New module 'unicase/u16-totitle'.
29740         * lib/unicase/u16-totitle.c: New file.
29741         * modules/unicase/u16-totitle: New file.
29742
29743         New module 'unicase/u8-totitle'.
29744         * lib/unicase/u8-totitle.c: New file.
29745         * lib/unicase/u-totitle.h: New file.
29746         * modules/unicase/u8-totitle: New file.
29747
29748         Tests for module 'unicase/u32-tolower'.
29749         * modules/unicase/u32-tolower-tests: New file.
29750         * tests/unicase/test-u32-tolower.c: New file.
29751
29752         Tests for module 'unicase/u16-tolower'.
29753         * modules/unicase/u16-tolower-tests: New file.
29754         * tests/unicase/test-u16-tolower.c: New file.
29755
29756         Tests for module 'unicase/u8-tolower'.
29757         * modules/unicase/u8-tolower-tests: New file.
29758         * tests/unicase/test-u8-tolower.c: New file.
29759
29760         New module 'unicase/u32-tolower'.
29761         * lib/unicase/u32-tolower.c: New file.
29762         * modules/unicase/u32-tolower: New file.
29763
29764         New module 'unicase/u16-tolower'.
29765         * lib/unicase/u16-tolower.c: New file.
29766         * modules/unicase/u16-tolower: New file.
29767
29768         New module 'unicase/u8-tolower'.
29769         * lib/unicase/u8-tolower.c: New file.
29770         * modules/unicase/u8-tolower: New file.
29771
29772         Tests for module 'unicase/u32-toupper'.
29773         * modules/unicase/u32-toupper-tests: New file.
29774         * tests/unicase/test-u32-toupper.c: New file.
29775
29776         Tests for module 'unicase/u16-toupper'.
29777         * modules/unicase/u16-toupper-tests: New file.
29778         * tests/unicase/test-u16-toupper.c: New file.
29779
29780         Tests for module 'unicase/u8-toupper'.
29781         * modules/unicase/u8-toupper-tests: New file.
29782         * tests/unicase/test-u8-toupper.c: New file.
29783
29784         New module 'unicase/u32-toupper'.
29785         * lib/unicase/u32-toupper.c: New file.
29786         * modules/unicase/u32-toupper: New file.
29787
29788         New module 'unicase/u16-toupper'.
29789         * lib/unicase/u16-toupper.c: New file.
29790         * modules/unicase/u16-toupper: New file.
29791
29792         New module 'unicase/u8-toupper'.
29793         * lib/unicase/u8-toupper.c: New file.
29794         * modules/unicase/u8-toupper: New file.
29795
29796         New module 'unicase/u32-casemap'.
29797         * lib/unicase/u32-casemap.c: New file.
29798         * modules/unicase/u32-casemap: New file.
29799
29800         New module 'unicase/u16-casemap'.
29801         * lib/unicase/u16-casemap.c: New file.
29802         * modules/unicase/u16-casemap: New file.
29803
29804         New module 'unicase/u8-casemap'.
29805         * lib/unicase/unicasemap.h: New file.
29806         * lib/unicase/u8-casemap.c: New file.
29807         * lib/unicase/u-casemap.h: New file.
29808         * modules/unicase/u8-casemap: New file.
29809
29810         New module 'unicase/special-casing'.
29811         * lib/unicase/special-casing.h: New file.
29812         * lib/unicase/special-casing.c: New file.
29813         * lib/unicase/special-casing-table.gperf: New file, generated by
29814         gen-uni-tables.c.
29815         * modules/unicase/special-casing: New file.
29816
29817         Tests for module 'unicase/locale-language'.
29818         * modules/unicase/locale-language-tests: New file.
29819         * tests/unicase/test-locale-language.sh: New file.
29820         * tests/unicase/test-locale-language.c: New file.
29821
29822         New module 'unicase/locale-language'.
29823         * lib/unicase/locale-language.c: New file.
29824         * lib/unicase/locale-languages.gperf: New file.
29825         * modules/unicase/locale-language: New file.
29826
29827         Generate more tables for case conversion and case folding.
29828         * lib/gen-uni-tables.c (SCC_*): New enum items.
29829         (struct special_casing_rule): New type.
29830         (casing_rules, num_casing_rules, allocated_casing_rules): New
29831         variables.
29832         (add_casing_rule, fill_casing_rules): New functions.
29833         (struct casefold_rule): New type.
29834         (casefolding_rules, num_casefolding_rules,
29835         allocated_casefolding_rules): New variables.
29836         (fill_casefolding_rules): New function.
29837         (unicode_casefold): New variable.
29838         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
29839         sort_casing_rules, output_casing_rules): New functions.
29840         (main): Accept to more arguments: SpecialCasing.txt and
29841         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
29842         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
29843         Output mapping for casefolding.
29844
29845         * lib/unicase.h: Include stdbool.h, uninorm.h.
29846         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
29847         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
29848         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
29849         arguments.
29850         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
29851         resultp arguments.
29852         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
29853         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
29854         resultp arguments.
29855         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
29856         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
29857         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
29858         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
29859         declarations.
29860         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
29861
29862 2009-03-08  Bruno Haible  <bruno@clisp.org>
29863
29864         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29865         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
29866         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
29867         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29868
29869 2009-03-07  Bruno Haible  <bruno@clisp.org>
29870
29871         Adjust u*_normcmp, u*_normcoll API.
29872         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29873         u16_normcoll, u32_normcoll): Change failure conventions.
29874         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
29875         errno and return -1.
29876         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29877
29878 2009-03-07  Bruno Haible  <bruno@clisp.org>
29879
29880         Tests for module 'uninorm/u32-normcoll'.
29881         * modules/uninorm/u32-normcoll-tests: New file.
29882         * tests/uninorm/test-u32-normcoll.c: New file.
29883
29884         Tests for module 'uninorm/u16-normcoll'.
29885         * modules/uninorm/u16-normcoll-tests: New file.
29886         * tests/uninorm/test-u16-normcoll.c: New file.
29887
29888         Tests for module 'uninorm/u8-normcoll'.
29889         * modules/uninorm/u8-normcoll-tests: New file.
29890         * tests/uninorm/test-u8-normcoll.c: New file.
29891
29892 2009-03-07  Bruno Haible  <bruno@clisp.org>
29893
29894         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
29895         tests/uninorm/test-u32-normcmp.c.
29896         * tests/uninorm/test-u32-normcmp.c: Include it.
29897         (test_nonascii): New function, extracted from main. Add some more
29898         tests.
29899         (main): Invoke test_ascii and test_nonascii.
29900         * modules/uninorm/u32-normcmp-tests (Files): Add
29901         tests/uninorm/test-u32-normcmp.h.
29902         (Depends-on): Remove uninorm/u32-normcmp.
29903
29904         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
29905         tests/uninorm/test-u16-normcmp.c.
29906         * tests/uninorm/test-u16-normcmp.c: Include it.
29907         (test_nonascii): New function, extracted from main. Add some more
29908         tests.
29909         (main): Invoke test_ascii and test_nonascii.
29910         * modules/uninorm/u16-normcmp-tests (Files): Add
29911         tests/uninorm/test-u16-normcmp.h.
29912         (Depends-on): Remove uninorm/u16-normcmp.
29913
29914         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
29915         tests/uninorm/test-u8-normcmp.c.
29916         * tests/uninorm/test-u8-normcmp.c: Include it.
29917         (test_nonascii): New function, extracted from main. Add some more
29918         tests.
29919         (main): Invoke test_ascii and test_nonascii.
29920         * modules/uninorm/u8-normcmp-tests (Files): Add
29921         tests/uninorm/test-u8-normcmp.h.
29922         (Depends-on): Remove uninorm/u8-normcmp.
29923
29924 2009-03-07  Bruno Haible  <bruno@clisp.org>
29925
29926         New module 'uninorm/u32-normcoll'.
29927         * lib/uninorm/u32-normcoll.c: New file.
29928         * modules/uninorm/u32-normcoll: New file.
29929
29930         New module 'uninorm/u16-normcoll'.
29931         * lib/uninorm/u16-normcoll.c: New file.
29932         * modules/uninorm/u16-normcoll: New file.
29933
29934         New module 'uninorm/u8-normcoll'.
29935         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
29936         declarations.
29937         * lib/uninorm/u8-normcoll.c: New file.
29938         * lib/uninorm/u-normcoll.h: New file.
29939         * modules/uninorm/u8-normcoll: New file.
29940
29941         New module 'uninorm/u32-normxfrm'.
29942         * lib/uninorm/u32-normxfrm.c: New file.
29943         * modules/uninorm/u32-normxfrm: New file.
29944
29945         New module 'uninorm/u16-normxfrm'.
29946         * lib/uninorm/u16-normxfrm.c: New file.
29947         * modules/uninorm/u16-normxfrm: New file.
29948
29949         New module 'uninorm/u8-normxfrm'.
29950         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
29951         declarations.
29952         * lib/uninorm/u8-normxfrm.c: New file.
29953         * lib/uninorm/u-normxfrm.h: New file.
29954         * modules/uninorm/u8-normxfrm: New file.
29955
29956 2009-03-07  Bruno Haible  <bruno@clisp.org>
29957
29958         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
29959         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
29960         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
29961
29962 2009-03-07  Bruno Haible  <bruno@clisp.org>
29963
29964         New module 'memxfrm'.
29965         * lib/memxfrm.h: New file.
29966         * lib/memxfrm.c: New file.
29967         * modules/memxfrm: New file.
29968
29969 2009-03-07  Bruno Haible  <bruno@clisp.org>
29970
29971         New module 'memcmp2'.
29972         * lib/memcmp2.h: New file.
29973         * lib/memcmp2.c: New file.
29974         * modules/memcmp2: New file.
29975
29976 2009-03-07  Bruno Haible  <bruno@clisp.org>
29977
29978         Tests for module 'uninorm/decomposing-form'.
29979         * modules/uninorm/decomposing-form-tests: New file.
29980         * tests/uninorm/test-decomposing-form.c: New file.
29981
29982         New module 'uninorm/decomposing-form'.
29983         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
29984         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
29985         Add 'decomposing_variant' field.
29986         * lib/uninorm/decomposing-form.c: New file.
29987         * lib/uninorm/nfc.c (uninorm_nfc): Update.
29988         * lib/uninorm/nfd.c (uninorm_nfd): Update.
29989         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
29990         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
29991         * modules/uninorm/decomposing-form: New file.
29992         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
29993         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
29994
29995 2009-03-07  Bruno Haible  <bruno@clisp.org>
29996
29997         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
29998         strings.
29999
30000 2009-03-06  Bruno Haible  <bruno@clisp.org>
30001
30002         Tests for module 'uninorm/u32-normcmp'.
30003         * tests/uninorm/test-u32-normcmp.c: New file.
30004         * modules/uninorm/u32-normcmp-tests: New file.
30005
30006         Tests for module 'uninorm/u16-normcmp'.
30007         * tests/uninorm/test-u16-normcmp.c: New file.
30008         * modules/uninorm/u16-normcmp-tests: New file.
30009
30010         Tests for module 'uninorm/u8-normcmp'.
30011         * tests/uninorm/test-u8-normcmp.c: New file.
30012         * modules/uninorm/u8-normcmp-tests: New file.
30013
30014         New module 'uninorm/u32-normcmp'.
30015         * lib/uninorm/u32-normcmp.c: New file.
30016         * modules/uninorm/u32-normcmp: New file.
30017
30018         New module 'uninorm/u16-normcmp'.
30019         * lib/uninorm/u16-normcmp.c: New file.
30020         * modules/uninorm/u16-normcmp: New file.
30021
30022         New module 'uninorm/u8-normcmp'.
30023         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
30024         declarations.
30025         * lib/uninorm/u8-normcmp.c: New file.
30026         * lib/uninorm/u-normcmp.h: New file.
30027         * modules/uninorm/u8-normcmp: New file.
30028
30029 2009-03-06  Bruno Haible  <bruno@clisp.org>
30030
30031         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
30032         Reported by Eric Blake.
30033
30034 2009-03-06  Eric Blake  <ebb9@byu.net>
30035             Bruno Haible  <bruno@clisp.org>
30036
30037         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
30038         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
30039         condition.
30040         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
30041         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
30042         condition.
30043         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
30044
30045 2009-03-06  Eric Blake  <ebb9@byu.net>
30046
30047         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
30048         to avoid compiler warnings.
30049         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
30050
30051 2009-03-05  Bruno Haible  <bruno@clisp.org>
30052
30053         * tests/test-ftell.c (main): Disable test beyond end of file on
30054         FreeMiNT.
30055         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
30056
30057 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
30058
30059         * lib/filevercmp.c: Move hidden files up in ordering.
30060         * tests/test-filevercmp.c: Add tests for hidden files.
30061
30062 2009-03-04  Bruno Haible  <bruno@clisp.org>
30063
30064         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
30065         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
30066         AM_CFLAGS.
30067         Reported by Simon Josefsson.
30068
30069 2009-03-03  Bruno Haible  <bruno@clisp.org>
30070
30071         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
30072         Reported by Simon Josefsson.
30073
30074         * doc/ld-version-script.texi: Update node reference.
30075
30076 2009-03-03  Bruno Haible  <bruno@clisp.org>
30077
30078         * modules/visibility (License): Change to 'unlimited'.
30079         Suggested by Simon Josefsson.
30080
30081 2009-03-03  Jim Meyering  <meyering@redhat.com>
30082
30083         unlinkdir: cannot_unlink_dir may modify process state
30084         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
30085         it's neither thread-safe nor appropriate for use in a library.
30086
30087 2009-03-03  Eric Blake  <ebb9@byu.net>
30088
30089         test-closein: silence test under Darwin
30090         * tests/test-closein.sh: Ignore stderr from cat, since we don't
30091         care if it dies from EPIPE or EBADF.
30092
30093 2009-03-03  Bruno Haible  <bruno@clisp.org>
30094
30095         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
30096         earlier.
30097         * doc/visibility.texi: Fix @node and @section.
30098
30099 2009-03-03  Simon Josefsson  <simon@josefsson.org>
30100
30101         * doc/gnulib.texi: Link to sections for ld version script and
30102         visibility.
30103         * doc/visibility.texi: Add @node and @section.
30104         * modules/ld-version-script: New module.
30105         * m4/ld-version-script.m4: New file.
30106         * doc/ld-version-script.texi: New file.
30107
30108 2009-03-02  David Lutterkort  <lutter@redhat.com>
30109
30110         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
30111         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30112
30113 2009-03-02  Bruno Haible  <bruno@clisp.org>
30114
30115         * doc/visibility.texi: Mention libtool's -export-symbols option.
30116
30117 2009-03-02  Jim Meyering  <meyering@redhat.com>
30118
30119         announce-gen: new option: --no-print-checksums
30120         * build-aux/announce-gen (usage): Describe it.
30121         (print_checksums): Print a newline here, not in the [*] footnote.
30122         (main): Honor it.
30123
30124 2009-03-01  Bruno Haible  <bruno@clisp.org>
30125
30126         Use socklen_t in the native Windows replacements prototypes.
30127         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
30128         instead of 'int'.
30129         * lib/getsockopt.c (rpl_getsockopt): Likewise.
30130         * lib/setsockopt.c (rpl_setsockopt): Likewise.
30131         * modules/getsockopt (Depends-on): Add socklen.
30132         * modules/setsockopt (Depends-on): Add socklen.
30133
30134 2009-03-01  Bruno Haible  <bruno@clisp.org>
30135
30136         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
30137         least 4.2.
30138
30139 2009-03-01  Eric Blake  <ebb9@byu.net>
30140             Bruno Haible  <bruno@clisp.org>
30141
30142         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
30143         error messages.
30144         * lib/wait-process.c (wait_subprocess): Omit error message about
30145         deadly signal sent to the child of termsigp != NULL.
30146
30147 2009-03-01  Eric Blake  <ebb9@byu.net>
30148
30149         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
30150
30151 2009-03-01  Bruno Haible  <bruno@clisp.org>
30152
30153         Avoid a gcc warning.
30154         * tests/test-sched.c (b): Make global.
30155         Reported by Eric Blake.
30156
30157 2009-01-19  Martin Lambers  <marlam@marlam.de>
30158
30159         Provide POSIX semantics for socket timeout options on W32.
30160         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
30161         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
30162         * modules/setsockopt: Depend on sys_time module for struct timeval.
30163         * modules/getsockopt: Depend on sys_time module for struct timeval.
30164
30165 2009-03-01  Simon Josefsson  <simon@josefsson.org>
30166
30167         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
30168         __USE_GNU, for consistency with netdb.in.h.
30169         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30170
30171 2009-03-01  Bruno Haible  <bruno@clisp.org>
30172
30173         More support for FreeMiNT.
30174         * lib/fseeko.c (rpl_fseeko): Complete last commit.
30175         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30176
30177 2009-03-01  Bruno Haible  <bruno@clisp.org>
30178
30179         More support for FreeMiNT.
30180         * lib/fpurge.c (fpurge): Correct last commit.
30181         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30182
30183 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30184
30185         Fix unportable awk script in vc-list-files.
30186         * build-aux/vc-list-files: In the replacement awk script, use
30187         substr with a second argument of 1, not zero.
30188         Report by Simon Josefsson.
30189
30190 2009-02-28  Bruno Haible  <bruno@clisp.org>
30191
30192         More support for FreeMiNT.
30193         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
30194         to FreeMiNT today.
30195         * lib/fwriting.c (fwriting): Likewise.
30196         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
30197
30198 2009-02-28  Bruno Haible  <bruno@clisp.org>
30199
30200         * tests/test-freadseek.c (main): Disable test beyond end of file on
30201         FreeMiNT.
30202         * tests/test-ftello.c (main): Likewise.
30203         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
30204
30205 2009-02-28  Bruno Haible  <bruno@clisp.org>
30206
30207         Add tentative support for FreeMiNT.
30208         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
30209         * lib/fpurge.c (fpurge): Likewise.
30210         * lib/freadable.c (freadable): Likewise.
30211         * lib/freading.c (freading): Likewise.
30212         * lib/freadptr.c (freadptr): Likewise.
30213         * lib/freadseek.c (freadptrinc): Likewise.
30214         * lib/fseeko.c (rpl_fseeko): Likewise.
30215         * lib/fseterr.c (fseterr): Likewise.
30216         * lib/fwritable.c (fwritable): Likewise.
30217         * lib/fwriting.c (fwriting): Likewise.
30218         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
30219         Hourihane.
30220         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30221
30222 2009-02-28  Bruno Haible  <bruno@clisp.org>
30223
30224         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
30225         SIGCHLD.
30226         Reported by Jim Meyering.
30227
30228 2009-02-28  Bruno Haible  <bruno@clisp.org>
30229
30230         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
30231         Mention the results of these tests on various platforms.
30232         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
30233         order.
30234         * doc/posix-functions/printf.texi: Likewise.
30235         * doc/posix-functions/snprintf.texi: Likewise.
30236         * doc/posix-functions/sprintf.texi: Likewise.
30237         * doc/posix-functions/vfprintf.texi: Likewise.
30238         * doc/posix-functions/vprintf.texi: Likewise.
30239         * doc/posix-functions/vsnprintf.texi: Likewise.
30240         * doc/posix-functions/vsprintf.texi: Likewise.
30241         * doc/glibc-functions/obstack_printf.texi: Likewise.
30242         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
30243
30244 2009-02-28  Bruno Haible  <bruno@clisp.org>
30245
30246         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
30247         Reported by Loïc Minier <lool@dooz.org>.
30248
30249 2009-02-27  Bruno Haible  <bruno@clisp.org>
30250
30251         * gnulib-tool (func_import): Make the sed expression used to create the
30252         sed script for updating the .gitignore file POSIX compliant.
30253         Reported by Eric Blake.
30254
30255 2009-02-27  Bruno Haible  <bruno@clisp.org>
30256
30257         * gnulib-tool (sed): Don't alias as "sed --posix".
30258         Reported by Eric Blake.
30259
30260 2009-02-27  Bruno Haible  <bruno@clisp.org>
30261
30262         Avoid test link errors.
30263         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
30264         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
30265         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
30266         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
30267         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30268
30269 2009-02-27  Bruno Haible  <bruno@clisp.org>
30270
30271         Avoid spurious "(cached)" in configure output.
30272         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
30273         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
30274         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30275         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30276         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30277         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30278         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30279         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30280         Reported by Eric Blake.
30281
30282 2009-02-27  Eric Blake  <ebb9@byu.net>
30283
30284         printf: fix regression in previous patch
30285         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
30286
30287 2009-02-27  Bruno Haible  <bruno@clisp.org>
30288
30289         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
30290         value.
30291         * lib/stdint.in.h: Likewise.
30292         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
30293
30294 2009-02-27  Eric Blake  <ebb9@byu.net>
30295
30296         doc: mention more functions added in cygwin 1.7.0
30297         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
30298         addition.
30299         * doc/posix-functions/open_wmemstream.texi: Likewise.
30300         * doc/posix-functions/wcsnlen.texi: Likewise.
30301         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30302         * doc/posix-functions/wcstod.texi: Likewise.
30303         * doc/posix-functions/wcstof.texi: Likewise.
30304         * doc/posix-functions/wcstoimax.texi: Likewise.
30305         * doc/posix-functions/wcstok.texi: Likewise.
30306         * doc/posix-functions/wcstoumax.texi: Likewise.
30307
30308         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
30309         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
30310         * doc/posix-functions/fprintf.texi: Update.
30311         * doc/posix-functions/printf.texi: Update.
30312         * doc/posix-functions/snprintf.texi: Update.
30313         * doc/posix-functions/sprintf.texi: Update.
30314         * doc/posix-functions/vfprintf.texi: Update.
30315         * doc/posix-functions/vprintf.texi: Update.
30316         * doc/posix-functions/vsnprintf.texi: Update.
30317         * doc/posix-functions/vsprintf.texi: Update.
30318         * doc/glibc-functions/obstack_printf.texi: Update.
30319         * doc/glibc-functions/obstack_vprintf.texi: Update.
30320
30321 2009-02-26  Eric Blake  <ebb9@byu.net>
30322
30323         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
30324         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
30325         compilation bug by using runtime conversion.
30326         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30327         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
30328         * modules/ceill-tests (Files): Use nan.h.
30329         * modules/floorl-tests (Files): Likewise.
30330         * modules/frexpl-tests (Files): Likewise.
30331         * modules/isnanl-tests (Files): Likewise.
30332         * modules/ldexpl-tests (Files): Likewise.
30333         * modules/roundl-tests (Files): Likewise.
30334         * modules/truncl-tests (Files): Likewise.
30335         * tests/test-ceill.c (main): Use a working NaN.
30336         * tests/test-floorl.c (main): Likewise.
30337         * tests/test-frexpl.c (main): Likewise.
30338         * tests/test-isnan.c (test_long_double): Likewise.
30339         * tests/test-isnanl.h (main): Likewise.
30340         * tests/test-ldexpl.h (main): Likewise.
30341         * tests/test-roundl.h (main): Likewise.
30342         * tests/test-truncl.h (main): Likewise.
30343         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
30344
30345 2009-02-26  Eric Blake  <ebb9@byu.net>
30346             Bruno Haible  <bruno@clisp.org>
30347
30348         Work around a *printf bug with %ls on Solaris.
30349         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
30350         precision is specified, sprintf stops converting the wide string
30351         argument when the number of bytes that have been produced by this
30352         conversion equals or exceeds the precision.
30353         * doc/posix-functions/fprintf.texi: Update.
30354         * doc/posix-functions/printf.texi: Update.
30355         * doc/posix-functions/snprintf.texi: Update.
30356         * doc/posix-functions/sprintf.texi: Update.
30357         * doc/posix-functions/vfprintf.texi: Update.
30358         * doc/posix-functions/vprintf.texi: Update.
30359         * doc/posix-functions/vsnprintf.texi: Update.
30360         * doc/posix-functions/vsprintf.texi: Update.
30361         * doc/glibc-functions/obstack_printf.texi: Update.
30362         * doc/glibc-functions/obstack_vprintf.texi: Update.
30363
30364 2009-02-26  Eric Blake  <ebb9@byu.net>
30365
30366         stdlib: favor compiler check of random.h
30367         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
30368         to avoid an ObjC random.h installed by Swarm.
30369
30370 2009-02-26  Bruno Haible  <bruno@clisp.org>
30371
30372         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
30373         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
30374         Reported by Gary V. Vaughan <gary@gnu.org>.
30375
30376 2009-02-26  Bruno Haible  <bruno@clisp.org>
30377
30378         Fix *printf behaviour regarding the %ls directive.
30379         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
30380         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
30381         NEED_PRINTF_DIRECTIVE_LS.
30382         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
30383         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30384         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30385         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
30386         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
30387         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
30388         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
30389         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30390         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30391         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30392         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30393         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
30394         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30395         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30396         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30397         * doc/posix-functions/fprintf.texi: Update.
30398         * doc/posix-functions/printf.texi: Update.
30399         * doc/posix-functions/snprintf.texi: Update.
30400         * doc/posix-functions/sprintf.texi: Update.
30401         * doc/posix-functions/vfprintf.texi: Update.
30402         * doc/posix-functions/vprintf.texi: Update.
30403         * doc/posix-functions/vsnprintf.texi: Update.
30404         * doc/posix-functions/vsprintf.texi: Update.
30405         * doc/glibc-functions/obstack_printf.texi: Update.
30406         * doc/glibc-functions/obstack_vprintf.texi: Update.
30407         Reported by Eric Blake.
30408
30409 2009-02-25  Bruno Haible  <bruno@clisp.org>
30410
30411         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
30412         with known value.
30413         Reported by Gary V. Vaughan <gary@gnu.org>.
30414
30415 2009-02-25  Bruno Haible  <bruno@clisp.org>
30416
30417         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
30418         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
30419         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
30420         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
30421         Reported by Gary V. Vaughan <gary@gnu.org>.
30422
30423 2009-02-25  Bruno Haible  <bruno@clisp.org>
30424
30425         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
30426         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
30427         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
30428         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
30429         Reported by Gary V. Vaughan <gary@gnu.org>.
30430
30431 2009-02-25  Eric Blake  <ebb9@byu.net>
30432
30433         tests: skip fseek/ftell tests if ungetc is broken
30434         * m4/ungetc.m4: New file.
30435         * modules/fseek-tests: Split test, so ungetc dependency is
30436         separate from rest of test.
30437         * modules/fseeko-tests: Likewise.
30438         * modules/ftell-tests: Likewise.
30439         * modules/ftello-tests: Likewise.
30440         * tests/test-fseek.c (main): Isolate ungetc dependency.
30441         * tests/test-fseeko.c (main): Likewise.
30442         * tests/test-ftell.c (main): Likewise.
30443         * tests/test-ftello.c (main): Likewise.
30444         * tests/test-fseek2.sh: New file.
30445         * tests/test-fseeko2.sh: Likewise.
30446         * tests/test-ftell2.sh: Likewise.
30447         * tests/test-ftello2.sh: Likewise.
30448
30449 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
30450
30451         test-getaddrinfo: fix usage of skip return code 77
30452         * tests/test-gettaddrinfo.c: Return skip code 77 only
30453         for first occurance of skip (4x77 is not 77)
30454
30455 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
30456
30457         strtod: avoid C99 decl-after-statement
30458         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
30459
30460 2009-02-24  Eric Blake  <ebb9@byu.net>
30461
30462         strtod: detect HP-UX 11.31 bug
30463         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
30464         Reported by Gary V. Vaughan.
30465
30466 2009-02-23  Bruno Haible  <bruno@clisp.org>
30467
30468         Fix invalid read past end of memory block.
30469         * lib/vasnprintf.c (DCHAR_SET): Define.
30470         (local_wcslen): Define only when needed.
30471         (local_strnlen, local_wcsnlen): New functions.
30472         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
30473         directives that involve a conversion ourselves.
30474         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
30475         wcsnlen, mbrtowc, wcrtomb.
30476         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
30477         * tests/test-vasprintf-posix.c (test_function): Likewise.
30478         * tests/test-snprintf-posix.h (test_function): Likewise.
30479         * tests/test-sprintf-posix.h (test_function): Likewise.
30480         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30481
30482 2009-02-22  Bruno Haible  <bruno@clisp.org>
30483
30484         Implement new clarified decomposition of Hangul syllables.
30485         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
30486         of type LTV, return only a pairwise decomposition.
30487         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
30488         Likewise.
30489         * tests/uninorm/test-decomposition.c (main): Updated expected result.
30490         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
30491         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
30492
30493 2009-02-22  Bruno Haible  <bruno@clisp.org>
30494
30495         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
30496         zero-length results and shrink excess allocated memory.
30497         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
30498         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
30499         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
30500         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
30501         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
30502         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
30503         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
30504         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
30505         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
30506         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
30507         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
30508         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
30509
30510 2009-02-21  Bruno Haible  <bruno@clisp.org>
30511
30512         * doc/gnulib.texi: Include safe-alloc.texi earlier.
30513         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
30514         spaces after a period. Put a space between a macro name and its
30515         argument list. Trivial rewordings.
30516         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
30517         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
30518         (main): Return 0 explicitly.
30519
30520 2009-02-21  Bruno Haible  <bruno@clisp.org>
30521
30522         Tests for module 'uninorm/filter'.
30523         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
30524         * modules/uninorm/filter-tests: New file.
30525
30526         New module 'uninorm/filter'.
30527         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
30528         uninorm_filter_flush, uninorm_filter_free): New declarations.
30529         * lib/uninorm/uninorm-filter.c: New file.
30530         * modules/uninorm/filter: New file.
30531
30532 2009-02-21  Bruno Haible  <bruno@clisp.org>
30533
30534         Tests for module 'uninorm/nfkc'.
30535         * tests/uninorm/test-nfkc.c: New file.
30536         * tests/uninorm/test-u8-nfkc.c: New file.
30537         * tests/uninorm/test-u16-nfkc.c: New file.
30538         * tests/uninorm/test-u32-nfkc.c: New file.
30539         * tests/uninorm/test-u32-nfkc-big.sh: New file.
30540         * tests/uninorm/test-u32-nfkc-big.c: New file.
30541         * modules/uninorm/nfkc-tests: New file.
30542
30543         New module 'uninorm/nfkc'.
30544         * lib/uninorm/nfkc.c: New file.
30545         * modules/uninorm/nfkc: New file.
30546
30547         Tests for module 'uninorm/nfkd'.
30548         * tests/uninorm/test-nfkd.c: New file.
30549         * tests/uninorm/test-u8-nfkd.c: New file.
30550         * tests/uninorm/test-u16-nfkd.c: New file.
30551         * tests/uninorm/test-u32-nfkd.c: New file.
30552         * tests/uninorm/test-u32-nfkd-big.sh: New file.
30553         * tests/uninorm/test-u32-nfkd-big.c: New file.
30554         * modules/uninorm/nfkd-tests: New file.
30555
30556         New module 'uninorm/nfkd'.
30557         * lib/uninorm/nfkd.c: New file.
30558         * modules/uninorm/nfkd: New file.
30559
30560         Tests for module 'uninorm/nfc'.
30561         * tests/uninorm/test-nfc.c: New file.
30562         * tests/uninorm/test-u8-nfc.c: New file.
30563         * tests/uninorm/test-u16-nfc.c: New file.
30564         * tests/uninorm/test-u32-nfc.c: New file.
30565         * tests/uninorm/test-u32-nfc-big.sh: New file.
30566         * tests/uninorm/test-u32-nfc-big.c: New file.
30567         * modules/uninorm/nfc-tests: New file.
30568
30569         New module 'uninorm/nfc'.
30570         * lib/uninorm/nfc.c: New file.
30571         * modules/uninorm/nfc: New file.
30572
30573         Tests for module 'uninorm/nfd'.
30574         * tests/uninorm/test-nfd.c: New file.
30575         * tests/uninorm/test-u8-nfd.c: New file.
30576         * tests/uninorm/test-u16-nfd.c: New file.
30577         * tests/uninorm/test-u32-nfd.c: New file.
30578         * tests/uninorm/test-u32-nfd-big.sh: New file.
30579         * tests/uninorm/test-u32-nfd-big.c: New file.
30580         * tests/uninorm/test-u32-normalize-big.h: New file.
30581         * tests/uninorm/test-u32-normalize-big.c: New file.
30582         * tests/uninorm/NormalizationTest.txt: New file, created from
30583         Unicode 5.1.0 NormalizationTest.txt.
30584         * modules/uninorm/nfd-tests: New file.
30585
30586         New module 'uninorm/nfd'.
30587         * lib/uninorm/nfd.c: New file.
30588         * modules/uninorm/nfd: New file.
30589
30590         New module 'uninorm/u32-normalize'.
30591         * lib/uninorm/u32-normalize.c: New file.
30592         * modules/uninorm/u32-normalize: New file.
30593
30594         New module 'uninorm/u16-normalize'.
30595         * lib/uninorm/u16-normalize.c: New file.
30596         * modules/uninorm/u16-normalize: New file.
30597
30598         New module 'uninorm/u8-normalize'.
30599         * lib/uninorm/u8-normalize.c: New file.
30600         * lib/uninorm/normalize-internal.h: New file.
30601         * lib/uninorm/u-normalize-internal.h: New file.
30602         * modules/uninorm/u8-normalize: New file.
30603
30604         New module 'uninorm/decompose-internal'.
30605         * lib/uninorm/decompose-internal.c: New file.
30606         * modules/uninorm/decompose-internal: New file.
30607
30608         Tests for module 'uninorm/composition'.
30609         * tests/uninorm/test-composition.c: New file.
30610         * modules/uninorm/composition-tests: New file.
30611
30612         New module 'uninorm/composition'.
30613         * lib/uninorm/composition.c: New file.
30614         * lib/uninorm/composition-table.gperf: New file, generated by
30615         gen-uni-tables.
30616         * modules/uninorm/composition: New file.
30617
30618         Tests for module 'uninorm/compat-decomposition'.
30619         * tests/uninorm/test-compat-decomposition.c: New file.
30620         * modules/uninorm/compat-decomposition-tests: New file.
30621
30622         New module 'uninorm/compat-decomposition'.
30623         * lib/uninorm/decompose-internal.h: New file.
30624         * lib/uninorm/compat-decomposition.c: New file.
30625         * modules/uninorm/compat-decomposition: New file.
30626
30627         Tests for module 'uninorm/canonical-decomposition'.
30628         * tests/uninorm/test-canonical-decomposition.c: New file.
30629         * modules/uninorm/canonical-decomposition-tests: New file.
30630
30631         New module 'uninorm/canonical-decomposition'.
30632         * lib/uninorm/canonical-decomposition.c: New file.
30633         * modules/uninorm/canonical-decomposition: New file.
30634
30635         Tests for module 'uninorm/decomposition'.
30636         * tests/uninorm/test-decomposition.c: New file.
30637         * modules/uninorm/decomposition-tests: New file.
30638
30639         New module 'uninorm/decomposition'.
30640         * lib/uninorm/decomposition.c: New file.
30641         * modules/uninorm/decomposition: New file.
30642
30643         New module 'uninorm/decomposition-table'.
30644         * lib/uninorm/decomposition-table.h: New file.
30645         * lib/uninorm/decomposition-table.c: New file.
30646         * lib/uninorm/decomposition-table1.h: New file, generated by
30647         gen-uni-tables.
30648         * lib/uninorm/decomposition-table2.h: New file, generated by
30649         gen-uni-tables.
30650         * modules/uninorm/decomposition-table: New file.
30651
30652         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
30653         (UC_DECOMP_*): New enumeration items.
30654         (get_decomposition): New function.
30655         (struct decomp_table): New type.
30656         (output_decomposition, output_decomposition_tables): New functions.
30657         (unicode_composition_exclusions): New variable.
30658         (fill_composition_exclusions, debug_output_composition_tables): New
30659         functions.
30660         (main): Accept one more argument. Invoke fill_composition_exclusions.
30661         Output decomposition and composition tables.
30662
30663         New module 'uninorm/base'.
30664         * lib/uninorm.h: New file.
30665         * lib/unictype.h: Update comment.
30666         * modules/uninorm/base: New file.
30667
30668 2009-02-21  David Lutterkort  <lutter@redhat.com>
30669
30670         Tests for module 'safe-alloc'.
30671         * tests/test-safe-alloc.c: New file.
30672         * modules/safe-alloc-tests: New file.
30673
30674         New module 'safe-alloc'.
30675         * lib/safe-alloc.h: New file.
30676         * lib/safe-alloc.c: New file.
30677         * m4/safe-alloc.m4: New file.
30678         * modules/safe-alloc: New file.
30679         * doc/safe-alloc.texi: New file.
30680         * doc/gnulib.texi: Include it.
30681         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30682         safe-alloc.
30683
30684 2009-02-18  Bruno Haible  <bruno@clisp.org>
30685
30686         Fix link error on non-glibc systems.
30687         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
30688         variable.
30689         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30690
30691 2009-02-18  Jim Meyering  <meyering@redhat.com>
30692
30693         fts: avoid used-uninitialized error due to recent change
30694         * lib/fts.c (fts_read): Guard uses of the new member,
30695         parent->fts_n_dirs_remaining, since it's not relevant for
30696         the parent of a directory specified on the command-line.
30697
30698 2009-02-17  James Youngman  <jay@gnu.org>
30699             Bruno Haible  <bruno@clisp.org>
30700
30701         * m4/include_next.m4: Reformulate comment.
30702
30703 2009-02-16  Jim Meyering  <meyering@redhat.com>
30704
30705         fts: add #if guards so that the fts_lgpl module still builds
30706         * lib/fts.c: Guard just-added hash-table-using parts with
30707         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
30708         Reported by Simon Josefsson.
30709
30710 2009-02-15  Bruno Haible  <bruno@clisp.org>
30711
30712         * modules/array-mergesort-tests: New file.
30713         * tests/test-array-mergesort.c: New file.
30714
30715         New module 'array-mergesort'.
30716         * modules/array-mergesort: New file.
30717         * lib/array-mergesort.h: New file.
30718
30719 2009-02-15  Bruno Haible  <bruno@clisp.org>
30720
30721         Fix 2009-02-07 commit.
30722         * lib/gen-uni-tables.c (output_predicate, output_category,
30723         output_combclass, output_bidi_category, output_decimal_digit,
30724         output_digit, output_numeric, output_mirror, output_scripts,
30725         output_ident_category, output_simple_mapping): Fix format directives.
30726         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
30727
30728 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
30729
30730         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
30731         fixes are available from IBM.
30732
30733 2009-02-13  Jim Meyering  <meyering@redhat.com>
30734
30735         fts: arrange not to stat non-directories in more cases
30736         This makes GNU find (when it doesn't need to stat each file)
30737         *much* more efficient at traversing reiserfs file systems.
30738         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
30739         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
30740         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
30741         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
30742         (leaf_optimization_applies): New function.
30743         (LCO_hash, LCO_compare): New helper functions.
30744         (link_count_optimize_ok): New function.
30745         (fts_stat): Initialize new member (if dir).
30746         (fts_read): Decrement parent's fts_n_dirs_remaining count if
30747         we've just stat'ed a directory.  Skip the stat call when possible.
30748         ---
30749         Note this AFS-related exchange:
30750         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
30751         and note find's pioctl call in find/fstype.c.
30752         But that is necessary only if you want to enable the
30753         optimization for AFS, and for now, I don't.
30754
30755         fts: move a function definition "up" (no semantic change)
30756         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
30757         "up" to precede upcoming use of a related function.
30758
30759 2009-02-11  Jim Meyering  <meyering@redhat.com>
30760
30761         fts: correct internal computation of nlinks (optimization-related)
30762         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
30763         whether the current entry is a directory, so don't test it.
30764
30765 2009-02-10  Bruno Haible  <bruno@clisp.org>
30766
30767         Tests for module 'uniwbrk/ulc-wordbreaks'.
30768         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
30769         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
30770         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
30771
30772         Tests for module 'uniwbrk/u32-wordbreaks'.
30773         * modules/uniwbrk/u32-wordbreaks-tests: New file.
30774         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
30775
30776         Tests for module 'uniwbrk/u16-wordbreaks'.
30777         * modules/uniwbrk/u16-wordbreaks-tests: New file.
30778         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
30779
30780         Tests for module 'uniwbrk/u8-wordbreaks'.
30781         * modules/uniwbrk/u8-wordbreaks-tests: New file.
30782         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
30783
30784 2009-02-10  Bruno Haible  <bruno@clisp.org>
30785
30786         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
30787         property.
30788         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
30789         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
30790         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
30791
30792 2009-02-10  Simon Josefsson  <simon@josefsson.org>
30793
30794         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
30795         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
30796
30797 2009-02-10  Bruno Haible  <bruno@clisp.org>
30798
30799         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
30800         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
30801         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
30802         * lib/unilbrk/u8-possible-linebreaks.c: Update.
30803         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
30804         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
30805
30806 2009-02-09  Simon Josefsson  <simon@josefsson.org>
30807
30808         * lib/sockets.h (gl_fd_to_handle): New function.
30809
30810         * tests/test-sockets.c: Call gl_fd_to_handle.
30811
30812 2009-02-09  Bruno Haible  <bruno@clisp.org>
30813
30814         * doc/havelib.texi: Document the conventions on bi-arch systems.
30815
30816 2009-02-08  Bruno Haible  <bruno@clisp.org>
30817
30818         Document the AC_LIB_LINKFLAGS macro.
30819         * doc/havelib.texi: New file, mostly written on 2005-05-24.
30820         * doc/gnulib.texi: Include it.
30821
30822 2009-02-08  Bruno Haible  <bruno@clisp.org>
30823
30824         Fix wrong order of sections, compared to TOC.
30825         * doc/gnulib.texi: Include relocatable-maint.texi after the
30826         "Regular expressions" node, not before.
30827
30828 2009-02-08  Bruno Haible  <bruno@clisp.org>
30829
30830         Tests for module 'unicase/totitle'.
30831         * modules/unicase/totitle-tests: New file.
30832
30833         Tests for module 'unicase/tolower'.
30834         * modules/unicase/tolower-tests: New file.
30835
30836         Tests for module 'unicase/toupper'.
30837         * modules/unicase/toupper-tests: New file.
30838         * tests/unicase/test-mapping-part1.h: New file.
30839         * tests/unicase/test-mapping-part2.h: New file.
30840
30841         New module 'unicase/totitle'.
30842         * modules/unicase/totitle: New file.
30843         * lib/unicase/totitle.c: New file.
30844
30845         New module 'unicase/tolower'.
30846         * modules/unicase/tolower: New file.
30847         * lib/unicase/tolower.c: New file.
30848
30849         New module 'unicase/toupper'.
30850         * modules/unicase/toupper: New file.
30851         * lib/unicase/toupper.c: New file.
30852         * lib/unicase/simple-mapping.h: New file.
30853
30854         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
30855         (mapping_table): New structure.
30856         (output_simple_mapping): New function.
30857         (main): Invoke output_simple_mapping_test and output_simple_mapping.
30858         * modules/gen-uni-tables (Description): Update.
30859         * lib/unicase/toupper.h: New file, automatically generated by
30860         gen-uni-tables.
30861         * lib/unicase/tolower.h: New file, automatically generated by
30862         gen-uni-tables.
30863         * lib/unicase/totitle.h: New file, automatically generated by
30864         gen-uni-tables.
30865         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
30866         gen-uni-tables.
30867         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
30868         gen-uni-tables.
30869         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
30870         gen-uni-tables.
30871
30872         New module 'unicase/base'.
30873         * modules/unicase/base: New file.
30874         * lib/unicase.h: New file.
30875
30876 2009-02-08  Bruno Haible  <bruno@clisp.org>
30877
30878         New module 'uniwbrk/ulc-wordbreaks'.
30879         * modules/uniwbrk/ulc-wordbreaks: New file.
30880         * lib/uniwbrk/ulc-wordbreaks.c: New file.
30881
30882         New module 'uniwbrk/u32-wordbreaks'.
30883         * modules/uniwbrk/u32-wordbreaks: New file.
30884         * lib/uniwbrk/u32-wordbreaks.c: New file.
30885
30886         New module 'uniwbrk/u16-wordbreaks'.
30887         * modules/uniwbrk/u16-wordbreaks: New file.
30888         * lib/uniwbrk/u16-wordbreaks.c: New file.
30889
30890         New module 'uniwbrk/u8-wordbreaks'.
30891         * modules/uniwbrk/u8-wordbreaks: New file.
30892         * lib/uniwbrk/u8-wordbreaks.c: New file.
30893         * lib/uniwbrk/u-wordbreaks.h: New file.
30894
30895         New module 'uniwbrk/table'.
30896         * modules/uniwbrk/table: New file.
30897         * lib/uniwbrk/wbrktable.h: New file.
30898         * lib/uniwbrk/wbrktable.c: New file.
30899
30900         New module 'uniwbrk/wordbreak-property'.
30901         * modules/uniwbrk/wordbreak-property: New file.
30902         * lib/uniwbrk/wordbreak-property.c: New file.
30903
30904         * lib/gen-uni-tables.c (WBP_*): New enum items.
30905         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
30906         (unicode_org_wbp): New variable.
30907         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
30908         New functions.
30909         (wbp_table): New structure.
30910         (output_wbp, output_wbrk_tables): New functions.
30911         (main): Accept additional argument. Invoke fill_org_wbp,
30912         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
30913         output_wbrk_tables.
30914         * modules/gen-uni-tables (Description): Update.
30915         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
30916         gen-uni-tables.
30917
30918         New module 'uniwbrk/base'.
30919         * modules/uniwbrk/base: New file.
30920         * lib/uniwbrk.h: New file.
30921
30922 2009-02-08  Bruno Haible  <bruno@clisp.org>
30923
30924         Update to Unicode 5.1.0.
30925         * lib/gen-uni-tables.c (is_property_alphabetic): Include
30926         U+2185..U+2188.
30927         (is_property_default_ignorable_code_point): Don't include characters
30928         of category Cc or Cs and not-a-characters.
30929         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
30930         U+0D79, U+109E, U+109F, U+A60C.
30931         * lib/unictype/bidi_of.h: Regenerated.
30932         * lib/unictype/blocks.h: Regenerated.
30933         * lib/unictype/categ_C.h: Regenerated.
30934         * lib/unictype/categ_Cf.h: Regenerated.
30935         * lib/unictype/categ_Cn.h: Regenerated.
30936         * lib/unictype/categ_L.h: Regenerated.
30937         * lib/unictype/categ_Ll.h: Regenerated.
30938         * lib/unictype/categ_Lm.h: Regenerated.
30939         * lib/unictype/categ_Lo.h: Regenerated.
30940         * lib/unictype/categ_Lu.h: Regenerated.
30941         * lib/unictype/categ_M.h: Regenerated.
30942         * lib/unictype/categ_Mc.h: Regenerated.
30943         * lib/unictype/categ_Me.h: Regenerated.
30944         * lib/unictype/categ_Mn.h: Regenerated.
30945         * lib/unictype/categ_N.h: Regenerated.
30946         * lib/unictype/categ_Nd.h: Regenerated.
30947         * lib/unictype/categ_Nl.h: Regenerated.
30948         * lib/unictype/categ_No.h: Regenerated.
30949         * lib/unictype/categ_P.h: Regenerated.
30950         * lib/unictype/categ_Pd.h: Regenerated.
30951         * lib/unictype/categ_Pe.h: Regenerated.
30952         * lib/unictype/categ_Pf.h: Regenerated.
30953         * lib/unictype/categ_Pi.h: Regenerated.
30954         * lib/unictype/categ_Po.h: Regenerated.
30955         * lib/unictype/categ_Ps.h: Regenerated.
30956         * lib/unictype/categ_S.h: Regenerated.
30957         * lib/unictype/categ_Sk.h: Regenerated.
30958         * lib/unictype/categ_Sm.h: Regenerated.
30959         * lib/unictype/categ_So.h: Regenerated.
30960         * lib/unictype/categ_of.h: Regenerated.
30961         * lib/unictype/combining.h: Regenerated.
30962         * lib/unictype/ctype_alnum.h: Regenerated.
30963         * lib/unictype/ctype_alpha.h: Regenerated.
30964         * lib/unictype/ctype_graph.h: Regenerated.
30965         * lib/unictype/ctype_lower.h: Regenerated.
30966         * lib/unictype/ctype_print.h: Regenerated.
30967         * lib/unictype/ctype_punct.h: Regenerated.
30968         * lib/unictype/ctype_upper.h: Regenerated.
30969         * lib/unictype/decdigit.h: Regenerated.
30970         * lib/unictype/digit.h: Regenerated.
30971         * lib/unictype/mirror.h: Regenerated.
30972         * lib/unictype/numeric.h: Regenerated.
30973         * lib/unictype/pr_alphabetic.h: Regenerated.
30974         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
30975         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
30976         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
30977         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
30978         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
30979         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
30980         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
30981         * lib/unictype/pr_combining.h: Regenerated.
30982         * lib/unictype/pr_dash.h: Regenerated.
30983         * lib/unictype/pr_decimal_digit.h: Regenerated.
30984         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
30985         * lib/unictype/pr_deprecated.h: Regenerated.
30986         * lib/unictype/pr_diacritic.h: Regenerated.
30987         * lib/unictype/pr_extender.h: Regenerated.
30988         * lib/unictype/pr_format_control.h: Regenerated.
30989         * lib/unictype/pr_grapheme_base.h: Regenerated.
30990         * lib/unictype/pr_grapheme_extend.h: Regenerated.
30991         * lib/unictype/pr_grapheme_link.h: Regenerated.
30992         * lib/unictype/pr_id_continue.h: Regenerated.
30993         * lib/unictype/pr_id_start.h: Regenerated.
30994         * lib/unictype/pr_ideographic.h: Regenerated.
30995         * lib/unictype/pr_ignorable_control.h: Regenerated.
30996         * lib/unictype/pr_lowercase.h: Regenerated.
30997         * lib/unictype/pr_math.h: Regenerated.
30998         * lib/unictype/pr_numeric.h: Regenerated.
30999         * lib/unictype/pr_other_alphabetic.h: Regenerated.
31000         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
31001         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
31002         * lib/unictype/pr_other_id_continue.h: Regenerated.
31003         * lib/unictype/pr_other_lowercase.h: Regenerated.
31004         * lib/unictype/pr_other_math.h: Regenerated.
31005         * lib/unictype/pr_punctuation.h: Regenerated.
31006         * lib/unictype/pr_sentence_terminal.h: Regenerated.
31007         * lib/unictype/pr_soft_dotted.h: Regenerated.
31008         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
31009         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
31010         * lib/unictype/pr_unified_ideograph.h: Regenerated.
31011         * lib/unictype/pr_uppercase.h: Regenerated.
31012         * lib/unictype/pr_xid_continue.h: Regenerated.
31013         * lib/unictype/pr_xid_start.h: Regenerated.
31014         * lib/unictype/pr_zero_width.h: Regenerated.
31015         * lib/unictype/scripts.h: Regenerated.
31016         * lib/unictype/scripts_byname.gperf: Regenerated.
31017         * lib/unictype/sy_java_ident.h: Regenerated.
31018         * lib/unilbrk/lbrkprop1.h: Regenerated.
31019         * lib/unilbrk/lbrkprop2.h: Regenerated.
31020         * tests/unictype/test-categ_C.c: Regenerated.
31021         * tests/unictype/test-categ_Cf.c: Regenerated.
31022         * tests/unictype/test-categ_Cn.c: Regenerated.
31023         * tests/unictype/test-categ_L.c: Regenerated.
31024         * tests/unictype/test-categ_Ll.c: Regenerated.
31025         * tests/unictype/test-categ_Lm.c: Regenerated.
31026         * tests/unictype/test-categ_Lo.c: Regenerated.
31027         * tests/unictype/test-categ_Lu.c: Regenerated.
31028         * tests/unictype/test-categ_M.c: Regenerated.
31029         * tests/unictype/test-categ_Mc.c: Regenerated.
31030         * tests/unictype/test-categ_Me.c: Regenerated.
31031         * tests/unictype/test-categ_Mn.c: Regenerated.
31032         * tests/unictype/test-categ_N.c: Regenerated.
31033         * tests/unictype/test-categ_Nd.c: Regenerated.
31034         * tests/unictype/test-categ_Nl.c: Regenerated.
31035         * tests/unictype/test-categ_No.c: Regenerated.
31036         * tests/unictype/test-categ_P.c: Regenerated.
31037         * tests/unictype/test-categ_Pd.c: Regenerated.
31038         * tests/unictype/test-categ_Pe.c: Regenerated.
31039         * tests/unictype/test-categ_Pf.c: Regenerated.
31040         * tests/unictype/test-categ_Pi.c: Regenerated.
31041         * tests/unictype/test-categ_Po.c: Regenerated.
31042         * tests/unictype/test-categ_Ps.c: Regenerated.
31043         * tests/unictype/test-categ_S.c: Regenerated.
31044         * tests/unictype/test-categ_Sk.c: Regenerated.
31045         * tests/unictype/test-categ_Sm.c: Regenerated.
31046         * tests/unictype/test-categ_So.c: Regenerated.
31047         * tests/unictype/test-ctype_alnum.c: Regenerated.
31048         * tests/unictype/test-ctype_alpha.c: Regenerated.
31049         * tests/unictype/test-ctype_graph.c: Regenerated.
31050         * tests/unictype/test-ctype_lower.c: Regenerated.
31051         * tests/unictype/test-ctype_print.c: Regenerated.
31052         * tests/unictype/test-ctype_punct.c: Regenerated.
31053         * tests/unictype/test-ctype_upper.c: Regenerated.
31054         * tests/unictype/test-decdigit.h: Regenerated.
31055         * tests/unictype/test-digit.h: Regenerated.
31056         * tests/unictype/test-numeric.h: Regenerated.
31057         * tests/unictype/test-pr_alphabetic.c: Regenerated.
31058         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
31059         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
31060         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
31061         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
31062         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
31063         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
31064         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
31065         * tests/unictype/test-pr_combining.c: Regenerated.
31066         * tests/unictype/test-pr_dash.c: Regenerated.
31067         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
31068         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
31069         * tests/unictype/test-pr_deprecated.c: Regenerated.
31070         * tests/unictype/test-pr_diacritic.c: Regenerated.
31071         * tests/unictype/test-pr_extender.c: Regenerated.
31072         * tests/unictype/test-pr_format_control.c: Regenerated.
31073         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
31074         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
31075         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
31076         * tests/unictype/test-pr_id_continue.c: Regenerated.
31077         * tests/unictype/test-pr_id_start.c: Regenerated.
31078         * tests/unictype/test-pr_ideographic.c: Regenerated.
31079         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
31080         * tests/unictype/test-pr_lowercase.c: Regenerated.
31081         * tests/unictype/test-pr_math.c: Regenerated.
31082         * tests/unictype/test-pr_numeric.c: Regenerated.
31083         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
31084         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
31085         Regenerated.
31086         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
31087         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
31088         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
31089         * tests/unictype/test-pr_other_math.c: Regenerated.
31090         * tests/unictype/test-pr_punctuation.c: Regenerated.
31091         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
31092         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
31093         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
31094         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
31095         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
31096         * tests/unictype/test-pr_uppercase.c: Regenerated.
31097         * tests/unictype/test-pr_xid_continue.c: Regenerated.
31098         * tests/unictype/test-pr_xid_start.c: Regenerated.
31099         * tests/unictype/test-pr_zero_width.c: Regenerated.
31100
31101         Update to Unicode 5.1.0.
31102         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
31103         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
31104         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
31105         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
31106         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
31107         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
31108         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
31109         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
31110         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
31111         (nonspacing_table_ind): Update.
31112         * tests/uniwidth/test-uc_width2.sh: Update expected result.
31113
31114         Update to Unicode 5.1.0.
31115         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
31116         code transform.
31117         * lib/uniname/uniname.c (unicode_character_name,
31118         unicode_name_character): Add the range 0x1Fxxx to the code transform.
31119         * lib/uniname/uninames.h: Regenerated.
31120         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
31121
31122 2009-02-07  Bruno Haible  <bruno@clisp.org>
31123
31124         Merge gen-ctype and gen-lbrk into a single program.
31125         * lib/gen-uni-tables.c: New file, incorporating
31126         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
31127         Add directory prefixes to the names of the generated files.
31128         * lib/unictype/gen-ctype.c: Remove file.
31129         * lib/unilbrk/gen-lbrk.c: Remove file.
31130         * modules/gen-uni-tables: New file.
31131         * modules/unictype/gen-ctype: Remove file.
31132         * modules/unilbrk/gen-lbrk: Remove file.
31133
31134 2009-02-07  Bruno Haible  <bruno@clisp.org>
31135
31136         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
31137
31138         New module 'unistr/u32-strcoll'.
31139         * modules/unistr/u32-strcoll: New file.
31140         * lib/unistr/u32-strcoll.c: New file.
31141
31142         New module 'unistr/u16-strcoll'.
31143         * modules/unistr/u16-strcoll: New file.
31144         * lib/unistr/u16-strcoll.c: New file.
31145
31146         New module 'unistr/u8-strcoll'.
31147         * modules/unistr/u8-strcoll: New file.
31148         * lib/unistr/u8-strcoll.c: New file.
31149         * lib/unistr/u-strcoll.h: New file.
31150
31151 2009-02-07  Bruno Haible  <bruno@clisp.org>
31152
31153         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
31154         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
31155         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
31156         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
31157         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
31158         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
31159
31160 2009-02-07  Bruno Haible  <bruno@clisp.org>
31161
31162         Make 64-bit clean.
31163         * lib/unictype/gen-ctype.c (output_predicate, output_category,
31164         output_combclass, output_bidi_category, output_decimal_digit,
31165         output_digit, output_numeric, output_mirror, output_scripts,
31166         output_ident_category): Use proper width specifier in format strings.
31167
31168 2009-02-07  Bruno Haible  <bruno@clisp.org>
31169
31170         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
31171         failure behaviour.
31172
31173 2009-02-07  Jim Meyering  <meyering@redhat.com>
31174
31175         regex: avoid compilation failure with upcoming gcc-4.4
31176         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
31177         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
31178         "... error: integer overflow in preprocessor expression".
31179
31180 2009-02-05  Ben Pfaff  <blp@gnu.org>
31181
31182         Fix link errors on Windows when close module is used.
31183         * modules/close: Add $(LIB_CLOSE) to Link section.
31184         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
31185         $(LIB_CLOSE) on Windows.
31186
31187 2009-02-05  Jim Meyering  <meyering@redhat.com>
31188
31189         still avoid unused-parameter warnings, but do it cleanly
31190         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
31191         (get_fs_usage): Cast to void instead.
31192         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
31193         (dev_from_mount_options, read_file_system_list): Cast to void.
31194         Prompted by Bruno Haible.
31195
31196 2009-02-04  Jim Meyering  <meyering@redhat.com>
31197
31198         fsusage.c: correct copyright year
31199         * lib/fsusage.c: Reflect year in which the change is pushed into
31200
31201         avoid misc. warnings
31202         * lib/fsusage.c (UNUSED_PARAM): Define.
31203         (get_fs_usage): Mark parameter "disk" as unused.
31204         * lib/getugroups.c (getgrent): Use "void" in prototype.
31205         * lib/mountlist.c: Mark unused parameters.
31206         (read_file_system_list): Declare a local with "const".
31207         * lib/nanosleep.c (getnow): Declare static.
31208         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
31209
31210         dirfd: set errno upon failure
31211         * lib/dirfd.c: Include <errno.h>.
31212         Set errno to ENOTSUP when returning -1.
31213         * modules/dirfd (Depends-on): Add errno.
31214         Suggested by John Kodis <kodis@comcast.net>.
31215
31216 2009-02-01  Bruno Haible  <bruno@clisp.org>
31217
31218         Don't assume sizeof (long) >= sizeof (void *).
31219         * lib/memcmp.c: Include stdint.h.
31220         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
31221         srcp2 to 'const byte *'.
31222         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
31223         types to uintptr_t.
31224         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
31225         * modules/memcmp (Depends-on): Add stdint.
31226         Reported by Ozkan Sezer <sezeroz@gmail.com>.
31227
31228 2009-01-30  Eric Blake  <ebb9@byu.net>
31229
31230         fix more require-before-expand issues
31231         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
31232         expand, AC_PROG_AWK.
31233         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
31234
31235 2009-01-28  Eric Blake  <ebb9@byu.net>
31236
31237         version-etc: use consistent URL formatting
31238         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
31239         Improve formatting.  Use fputs for string without %.
31240
31241 2009-01-28  Jim Meyering  <meyering@redhat.com>
31242
31243         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
31244         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
31245         "underquoted definition of NAME" from autoconf-2.59.
31246
31247 2009-01-28  Bruno Haible  <bruno@clisp.org>
31248
31249         * doc/gnulib.texi: Add "Obsolete modules" to index.
31250
31251 2009-01-28  Jim Meyering  <meyering@redhat.com>
31252
31253         useless-if-before-free: recognize more variants
31254         * build-aux/useless-if-before-free: Also recognize e.g.,
31255         if (NULL != p) free (p);
31256
31257 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
31258
31259         test-getaddrinfo: skip (don't fail) this test when there's no network
31260         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
31261         on the presumption that it means you lack network access.
31262
31263 2009-01-26  Jim Meyering  <meyering@redhat.com>
31264
31265         fflush: avoid warnings on modern systems
31266         * lib/fflush.c (rpl_fflush): Move declarations of locals,
31267         pos and result, into scopes where they're used.
31268
31269 2009-01-26  Eric Blake  <ebb9@byu.net>
31270
31271         Silence warning reintroduced by recent extensions patch.
31272         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
31273         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
31274         autoconf.
31275
31276         Backport improved autoconf semantics of AC_DEFUN_ONCE.
31277         * m4/00gnulib.m4: New file.
31278         * gnulib-tool (func_get_filelist): Always use it.
31279         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
31280         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
31281
31282 2009-01-25  Bruno Haible  <bruno@clisp.org>
31283
31284         Make test-quotearg work on MacOS X and AIX.
31285         * tests/test-quotearg.sh: New file.
31286         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
31287         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
31288         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
31289         include <libintl.h>.
31290         (fake_locale): Remove variable.
31291         (gettext, dgettext, dcgettext): Remove functions.
31292         (main): Instead of setting a fake locale, set a real locale. Call
31293         textdomain and bindtextdomain.
31294         * modules/quotearg-tests (Files): Add the new files.
31295         (Depends-on): Add gettext, setenv, unsetenv.
31296         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
31297         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
31298         Augment TESTS_ENVIRONMENT.
31299
31300 2009-01-25  Bruno Haible  <bruno@clisp.org>
31301
31302         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
31303         fr_FR.ISO8859-1 locale on MacOS X.
31304         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
31305         ja_JP.eucJP locale on MacOS X.
31306         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
31307         zh_CN.GB18030 locale on MacOS X.
31308
31309 2009-01-25  Bruno Haible  <bruno@clisp.org>
31310
31311         Avoid link errors on MacOS X 10.3.
31312         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
31313         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
31314
31315 2009-01-25  Bruno Haible  <bruno@clisp.org>
31316
31317         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
31318         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
31319         * modules/pipe (Files): Remove m4/posix_spawn.m4.
31320         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
31321         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
31322         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
31323         posix_spawnattr_init, posix_spawnattr_setsigmask,
31324         posix_spawnattr_setflags, posix_spawnattr_destroy.
31325
31326         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
31327         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
31328         * modules/execute (Files): Remove m4/posix_spawn.m4.
31329         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
31330         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
31331         posix_spawnattr_init, posix_spawnattr_setsigmask,
31332         posix_spawnattr_setflags, posix_spawnattr_destroy.
31333
31334 2009-01-25  Bruno Haible  <bruno@clisp.org>
31335
31336         * lib/glthread/threadlib.c: Include <stdlib.h>.
31337
31338 2009-01-25  Bruno Haible  <bruno@clisp.org>
31339
31340         * lib/glthread/threadlib.c (dummy): New declaration.
31341
31342 2009-01-25  Bruno Haible  <bruno@clisp.org>
31343
31344         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
31345         multibyte characters also for the GB18030 encoding. Don't crash when
31346         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
31347
31348 2009-01-25  Bruno Haible  <bruno@clisp.org>
31349
31350         Avoid redefining 'struct random_data' on OSF/1 5.1.
31351         * lib/stdlib.in.h: Include <random.h> if it exists.
31352         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
31353         HAVE_RANDOM_H. Include <random.h> when testing whether
31354         'struct random_data' exists.
31355         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
31356
31357 2009-01-25  Bruno Haible  <bruno@clisp.org>
31358
31359         Don't install charset.alias on MacOS X >= 10.3.
31360         * lib/localcharset.c (DARWIN7): New macro.
31361         (get_charset_aliases): Hardcode the result for Darwin7.
31362         * modules/localcharset (install-exec-local): Don't install
31363         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
31364
31365 2009-01-25  Bruno Haible  <bruno@clisp.org>
31366
31367         Don't install charset.alias on mingw and Cygwin.
31368         * modules/localcharset (install-exec-local): Don't install
31369         charset.alias on mingw and Cygwin, if the file does not yet exist.
31370         The result for these platforms is hardcoded in localcharset.c.
31371
31372 2009-01-25  Bruno Haible  <bruno@clisp.org>
31373
31374         Make it possible again to use AC_GNU_SOURCE together with gnulib.
31375         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
31376         before requiring AC_USE_SYSTEM_EXTENSIONS.
31377
31378 2009-01-25  Jim Meyering  <meyering@redhat.com>
31379
31380         c-strtod: avoid warnings
31381         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
31382         "assignment discards qualifiers from pointer target type" warnings.
31383
31384 2009-01-24  Bruno Haible  <bruno@clisp.org>
31385
31386         Add support for non-UTF-8 locales on MacOS X.
31387         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
31388         canonical encodings. For Darwin 7 and newer, don't map traditional
31389         encodings to UTF-8.
31390         Reported by Vincent Lefevre <vincent@vinc17.org>
31391         at <http://savannah.gnu.org/bugs/?25235>.
31392
31393 2009-01-24  Bruno Haible  <bruno@clisp.org>
31394
31395         * doc/gnulib.texi (Obsolete modules): New section.
31396         Reported by Mike Frysinger <vapier@gentoo.org>.
31397
31398 2009-01-24  Bruno Haible  <bruno@clisp.org>
31399
31400         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
31401         (%.dvi): New rule.
31402
31403 2009-01-24  Bruno Haible  <bruno@clisp.org>
31404
31405         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
31406         Reported by Eric Blake.
31407
31408 2009-01-24  Bruno Haible  <bruno@clisp.org>
31409
31410         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
31411         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
31412         Reported by Gary V. Vaughan <gary@gnu.org>.
31413
31414 2009-01-24  Bruno Haible  <bruno@clisp.org>
31415
31416         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
31417
31418 2009-01-23  Bruno Haible  <bruno@clisp.org>
31419
31420         Make c-strtod, c-strtold usable in libraries.
31421         * lib/c-strtod.c: Include string.h instead of xalloc.h.
31422         (C_STRTOD): Call strdup instead of xstrdup.
31423         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
31424         * modules/c-strtold (Depends-on): Likewise.
31425         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
31426         * NEWS: Mention the change.
31427         Reported by Michael Gold <mgold@ncf.ca>.
31428
31429 2009-01-23  Jim Meyering  <meyering@redhat.com>
31430
31431         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
31432         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
31433         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
31434
31435 2009-01-23  Simon Josefsson  <simon@josefsson.org>
31436
31437         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
31438         GNU CoreUtils.
31439         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
31440         * modules/version-etc (Description): Update.
31441
31442 2009-01-22  Bruno Haible  <bruno@clisp.org>
31443
31444         Cache the C locale object.
31445         * lib/c-strtod.c (c_locale_cache): New variable.
31446         (c_locale): New function.
31447         (C_STRTOD): Use it, and don't call freelocale.
31448         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
31449         Suggested by Paolo Bonzini.
31450
31451 2009-01-21  Bruno Haible  <bruno@clisp.org>
31452
31453         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
31454         conditions other than overflow.
31455
31456 2009-01-21  Bruno Haible  <bruno@clisp.org>
31457
31458         * lib/c-strtod.c: Include errno.h.
31459         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
31460         value from STRTOD_L and STRTOD.
31461
31462 2009-01-21  Bruno Haible  <bruno@clisp.org>
31463         and Jim Meyering  <meyering@redhat.com>
31464
31465         nanosleep: skip configure test (fail it) for apple universal builds
31466         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
31467         universal builds, assume that nanosleep does not work.
31468         * modules/nanosleep (Depends-on): Add multiarch.
31469
31470         mktime: skip configure test (fail it) for apple universal builds
31471         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
31472         universal builds, assume that mktime does not work.
31473         * modules/mktime (Depends-on): Add multiarch.
31474
31475 2009-01-21  Eric Blake  <ebb9@byu.net>
31476
31477         multiarch: avoid expand-before-require warning
31478         * modules/multiarch (configure.ac): Require, rather than expand,
31479         gl_MULTIARCH.
31480         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
31481         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
31482         enforce that all clients require it.  Partial reversion of
31483         2008-12-29 patch.
31484
31485         error: avoid expand-before-require warning
31486         * modules/errno (configure.ac): Require, rather than expand,
31487         gl_HEADER_ERRNO_H.
31488         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
31489         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
31490         enforce that all clients require it.
31491
31492         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
31493         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
31494         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
31495         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
31496
31497 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
31498
31499         Revert:
31500         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31501
31502         regex: do not depend on obsolete modules.
31503         * modules/regex: Remove memcmp and memmove.
31504
31505 2009-01-20  Bruno Haible  <bruno@clisp.org>
31506
31507         Make the 'link' module link on Windows NT 4.
31508         * lib/link.c (_WIN32_WINNT): Don't define.
31509         (CreateHardLinkFuncType): New type.
31510         (CreateHardLinkFunc, initialized): New variables.
31511         (initialize): New function.
31512         (link): Invoke CreateHardLink indirectly through the function pointer.
31513
31514 2009-01-20  Bruno Haible  <bruno@clisp.org>
31515
31516         Fix compilation failure on mingw.
31517         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
31518
31519 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
31520
31521         * doc/c-strtod.texi: Mention a couple of restrictions.
31522
31523 2009-01-20  Jim Meyering  <meyering@redhat.com>
31524
31525         gettimeofday: move more declarations out of functions
31526         * lib/gettimeofday.c: Move extern declarations of tzset and
31527         gmtime out of containing functions.  Prompted by Bruno Haible.
31528
31529 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31530
31531         regex: do not depend on obsolete modules.
31532         * modules/regex: Remove memcmp and memmove.
31533
31534 2009-01-19  Bruno Haible  <bruno@clisp.org>
31535
31536         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31537         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
31538         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31539         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
31540         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
31541
31542 2009-01-19  Bruno Haible  <bruno@clisp.org>
31543
31544         * tests/test-link.c: Include <errno.h>.
31545         (main): Exit with code 77 when a hard link cannot be created due to
31546         the file system.
31547         * tests/test-link.sh: Skip test when a hard link cannot be created due
31548         to the file system.
31549         Suggested by Eric Blake.
31550
31551 2009-01-19  Martin Lambers  <marlam@marlam.de>
31552
31553         * modules/link-tests: New file.
31554         * tests/test-link.sh: New file.
31555         * tests/test-link.c: New file.
31556
31557 2009-01-19  Eric Blake  <ebb9@byu.net>
31558
31559         doc: mention another function added in cygwin 1.7.0
31560         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
31561         Another new function in cygwin 1.7.
31562
31563 2009-01-19  Bruno Haible  <bruno@clisp.org>
31564
31565         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31566         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
31567         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
31568         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31569         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
31570         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31571         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31572         * m4/md4.m4 (gl_MD4): Likewise.
31573         * m4/md5.m4 (gl_MD5): Likewise.
31574         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
31575         * m4/sha1.m4 (gl_SHA1): Likewise.
31576         * m4/sha256.m4 (gl_SHA256): Likewise.
31577         * m4/sha512.m4 (gl_SHA512): Likewise.
31578
31579 2009-01-19  Bruno Haible  <bruno@clisp.org>
31580
31581         * modules/uniname/uniname-tests (Depends-on): Add progname.
31582         * tests/uniname/test-uninames.c: Include progname.h.
31583         (main): Call set_program_name.
31584
31585         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
31586         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
31587         (main): Call set_program_name.
31588
31589         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
31590         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
31591         (main): Call set_program_name.
31592
31593         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
31594         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
31595         (main): Call set_program_name.
31596
31597         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
31598         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
31599         (main): Call set_program_name.
31600
31601         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
31602         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
31603         (main): Call set_program_name.
31604
31605         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
31606         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
31607         (main): Call set_program_name.
31608
31609         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
31610         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
31611         (main): Call set_program_name.
31612
31613         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
31614         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
31615         (main): Call set_program_name.
31616
31617 2009-01-19  Eric Blake  <ebb9@byu.net>
31618
31619         test-unistd: test previous patch
31620         * tests/test-unistd.c: Test *_FILENO macros.
31621
31622         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
31623         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31624         Guarantee a definition.
31625         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
31626         * modules/unistd-safer (Depends-on): Add dependency on unistd.
31627         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
31628         * lib/dup-safer.c (STDERR_FILENO): Likewise.
31629         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31630         Likewise.
31631         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
31632         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
31633         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31634         Likewise.
31635         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
31636         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
31637         (STDERR_FILENO): Likewise.
31638         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
31639         (STDERR_FILENO): Likewise.
31640         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
31641         (STDERR_FILENO): Likewise.
31642         Reported by Elbert Pol.
31643
31644 2009-01-19  Eric Blake  <ebb9@byu.net>
31645
31646         doc: mention more functions added in cygwin 1.7.0
31647         * doc/posix-functions/abort.texi (abort): Update wording related
31648         to cygwin.
31649         * doc/posix-functions/daylight.texi (daylight): Likewise.
31650         * doc/posix-functions/optarg.texi (optarg): Likewise.
31651         * doc/posix-functions/optarg.texi (opterr): Likewise.
31652         * doc/posix-functions/optarg.texi (optind): Likewise.
31653         * doc/posix-functions/optarg.texi (optopt): Likewise.
31654         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
31655         worked in 1.5.x, and was withdrawn in 1.7.
31656         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
31657         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
31658         cygwin versions.
31659         * doc/posix-functions/perror.texi (perror): Likewise.
31660         * doc/posix-functions/printf.texi (printf): Likewise.
31661         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
31662         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
31663         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
31664         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
31665         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
31666         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
31667         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
31668         Likewise.
31669         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
31670         Likewise.
31671         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
31672         this function.
31673         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
31674         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
31675         Likewise.
31676         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
31677         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
31678         * doc/posix-functions/confstr.texi (confstr): Likewise.
31679         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
31680         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
31681         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
31682         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
31683         * doc/posix-functions/fputws.texi (fputws): Likewise.
31684         * doc/posix-functions/fwide.texi (fwide): Likewise.
31685         * doc/posix-functions/getwc.texi (getwc): Likewise.
31686         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
31687         * doc/posix-functions/putwc.texi (putwc): Likewise.
31688         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
31689         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
31690         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
31691         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
31692         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
31693         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
31694         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
31695         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
31696         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
31697         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
31698         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
31699
31700 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31701
31702         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
31703         * lib/ioctl.c: Include <sys/ioctl.h>.
31704
31705 2009-01-19  Simon Josefsson  <simon@josefsson.org>
31706
31707         * modules/getdate-tests (Depends-on): Add progname.
31708         * tests/test-getdate.c: Use progname module, to avoid link errors
31709         on non-glibc systems.
31710
31711 2009-01-18  Simon Josefsson  <simon@josefsson.org>
31712
31713         * modules/filenamecat-tests (Depends-on): Add progname.
31714         * modules/fstrcmp-tests (Depends-on): Likewise.
31715
31716         * tests/test-filenamecat.c: Use progname module, to avoid link
31717         errors on non-glibc systems.
31718         * tests/test-fstrcmp.c: Likewise.
31719
31720 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31721
31722         gettimeofday: avoid warning: nested extern declaration of 'localtime'
31723         * lib/gettimeofday.c: Move extern declaration out of function.
31724
31725 2009-01-18  Bruno Haible  <bruno@clisp.org>
31726
31727         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
31728         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
31729         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
31730
31731 2009-01-18  Bruno Haible  <bruno@clisp.org>
31732
31733         * lib/strftime.c (MEMPCPY): Remove unused macro.
31734         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
31735
31736 2009-01-18  Martin Lambers  <marlam@marlam.de>
31737
31738         New module 'link'.
31739         * lib/unistd.in.h (link): New declaration.
31740         * lib/link.c: New file.
31741         * m4/link.m4: New file.
31742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
31743         HAVE_LINK.
31744         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
31745         * modules/link: New file.
31746         * doc/posix-functions/link.texi: Mention the new module.
31747
31748 2009-01-18  Bruno Haible  <bruno@clisp.org>
31749
31750         * tests/test-avltree_list.c (main): Call set_program_name.
31751         * tests/test-avltree_oset.c (main): Likewise.
31752         * tests/test-obstack-printf.c: Include progname.h.
31753         (main): Call set_program_name.
31754         * tests/test-quotearg.c: Include progname.h.
31755         (main): Call set_program_name.
31756         * tests/test-xmemdup0.c: Include progname.h.
31757         (main): Call set_program_name.
31758
31759 2009-01-18  Bruno Haible  <bruno@clisp.org>
31760
31761         New module 'alphasort'.
31762         * lib/dirent.in.h (alphasort): New declaration.
31763         * lib/alphasort.c: New file, from glibc with modifications.
31764         * m4/alphasort.m4: New file.
31765         * modules/alphasort: New file.
31766         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
31767         HAVE_ALPHASORT.
31768         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
31769         HAVE_ALPHASORT.
31770         * doc/posix-functions/alphasort.texi: Mention the new module and the
31771         portability problems.
31772
31773 2009-01-18  Bruno Haible  <bruno@clisp.org>
31774
31775         New module 'scandir'.
31776         * lib/dirent.in.h (scandir): New declaration.
31777         * lib/scandir.c: New file, from glibc with modifications.
31778         * m4/scandir.m4: New file.
31779         * modules/scandir: New file.
31780         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
31781         HAVE_SCANDIR.
31782         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
31783         HAVE_SCANDIR.
31784         * doc/posix-functions/scandir.texi: Mention the new module and the
31785         portability problems.
31786
31787 2009-01-17  Bruno Haible  <bruno@clisp.org>
31788
31789         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
31790         Update documentation.
31791         (func_remove_suffix): Escape all dots in the suffix. Update
31792         documentation.
31793         (func_filter_filelist): Update documentation.
31794         Reported by Ralf Wildenhues.
31795
31796 2009-01-17  Bruno Haible  <bruno@clisp.org>
31797
31798         * modules/dprintf-posix-tests: New file.
31799         * tests/test-dprintf-posix.sh: New file.
31800         * tests/test-dprintf-posix.c: New file.
31801
31802         New modules 'dprintf', 'dprintf-posix'.
31803         * lib/stdio.in.h (dprintf): New declaration.
31804         * lib/dprintf.c: New file.
31805         * m4/dprintf.m4: New file.
31806         * m4/dprintf-posix.m4: New file.
31807         * modules/dprintf: New file.
31808         * modules/dprintf-posix: New file.
31809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
31810         HAVE_DPRINTF, REPLACE_DPRINTF.
31811         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
31812         HAVE_DPRINTF, REPLACE_DPRINTF.
31813         * doc/posix-functions/dprintf.texi: Mention the new modules.
31814
31815 2009-01-17  Bruno Haible  <bruno@clisp.org>
31816
31817         * modules/vdprintf-posix-tests: New file.
31818         * tests/test-vdprintf-posix.sh: New file.
31819         * tests/test-vdprintf-posix.c: New file.
31820
31821         New modules 'vdprintf', 'vdprintf-posix'.
31822         * lib/stdio.in.h (vdprintf): New declaration.
31823         * lib/vdprintf.c: New file.
31824         * m4/vdprintf.m4: New file.
31825         * m4/vdprintf-posix.m4: New file.
31826         * modules/vdprintf: New file.
31827         * modules/vdprintf-posix: New file.
31828         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
31829         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31830         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
31831         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31832         * doc/posix-functions/vdprintf.texi: Mention the new modules.
31833
31834 2009-01-17  Bruno Haible  <bruno@clisp.org>
31835
31836         Fix replacement of fopen on mingw.
31837         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
31838         mingw.
31839
31840 2009-01-17  Bruno Haible  <bruno@clisp.org>
31841
31842         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
31843         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
31844
31845 2009-01-17  Bruno Haible  <bruno@clisp.org>
31846
31847         Avoid test-fflush2.sh failure on mingw.
31848         * tests/test-fflush2.c: Include binary-io.h.
31849         (main): Put standard input into binary mode.
31850         * modules/fflush-tests (Depends-on): Add binary-io.
31851
31852 2009-01-17  Bruno Haible  <bruno@clisp.org>
31853
31854         * lib/wchar.in.h: In another particular situation, include only the
31855         system's <wchar.h> file.
31856         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
31857         Reported by Albert Chin-A-Young <china@thewrittenword.com>
31858         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
31859
31860 2009-01-17  Bruno Haible  <bruno@clisp.org>
31861
31862         Support for stripping executables in --enable-relocatable.
31863         * build-aux/install-reloc: Expect one more argument, or an environment
31864         variable RELOC_STRIP_PROG. If set, strip the destination program and
31865         its wrapper.
31866         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
31867         RELOC_STRIP_PROG.
31868         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
31869         to set RELOCATABLE_STRIP.
31870         * NEWS: Mention the new Makefile requirement.
31871
31872 2009-01-17  Bruno Haible  <bruno@clisp.org>
31873
31874         * build-aux/install-reloc: Remove debugging information left over by
31875         C compiler on MacOS X.
31876
31877 2009-01-17  Bruno Haible  <bruno@clisp.org>
31878
31879         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
31880         * lib/progreloc.c (find_executable): Fix type of pointer passed to
31881         _NSGetExecutablePath.
31882
31883 2009-01-16  Jim Meyering  <meyering@redhat.com>
31884
31885         strerror: avoid warnings about discarding "const"
31886         * lib/strerror.c (rpl_strerror): Instead of returning a const
31887         string from each and every "case", use a variable, and add a single
31888         cast after the switch.
31889
31890 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
31891
31892         * lib/arpa_inet.in.h: Add extern "C" block for C++.
31893
31894 2009-01-16  Bruno Haible  <bruno@clisp.org>
31895
31896         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
31897         array initializer syntax that also works in C++ mode.
31898         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31899
31900 2009-01-16  Jim Meyering  <meyering@redhat.com>
31901
31902         poll: suppress a warning
31903         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
31904         to ignore "...unsigned expression < 0 is always false" warnings.
31905
31906 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
31907
31908         poll: remove declarations of unused variables
31909         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
31910         sockbuf and optlen.
31911
31912 2009-01-15  Bruno Haible  <bruno@clisp.org>
31913
31914         Make fflush-after-ungetc POSIX compliant on BSD systems.
31915         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
31916         (clear_ungetc_buffer): Implement also for other systems.
31917         (rpl_fflush): On glibc systems, invoke
31918         clear_ungetc_buffer_preserving_position. Otherwise, invoke
31919         clear_ungetc_buffer after fetching the stream's position, not before.
31920
31921 2009-01-15  Bruno Haible  <bruno@clisp.org>
31922
31923         Make fflush-after-ungetc POSIX compliant on glibc systems.
31924         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
31925         after ungetc.
31926         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
31927         (rpl_fflush): On glibc systems, simply call the system's fflush
31928         function after clearing the ungetc buffer.
31929         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
31930         Instead, lseek only to the end of file, then use the system's fseeko
31931         for the rest. On glibc systems, reset the EOF indicator bit.
31932
31933 2009-01-15  Jim Meyering  <meyering@redhat.com>
31934
31935         openmp.m4: revert quote-adding change, for portability to older autoconf
31936         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
31937         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
31938         Simon Josefsson noticed the problem when using autoconf-2.61.
31939
31940 2009-01-15  Bruno Haible  <bruno@clisp.org>
31941
31942         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
31943         * tests/test-fflush2.c (ASSERT): Always fail.
31944         (main): Add two tests for fflush() after ungetc(), taking into account
31945         the Austin Group's clarification.
31946         Suggested by Eric Blake.
31947
31948 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
31949
31950         mktime.m4: remove K&R-style function prototypes
31951         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
31952         for the Sun C++ compiler.
31953
31954 2009-01-14  Bruno Haible  <bruno@clisp.org>
31955
31956         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
31957         while including <wchar.h>.
31958         * lib/wchar.in.h: In two particular situations on HP-UX, include only
31959         the system's <wchar.h> file.
31960         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31961
31962 2009-01-14  Bruno Haible  <bruno@clisp.org>
31963
31964         * m4/csharp.m4: Don't mention gettext on the serial number line.
31965         * m4/csharpexec.m4: Likewise.
31966         * m4/eaccess.m4: Likewise.
31967         * m4/javaexec.m4: Likewise.
31968         * m4/sig_atomic_t.m4: Likewise.
31969         * m4/tmpdir.m4: Likewise.
31970         * m4/intldir.m4: Bump gettext version.
31971         * m4/lib-ld.m4: Likewise.
31972
31973 2009-01-14  Bruno Haible  <bruno@clisp.org>
31974
31975         * lib/progname.c (set_program_name): Add more comments.
31976         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
31977
31978 2009-01-14  Simon Josefsson  <simon@josefsson.org>
31979
31980         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
31981         were sys/stat.h does not define it.
31982
31983 2009-01-14  Jim Meyering  <meyering@redhat.com>
31984
31985         many *.m4 files: improve m4 quoting
31986         99% of this change was performed by running the following commands:
31987         git ls-files | grep '\.m4$' | xargs perl -pi \
31988           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
31989           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
31990           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
31991           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
31992         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
31993         The remainder were to add Copyright dates, increment serial numbers,
31994         undo some changes in comments, exclude m4/intl.m4, and add quotes
31995         around the "1" in ",1" where the unusual spacing prohibited the
31996         above regexps from doing the job.  For more details, see
31997         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
31998         * m4/acl.m4: Modified.
31999         * m4/afs.m4: Likewise.
32000         * m4/alloca.m4: Likewise.
32001         * m4/argp.m4: Likewise.
32002         * m4/argz.m4: Likewise.
32003         * m4/atexit.m4: Likewise.
32004         * m4/bison-i18n.m4: Likewise.
32005         * m4/bison.m4: Likewise.
32006         * m4/byteswap.m4: Likewise.
32007         * m4/c-stack.m4: Likewise.
32008         * m4/c-strtod.m4: Likewise.
32009         * m4/calloc.m4: Likewise.
32010         * m4/canonicalize-lgpl.m4: Likewise.
32011         * m4/chown.m4: Likewise.
32012         * m4/clock_time.m4: Likewise.
32013         * m4/codeset.m4: Likewise.
32014         * m4/copy-file.m4: Likewise.
32015         * m4/csharp.m4: Likewise.
32016         * m4/csharpcomp.m4: Likewise.
32017         * m4/csharpexec.m4: Likewise.
32018         * m4/d-ino.m4: Likewise.
32019         * m4/d-type.m4: Likewise.
32020         * m4/dirfd.m4: Likewise.
32021         * m4/double-slash-root.m4: Likewise.
32022         * m4/eaccess.m4: Likewise.
32023         * m4/eealloc.m4: Likewise.
32024         * m4/environ.m4: Likewise.
32025         * m4/errno_h.m4: Likewise.
32026         * m4/euidaccess.m4: Likewise.
32027         * m4/execute.m4: Likewise.
32028         * m4/fatal-signal.m4: Likewise.
32029         * m4/fchdir.m4: Likewise.
32030         * m4/fcntl_h.m4: Likewise.
32031         * m4/fileblocks.m4: Likewise.
32032         * m4/filenamecat.m4: Likewise.
32033         * m4/findprog.m4: Likewise.
32034         * m4/flexmember.m4: Likewise.
32035         * m4/fnmatch.m4: Likewise.
32036         * m4/fopen.m4: Likewise.
32037         * m4/fpending.m4: Likewise.
32038         * m4/fprintf-posix.m4: Likewise.
32039         * m4/free.m4: Likewise.
32040         * m4/frexp.m4: Likewise.
32041         * m4/frexpl.m4: Likewise.
32042         * m4/fsusage.m4: Likewise.
32043         * m4/ftruncate.m4: Likewise.
32044         * m4/gc-camellia.m4: Likewise.
32045         * m4/gc-random.m4: Likewise.
32046         * m4/gc.m4: Likewise.
32047         * m4/getaddrinfo.m4: Likewise.
32048         * m4/getcwd-abort-bug.m4: Likewise.
32049         * m4/getcwd-path-max.m4: Likewise.
32050         * m4/getdate.m4: Likewise.
32051         * m4/getdomainname.m4: Likewise.
32052         * m4/getgroups.m4: Likewise.
32053         * m4/gethostname.m4: Likewise.
32054         * m4/gethrxtime.m4: Likewise.
32055         * m4/getline.m4: Likewise.
32056         * m4/getloadavg.m4: Likewise.
32057         * m4/getndelim2.m4: Likewise.
32058         * m4/getpass.m4: Likewise.
32059         * m4/gettext.m4: Likewise.
32060         * m4/gettime.m4: Likewise.
32061         * m4/gettimeofday.m4: Likewise.
32062         * m4/gnulib-common.m4: Likewise.
32063         * m4/group-member.m4: Likewise.
32064         * m4/host-os.m4: Likewise.
32065         * m4/iconv.m4: Likewise.
32066         * m4/iconv_open.m4: Likewise.
32067         * m4/inet_ntop.m4: Likewise.
32068         * m4/inet_pton.m4: Likewise.
32069         * m4/inline.m4: Likewise.
32070         * m4/intldir.m4: Likewise.
32071         * m4/intlmacosx.m4: Likewise.
32072         * m4/intmax.m4: Likewise.
32073         * m4/intmax_t.m4: Likewise.
32074         * m4/inttypes.m4: Likewise.
32075         * m4/inttypes_h.m4: Likewise.
32076         * m4/inttypes-pri.m4: Likewise.
32077         * m4/isapipe.m4: Likewise.
32078         * m4/isnand.m4: Likewise.
32079         * m4/isnanf.m4: Likewise.
32080         * m4/isnanl.m4: Likewise.
32081         * m4/javacomp.m4: Likewise.
32082         * m4/javaexec.m4: Likewise.
32083         * m4/jm-winsz1.m4: Likewise.
32084         * m4/jm-winsz2.m4: Likewise.
32085         * m4/lchown.m4: Likewise.
32086         * m4/lcmessage.m4: Likewise.
32087         * m4/ldexpl.m4: Likewise.
32088         * m4/lib-ld.m4: Likewise.
32089         * m4/lib-link.m4: Likewise.
32090         * m4/libsigsegv.m4: Likewise.
32091         * m4/link-follow.m4: Likewise.
32092         * m4/localcharset.m4: Likewise.
32093         * m4/locale-fr.m4: Likewise.
32094         * m4/locale-ja.m4: Likewise.
32095         * m4/locale-tr.m4: Likewise.
32096         * m4/locale-zh.m4: Likewise.
32097         * m4/lock.m4: Likewise.
32098         * m4/longlong.m4: Likewise.
32099         * m4/ls-mntd-fs.m4: Likewise.
32100         * m4/lstat.m4: Likewise.
32101         * m4/malloc.m4: Likewise.
32102         * m4/mathl.m4: Likewise.
32103         * m4/mbrtowc.m4: Likewise.
32104         * m4/mbstate_t.m4: Likewise.
32105         * m4/mbswidth.m4: Likewise.
32106         * m4/memchr.m4: Likewise.
32107         * m4/memcmp.m4: Likewise.
32108         * m4/memcpy.m4: Likewise.
32109         * m4/memmem.m4: Likewise.
32110         * m4/memmove.m4: Likewise.
32111         * m4/mempcpy.m4: Likewise.
32112         * m4/memrchr.m4: Likewise.
32113         * m4/memset.m4: Likewise.
32114         * m4/minmax.m4: Likewise.
32115         * m4/mkdir-slash.m4: Likewise.
32116         * m4/mkdtemp.m4: Likewise.
32117         * m4/mktime.m4: Likewise.
32118         * m4/mmap-anon.m4: Likewise.
32119         * m4/mountlist.m4: Likewise.
32120         * m4/nanosleep.m4: Likewise.
32121         * m4/nls.m4: Likewise.
32122         * m4/nocrash.m4: Likewise.
32123         * m4/open.m4: Likewise.
32124         * m4/openat.m4: Likewise.
32125         * m4/openmp.m4: Likewise.
32126         * m4/pathmax.m4: Likewise.
32127         * m4/perl.m4: Likewise.
32128         * m4/physmem.m4: Likewise.
32129         * m4/pipe.m4: Likewise.
32130         * m4/po.m4: Likewise.
32131         * m4/poll.m4: Likewise.
32132         * m4/posixtm.m4: Likewise.
32133         * m4/posixver.m4: Likewise.
32134         * m4/printf-frexp.m4: Likewise.
32135         * m4/printf-frexpl.m4: Likewise.
32136         * m4/printf-posix.m4: Likewise.
32137         * m4/printf-posix-rpl.m4: Likewise.
32138         * m4/printf.m4: Likewise.
32139         * m4/progtest.m4: Likewise.
32140         * m4/putenv.m4: Likewise.
32141         * m4/readline.m4: Likewise.
32142         * m4/readlink.m4: Likewise.
32143         * m4/readutmp.m4: Likewise.
32144         * m4/realloc.m4: Likewise.
32145         * m4/regex.m4: Likewise.
32146         * m4/relocatable.m4: Likewise.
32147         * m4/relocatable-lib.m4: Likewise.
32148         * m4/rename-dest-slash.m4: Likewise.
32149         * m4/rename.m4: Likewise.
32150         * m4/rmdir-errno.m4: Likewise.
32151         * m4/rmdir.m4: Likewise.
32152         * m4/roundf.m4: Likewise.
32153         * m4/roundl.m4: Likewise.
32154         * m4/rpmatch.m4: Likewise.
32155         * m4/save-cwd.m4: Likewise.
32156         * m4/selinux-selinux-h.m4: Likewise.
32157         * m4/setenv.m4: Likewise.
32158         * m4/settime.m4: Likewise.
32159         * m4/sig2str.m4: Likewise.
32160         * m4/sig_atomic_t.m4: Likewise.
32161         * m4/signalblocking.m4: Likewise.
32162         * m4/signbit.m4: Likewise.
32163         * m4/sigpipe.m4: Likewise.
32164         * m4/sockets.m4: Likewise.
32165         * m4/sockpfaf.m4: Likewise.
32166         * m4/st_dm_mode.m4: Likewise.
32167         * m4/stat-time.m4: Likewise.
32168         * m4/stdbool.m4: Likewise.
32169         * m4/stdint.m4: Likewise.
32170         * m4/stdint_h.m4: Likewise.
32171         * m4/stpcpy.m4: Likewise.
32172         * m4/stpncpy.m4: Likewise.
32173         * m4/strcase.m4: Likewise.
32174         * m4/strchrnul.m4: Likewise.
32175         * m4/strcspn.m4: Likewise.
32176         * m4/strdup.m4: Likewise.
32177         * m4/strftime.m4: Likewise.
32178         * m4/strndup.m4: Likewise.
32179         * m4/strnlen.m4: Likewise.
32180         * m4/strpbrk.m4: Likewise.
32181         * m4/strptime.m4: Likewise.
32182         * m4/strsep.m4: Likewise.
32183         * m4/strtod.m4: Likewise.
32184         * m4/strtoimax.m4: Likewise.
32185         * m4/strtok_r.m4: Likewise.
32186         * m4/strtol.m4: Likewise.
32187         * m4/strtoll.m4: Likewise.
32188         * m4/strtoul.m4: Likewise.
32189         * m4/strtoull.m4: Likewise.
32190         * m4/strtoumax.m4: Likewise.
32191         * m4/strverscmp.m4: Likewise.
32192         * m4/threadlib.m4: Likewise.
32193         * m4/timegm.m4: Likewise.
32194         * m4/tm_gmtoff.m4: Likewise.
32195         * m4/tmpdir.m4: Likewise.
32196         * m4/tmpfile.m4: Likewise.
32197         * m4/tzset.m4: Likewise.
32198         * m4/uintmax_t.m4: Likewise.
32199         * m4/unlinkdir.m4: Likewise.
32200         * m4/unlocked-io.m4: Likewise.
32201         * m4/uptime.m4: Likewise.
32202         * m4/userspec.m4: Likewise.
32203         * m4/utimbuf.m4: Likewise.
32204         * m4/utime.m4: Likewise.
32205         * m4/utimes-null.m4: Likewise.
32206         * m4/utimes.m4: Likewise.
32207         * m4/vararrays.m4: Likewise.
32208         * m4/vasnprintf.m4: Likewise.
32209         * m4/vfprintf-posix.m4: Likewise.
32210         * m4/vprintf-posix.m4: Likewise.
32211         * m4/wait-process.m4: Likewise.
32212         * m4/wchar_t.m4: Likewise.
32213         * m4/wint_t.m4: Likewise.
32214         * m4/write-any-file.m4: Likewise.
32215         * m4/yield.m4: Likewise.
32216
32217 2009-01-13  Bruno Haible  <bruno@clisp.org>
32218
32219         Avoid test-copy-file.sh failures when ACL support insufficient.
32220         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
32221         TESTS_ENVIRONMENT.
32222         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
32223         Reported by Jim Meyering.
32224
32225 2009-01-13  Bruno Haible  <bruno@clisp.org>
32226
32227         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
32228         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
32229         * modules/unistdio/u8-printf-parse (Files): Likewise.
32230         * modules/unistdio/u32-printf-parse (Files): Likewise.
32231         * modules/unistdio/ulc-printf-parse (Files): Likewise.
32232
32233 2009-01-13  Simon Josefsson  <simon@josefsson.org>
32234
32235         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
32236         and m4/inttypes_h.m4 too.
32237
32238 2009-01-12  Eric Blake  <ebb9@byu.net>
32239
32240         tests: IRIX 6.2 cc can't compile -0.0 into .data
32241         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
32242         rather than at compile-time.
32243         * tests/test-floorl.c (minus_zero): Likewise.
32244         * tests/test-frexpl.c (minus_zero): Likewise.
32245         * tests/test-isnan.c (minus_zerol): Likewise.
32246         * tests/test-isnanl.h (minus_zero): Likewise.
32247         * tests/test-ldexpl.c (minus_zero): Likewise.
32248         * tests/test-roundl.c (minus_zero): Likewise.
32249         * tests/test-signbit.c (minus_zerol): Likewise.
32250         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
32251         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
32252         * tests/test-truncl.c (minus_zero): Likewise.
32253         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
32254         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
32255         Reported by Tom G. Christensen and Nelson H. F. Beebe.
32256
32257 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32258
32259         regex: fix glibc bug 9697
32260         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
32261         handling.
32262
32263 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32264
32265         regex: fix glibc bug 697
32266         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
32267         being NULL also if there are no backreferences.
32268
32269 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32270
32271         regex: merge glibc changes
32272         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
32273         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
32274         re_string_skip_chars, re_string_reconstruct): Likewise.
32275         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
32276
32277 2009-01-07  Jim Meyering  <meyering@redhat.com>
32278
32279         poll: filter through cppi
32280         * lib/poll.c: Indent cpp directives to reflect nesting.
32281
32282 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
32283
32284         poll: don't return uninitialized
32285         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
32286
32287 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
32288
32289         avoid compile failure on AIX 6.1
32290         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
32291         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
32292
32293 2009-01-04  Jim Meyering  <meyering@redhat.com>
32294
32295         remove duplicate inclusion of <stdio.h>
32296         * tests/test-fprintf-posix.c: Likewise.
32297         * tests/test-printf-posix.c: Likewise.
32298         * tests/test-snprintf-posix.c: Likewise.
32299         * tests/test-sprintf-posix.c: Likewise.
32300         * tests/test-vasprintf-posix.c: Likewise.
32301         * tests/test-vfprintf-posix.c: Likewise.
32302         * tests/test-vprintf-posix.c: Likewise.
32303         * tests/test-vsnprintf-posix.c: Likewise.
32304         * tests/test-vsprintf-posix.c: Likewise.
32305
32306 2009-01-03  Jim Meyering  <meyering@redhat.com>
32307
32308         gnulib-tool: fix sed-based filtering
32309         * gnulib-tool (func_filter_filelist): Remove extra backslash
32310         in sed_fff_filter definition.
32311
32312 2009-01-02  Jim Meyering  <meyering@redhat.com>
32313
32314         strftime: avoid compilation failure on Solaris 2.6
32315         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
32316         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
32317         Don't #define mbrlen or mbsinit, since now they're guaranteed to
32318         be available.  Reported by Tom G. Christensen.  Details in
32319         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
32320
32321 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32322             Bruno Haible  <bruno@clisp.org>
32323
32324         Speed up gnulib-tool by doing more string processing through shell
32325         built-ins.
32326         * gnulib-tool (fast_func_append): New variable.
32327         (func_remove_prefix, func_remove_suffix): New functions.
32328         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
32329         (func_filter_filelist): New function.
32330         (func_get_dependencies): Use func_remove_suffix instead of sed.
32331         (func_get_automake_snippet): Use func_filter_filelist instead of a
32332         subshell and sed invocation.
32333
32334 2009-01-01  Bruno Haible  <bruno@clisp.org>
32335
32336         Fix a security bug.
32337         * gnulib-tool (func_import, import, update): Don't allow the characters
32338         '"', '$', '`', '\' in macro arguments that become part of commands that
32339         are evaluated.
32340
32341 2009-01-01  Bruno Haible  <bruno@clisp.org>
32342
32343         * gnulib-tool (func_reset_sigpipe): Add more comments.
32344
32345 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32346
32347         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
32348         func_emit_tests_Makefile_am, func_import): Abort loops early if we
32349         already know the answer.
32350
32351 2009-01-01  Jim Meyering  <meyering@redhat.com>
32352
32353         * lib/version-etc.c (version_etc_va): Update copyright year.
32354
32355 2008-12-30  Bruno Haible  <bruno@clisp.org>
32356
32357         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
32358         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
32359         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
32360
32361 2008-12-29  Eric Blake  <ebb9@byu.net>
32362
32363         multiarch: avoid autoconf AC_REQUIRE bug
32364         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
32365         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
32366         2.63 and older.
32367         Reported by Bruno Haible, and analyzed in
32368         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
32369
32370 2008-12-29  Bruno Haible  <bruno@clisp.org>
32371
32372         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
32373         files in subdirectories correctly.
32374         Reported by Ralf Wildenhues.
32375
32376 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32377
32378         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
32379         rather than 'join FILE -', for Solaris join.
32380
32381 2008-12-29  Bruno Haible  <bruno@clisp.org>
32382
32383         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
32384         quoting.
32385         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
32386         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
32387         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
32388         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
32389         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
32390         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
32391         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
32392         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
32393         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
32394         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
32395         * m4/nls.m4 (AM_NLS): Likewise.
32396         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
32397         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
32398         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
32399         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
32400         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
32401         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
32402         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
32403         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
32404         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
32405         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
32406         * m4/xsize.m4 (gl_XSIZE): Likewise.
32407         Suggested by Jim Meyering.
32408
32409 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32410
32411         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
32412         * lib/parse-duration.c: use a switch instead of cascading if's.
32413
32414 2008-12-29  Eric Blake  <ebb9@byu.net>
32415
32416         wchar.h: supply WEOF on Irix 5.3
32417         * lib/wchar.in.h (wint_t): Also supply WEOF.
32418         * lib/wctype.in.h (wint_t): Likewise.
32419         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
32420         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
32421         Reported by Tom G. Christensen.
32422
32423 2008-12-26  Bruno Haible  <bruno@clisp.org>
32424
32425         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
32426         i486, i586, i686.
32427
32428 2008-12-26  Bruno Haible  <bruno@clisp.org>
32429
32430         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
32431
32432 2008-12-26  Bruno Haible  <bruno@clisp.org>
32433
32434         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
32435         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
32436         not __STDC_CONSTANT_MACROS.
32437         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
32438
32439 2008-12-25  Bruno Haible  <bruno@clisp.org>
32440
32441         Add support for universal builds to vasnprintf.
32442         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
32443         universal builds, guess no.
32444         * modules/vasnprintf-posix (Depends-on): Add multiarch.
32445         * modules/vasprintf-posix (Depends-on): Likewise.
32446         * modules/fprintf-posix (Depends-on): Likewise.
32447         * modules/vfprintf-posix (Depends-on): Likewise.
32448         * modules/snprintf-posix (Depends-on): Likewise.
32449         * modules/vsnprintf-posix (Depends-on): Likewise.
32450         * modules/sprintf-posix (Depends-on): Likewise.
32451         * modules/vsprintf-posix (Depends-on): Likewise.
32452         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32453         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32454         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32455         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32456         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32457         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32458         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32459
32460         Add support for universal builds to <inttypes.h>.
32461         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
32462         _SCNu64_PREFIX): In Apple
32463         universal builds, define directly, using _LP64.
32464         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
32465         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
32466         * modules/inttypes (Depends-on): Add multiarch.
32467         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32468
32469         Add support for universal builds to <stdint.h>.
32470         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
32471         universal builds, define directly, using _LP64.
32472         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
32473         Apple universal builds, don't test for the size and suffix of ptrdiff_t
32474         and size_t.
32475         * modules/stdint (Depends-on): Add multiarch.
32476         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32477
32478         New module 'multiarch'.
32479         * modules/multiarch: New file.
32480         * m4/multiarch.m4: New file.
32481
32482 2008-12-25  Bruno Haible  <bruno@clisp.org>
32483
32484         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
32485
32486 2008-12-25  Bruno Haible  <bruno@clisp.org>
32487
32488         * modules/btowc (License): Relicense under LGPLv2+.
32489         * modules/mbsinit (License): Likewise.
32490         * modules/mbrtowc (License): Likewise.
32491         * modules/wcrtomb (License): Likewise.
32492         * modules/streq (License): Likewise.
32493         Reported by David Lutterkort <lutter@redhat.com>.
32494
32495 2008-12-23  Bruno Haible  <bruno@clisp.org>
32496
32497         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
32498
32499 2008-12-23  Bruno Haible  <bruno@clisp.org>
32500
32501         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
32502         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
32503         GETADDRINFO_LIB, not in LIBS.
32504         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
32505         * modules/canon-host (Link): Likewise.
32506         * NEWS: Mention the change.
32507         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
32508         GETADDRINFO_LIB.
32509
32510 2008-12-22  Bruno Haible  <bruno@clisp.org>
32511
32512         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
32513         * doc/posix-functions/iswalpha_l.texi: Likewise.
32514         * doc/posix-functions/iswblank_l.texi: Likewise.
32515         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32516         * doc/posix-functions/iswctype_l.texi: Likewise.
32517         * doc/posix-functions/iswdigit_l.texi: Likewise.
32518         * doc/posix-functions/iswgraph_l.texi: Likewise.
32519         * doc/posix-functions/iswlower_l.texi: Likewise.
32520         * doc/posix-functions/iswprint_l.texi: Likewise.
32521         * doc/posix-functions/iswpunct_l.texi: Likewise.
32522         * doc/posix-functions/iswspace_l.texi: Likewise.
32523         * doc/posix-functions/iswupper_l.texi: Likewise.
32524         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32525         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
32526         * doc/posix-functions/open_wmemstream.texi: Likewise.
32527         * doc/posix-functions/swscanf.texi: Likewise.
32528         * doc/posix-functions/towctrans_l.texi: Likewise.
32529         * doc/posix-functions/towlower.texi: Likewise.
32530         * doc/posix-functions/towlower_l.texi: Likewise.
32531         * doc/posix-functions/towupper.texi: Likewise.
32532         * doc/posix-functions/towupper_l.texi: Likewise.
32533         * doc/posix-functions/vfwprintf.texi: Likewise.
32534         * doc/posix-functions/vfwscanf.texi: Likewise.
32535         * doc/posix-functions/vswscanf.texi: Likewise.
32536         * doc/posix-functions/vwprintf.texi: Likewise.
32537         * doc/posix-functions/vwscanf.texi: Likewise.
32538         * doc/posix-functions/wcpcpy.texi: Likewise.
32539         * doc/posix-functions/wcpncpy.texi: Likewise.
32540         * doc/posix-functions/wcscasecmp.texi: Likewise.
32541         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
32542         * doc/posix-functions/wcscoll_l.texi: Likewise.
32543         * doc/posix-functions/wcsdup.texi: Likewise.
32544         * doc/posix-functions/wcsncasecmp.texi: Likewise.
32545         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
32546         * doc/posix-functions/wcsnlen.texi: Likewise.
32547         * doc/posix-functions/wcsnrtombs.texi: Likewise.
32548         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32549         * doc/posix-functions/wctrans_l.texi: Likewise.
32550         * doc/posix-functions/wctype_l.texi: Likewise.
32551         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
32552         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
32553         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
32554         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
32555         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
32556         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
32557         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
32558         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
32559         * doc/glibc-functions/wcschrnul.texi: Likewise.
32560         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32561         * doc/glibc-functions/wcstod_l.texi: Likewise.
32562         * doc/glibc-functions/wcstof_l.texi: Likewise.
32563         * doc/glibc-functions/wcstol_l.texi: Likewise.
32564         * doc/glibc-functions/wcstold_l.texi: Likewise.
32565         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32566         * doc/glibc-functions/wcstoq.texi: Likewise.
32567         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32568         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32569         * doc/glibc-functions/wcstouq.texi: Likewise.
32570         * doc/glibc-functions/wmempcpy.texi: Likewise.
32571
32572 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
32573             Eric Blake  <ebb9@byu.net>
32574             Paolo Bonzini  <bonzini@gnu.org>
32575             Bruno Haible  <bruno@clisp.org>
32576
32577         Make c-stack work on Haiku.
32578         * lib/c-stack.c (SA_ONSTACK): Define fallback.
32579         (c_stack_action): Use SA_ONSTACK flag.
32580
32581 2008-12-22  Bruno Haible  <bruno@clisp.org>
32582
32583         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
32584
32585 2008-12-22  Bruno Haible  <bruno@clisp.org>
32586
32587         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
32588         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
32589         being overridden.
32590         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
32591         New macros.
32592         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
32593         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
32594         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
32595         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
32596
32597 2008-12-22  Bruno Haible  <bruno@clisp.org>
32598
32599         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
32600         from test code.
32601
32602 2008-12-22  Eric Blake  <ebb9@byu.net>
32603
32604         Avoid gcc warnings on cygwin.
32605         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
32606         Avoid unused variable.
32607         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
32608         Likewise.
32609
32610 2008-12-22  Bruno Haible  <bruno@clisp.org>
32611
32612         Remove HAVE_MBRTOWC conditionals.
32613         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
32614         (mbscasecmp): Assume mbrtowc function.
32615         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
32616         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
32617         * lib/mbschr.c: Include mbuiter.h unconditionally.
32618         (mbschr): Assume mbrtowc function.
32619         * lib/mbscspn.c: Include mbuiter.h unconditionally.
32620         (mbscspn): Assume mbrtowc function.
32621         * lib/mbslen.c: Include mbuiter.h unconditionally.
32622         (mbslen): Assume mbrtowc function.
32623         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
32624         (mbsncasecmp): Assume mbrtowc function.
32625         * lib/mbsnlen.c: Include mbiter.h unconditionally.
32626         (mbsnlen): Assume mbrtowc function.
32627         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
32628         (mbspbrk): Assume mbrtowc function.
32629         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
32630         (mbspcasecmp): Assume mbrtowc function.
32631         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
32632         (mbsrchr): Assume mbrtowc function.
32633         * lib/mbssep.c: Include mbuiter.h unconditionally.
32634         (mbssep): Assume mbrtowc function.
32635         * lib/mbsspn.c: Include mbuiter.h unconditionally.
32636         (mbsspn): Assume mbrtowc function.
32637         * lib/mbsstr.c: Include mbuiter.h unconditionally.
32638         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
32639         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
32640         (mbstok_r): Assume mbrtowc function.
32641         * lib/propername.c: Include mbuiter.h unconditionally.
32642         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
32643         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
32644         (trim2): Assume mbrtowc function.
32645         * lib/mbswidth.c (mbsinit): Remove fallback definition.
32646         (mbsnwidth): Assume mbrtowc function.
32647         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
32648         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
32649         fallback definitions.
32650         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
32651
32652 2008-12-22  Bruno Haible  <bruno@clisp.org>
32653
32654         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
32655
32656 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
32657
32658         * modules/regex: Request emulations for the mb*/wc* functions we need.
32659         * m4/regex.m4: Don't look for those functions here.
32660         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
32661
32662 2008-12-22  Bruno Haible  <bruno@clisp.org>
32663
32664         * modules/fnmatch (Depends-on): Remove duplicated dependency.
32665
32666 2008-12-21  Bruno Haible  <bruno@clisp.org>
32667
32668         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
32669         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
32670         (Include): Remove conditionalization.
32671         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
32672         (Include): Remove conditionalization.
32673         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
32674         (Include): Remove conditionalization.
32675         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
32676         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32677         * NEWS: Mention the change.
32678         Reported by Alan Hourihane <alanh@fairlite.co.uk>
32679         via Sergey Poznyakoff <gray@gnu.org.ua>.
32680
32681 2008-12-21  Bruno Haible  <bruno@clisp.org>
32682
32683         * MODULES.html.sh (Extended multibyte and wide character utilities
32684         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
32685         wcrtomb, wcsrtombs.
32686         (Support for systems lacking POSIX:2008): Add accept, bind, close,
32687         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
32688         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
32689         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
32690
32691 2008-12-21  Bruno Haible  <bruno@clisp.org>
32692
32693         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
32694
32695 2008-12-21  Bruno Haible  <bruno@clisp.org>
32696
32697         * modules/wcsnrtombs-tests: New file.
32698         * tests/test-wcsnrtombs1.sh: New file.
32699         * tests/test-wcsnrtombs2.sh: New file.
32700         * tests/test-wcsnrtombs3.sh: New file.
32701         * tests/test-wcsnrtombs4.sh: New file.
32702         * tests/test-wcsnrtombs.c: New file.
32703
32704         New module 'wcsnrtombs'.
32705         * lib/wchar.in.h (wcsnrtombs): New declaration.
32706         * lib/wcsnrtombs.c: New file.
32707         * lib/wcsrtombs-state.c: New file.
32708         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
32709         (internal_state): Remove variable.
32710         * m4/wcsnrtombs.m4: New file.
32711         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
32712         compilation units.
32713         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
32714         HAVE_WCSNRTOMBS.
32715         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
32716         HAVE_WCSNRTOMBS.
32717         * modules/wcsnrtombs: New file.
32718         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
32719         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
32720
32721 2008-12-21  Bruno Haible  <bruno@clisp.org>
32722
32723         * modules/wcsrtombs-tests: New file.
32724         * tests/test-wcsrtombs1.sh: New file.
32725         * tests/test-wcsrtombs2.sh: New file.
32726         * tests/test-wcsrtombs3.sh: New file.
32727         * tests/test-wcsrtombs4.sh: New file.
32728         * tests/test-wcsrtombs.c: New file.
32729
32730         New module 'wcsrtombs'.
32731         * lib/wchar.in.h (wcsrtombs): New declaration.
32732         * lib/wcsrtombs.c: New file.
32733         * m4/wcsrtombs.m4: New file.
32734         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
32735         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32736         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
32737         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32738         * modules/wcsrtombs: New file.
32739         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
32740         bugs.
32741
32742 2008-12-21  Bruno Haible  <bruno@clisp.org>
32743
32744         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
32745         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
32746         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
32747         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
32748         if not correct.
32749         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
32750         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
32751         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32752         m4/locale-zh.m4, m4/codeset.m4.
32753         * doc/posix-functions/wcrtomb.texi: Document the bug.
32754
32755 2008-12-21  Bruno Haible  <bruno@clisp.org>
32756
32757         Work around a btowc() bug on IRIX 6.5.
32758         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
32759         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
32760         REPLACE_WTOBC if not.
32761         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
32762         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
32763         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
32764
32765 2008-12-21  Bruno Haible  <bruno@clisp.org>
32766
32767         * modules/wcrtomb-tests: New file.
32768         * tests/test-wcrtomb.sh: New file.
32769         * tests/test-wcrtomb.c: New file.
32770
32771         New module 'wcrtomb'.
32772         * lib/wchar.in.h (wcrtomb): New declaration.
32773         * lib/wcrtomb.c: New file.
32774         * m4/wcrtomb.m4: New file.
32775         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
32776         HAVE_WCRTOMB.
32777         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
32778         HAVE_WCRTOMB.
32779         * modules/wcrtomb: New file.
32780         * doc/posix-functions/wcrtomb.texi: Mention the new module.
32781
32782 2008-12-21  Bruno Haible  <bruno@clisp.org>
32783
32784         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
32785         * modules/mbsrtowcs (Files): Likewise.
32786         * modules/wctob (Files): Likewise.
32787         * modules/c-strcase-tests (Files): Likewise.
32788         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
32789         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
32790         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32791         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32792         * modules/vasnprintf-posix-tests (Files): Likewise.
32793
32794 2008-12-21  William Pursell  <bill.pursell@gmail.com>
32795
32796         gitlog-to-changelog: pass all command-line arguments to git-log
32797         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
32798         it is sometimes convenient to filter the commits in various ways.
32799         gitlog-to-changelog only allows --since to specify a start date,
32800         but git-log itself supports many other filtering mechanisms.
32801         At the moment, I want to filter by branch name.  Rather than
32802         adding a --branch option to gitlog-to-changelog, it seems more
32803         flexible to simply pass all options directly to git-log and let
32804         git do the work.  Notice that this effectively makes --since a
32805         redundant option for gitlog-to-changelog, but removing it would
32806         require current usage to change since calls would then require
32807         an additional '--'.
32808
32809 2008-12-21  Bruno Haible  <bruno@clisp.org>
32810
32811         * modules/mbsnrtowcs-tests: New file.
32812         * tests/test-mbsnrtowcs1.sh: New file.
32813         * tests/test-mbsnrtowcs2.sh: New file.
32814         * tests/test-mbsnrtowcs3.sh: New file.
32815         * tests/test-mbsnrtowcs4.sh: New file.
32816         * tests/test-mbsnrtowcs.c: New file.
32817
32818         New module 'mbsnrtowcs'.
32819         * lib/wchar.in.h (mbsnrtowcs): New declaration.
32820         * lib/mbsnrtowcs.c: New file.
32821         * lib/mbsrtowcs-state.c: New file.
32822         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
32823         (internal_state): Remove variable.
32824         * m4/mbsnrtowcs.m4: New file.
32825         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
32826         compilation units.
32827         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
32828         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32829         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
32830         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32831         * modules/mbsnrtowcs: New file.
32832         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
32833         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
32834         portability problem.
32835
32836 2008-12-21  Bruno Haible  <bruno@clisp.org>
32837
32838         Work around mbsrtowcs bug.
32839         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
32840         (gl_FUNC_MBSRTOWCS): Invoke it.
32841         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32842         m4/locale-zh.m4.
32843         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
32844
32845 2008-12-21  Bruno Haible  <bruno@clisp.org>
32846
32847         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
32848
32849 2008-12-21  Bruno Haible  <bruno@clisp.org>
32850
32851         Update doc for AIX.
32852         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
32853         16-bit wchar_t type.
32854         * doc/posix-functions/btowc.texi: Likewise.
32855         * doc/posix-functions/fgetwc.texi: Likewise.
32856         * doc/posix-functions/fgetws.texi: Likewise.
32857         * doc/posix-functions/fputwc.texi: Likewise.
32858         * doc/posix-functions/fputws.texi: Likewise.
32859         * doc/posix-functions/fwide.texi: Likewise.
32860         * doc/posix-functions/fwprintf.texi: Likewise.
32861         * doc/posix-functions/fwscanf.texi: Likewise.
32862         * doc/posix-functions/getwchar.texi: Likewise.
32863         * doc/posix-functions/getwc.texi: Likewise.
32864         * doc/posix-functions/iswalnum.texi: Likewise.
32865         * doc/posix-functions/iswalpha.texi: Likewise.
32866         * doc/posix-functions/iswblank.texi: Likewise.
32867         * doc/posix-functions/iswcntrl.texi: Likewise.
32868         * doc/posix-functions/iswctype.texi: Likewise.
32869         * doc/posix-functions/iswdigit.texi: Likewise.
32870         * doc/posix-functions/iswgraph.texi: Likewise.
32871         * doc/posix-functions/iswlower.texi: Likewise.
32872         * doc/posix-functions/iswprint.texi: Likewise.
32873         * doc/posix-functions/iswpunct.texi: Likewise.
32874         * doc/posix-functions/iswspace.texi: Likewise.
32875         * doc/posix-functions/iswupper.texi: Likewise.
32876         * doc/posix-functions/iswxdigit.texi: Likewise.
32877         * doc/posix-functions/mbrtowc.texi: Likewise.
32878         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32879         * doc/posix-functions/mbstowcs.texi: Likewise.
32880         * doc/posix-functions/mbtowc.texi: Likewise.
32881         * doc/posix-functions/putwchar.texi: Likewise.
32882         * doc/posix-functions/putwc.texi: Likewise.
32883         * doc/posix-functions/swprintf.texi: Likewise.
32884         * doc/posix-functions/tolower.texi: Likewise.
32885         * doc/posix-functions/toupper.texi: Likewise.
32886         * doc/posix-functions/towctrans.texi: Likewise.
32887         * doc/posix-functions/ungetwc.texi: Likewise.
32888         * doc/posix-functions/vswprintf.texi: Likewise.
32889         * doc/posix-functions/wcrtomb.texi: Likewise.
32890         * doc/posix-functions/wcscat.texi: Likewise.
32891         * doc/posix-functions/wcschr.texi: Likewise.
32892         * doc/posix-functions/wcscmp.texi: Likewise.
32893         * doc/posix-functions/wcscoll.texi: Likewise.
32894         * doc/posix-functions/wcscpy.texi: Likewise.
32895         * doc/posix-functions/wcscspn.texi: Likewise.
32896         * doc/posix-functions/wcsftime.texi: Likewise.
32897         * doc/posix-functions/wcslen.texi: Likewise.
32898         * doc/posix-functions/wcsncat.texi: Likewise.
32899         * doc/posix-functions/wcsncmp.texi: Likewise.
32900         * doc/posix-functions/wcsncpy.texi: Likewise.
32901         * doc/posix-functions/wcspbrk.texi: Likewise.
32902         * doc/posix-functions/wcsrchr.texi: Likewise.
32903         * doc/posix-functions/wcsrtombs.texi: Likewise.
32904         * doc/posix-functions/wcsspn.texi: Likewise.
32905         * doc/posix-functions/wcsstr.texi: Likewise.
32906         * doc/posix-functions/wcstod.texi: Likewise.
32907         * doc/posix-functions/wcstof.texi: Likewise.
32908         * doc/posix-functions/wcstoimax.texi: Likewise.
32909         * doc/posix-functions/wcstok.texi: Likewise.
32910         * doc/posix-functions/wcstold.texi: Likewise.
32911         * doc/posix-functions/wcstoll.texi: Likewise.
32912         * doc/posix-functions/wcstol.texi: Likewise.
32913         * doc/posix-functions/wcstombs.texi: Likewise.
32914         * doc/posix-functions/wcstoull.texi: Likewise.
32915         * doc/posix-functions/wcstoul.texi: Likewise.
32916         * doc/posix-functions/wcstoumax.texi: Likewise.
32917         * doc/posix-functions/wcswidth.texi: Likewise.
32918         * doc/posix-functions/wcsxfrm.texi: Likewise.
32919         * doc/posix-functions/wctob.texi: Likewise.
32920         * doc/posix-functions/wctomb.texi: Likewise.
32921         * doc/posix-functions/wctrans.texi: Likewise.
32922         * doc/posix-functions/wctype.texi: Likewise.
32923         * doc/posix-functions/wcwidth.texi: Likewise.
32924         * doc/posix-functions/wmemchr.texi: Likewise.
32925         * doc/posix-functions/wmemcmp.texi: Likewise.
32926         * doc/posix-functions/wmemcpy.texi: Likewise.
32927         * doc/posix-functions/wmemmove.texi: Likewise.
32928         * doc/posix-functions/wmemset.texi: Likewise.
32929         * doc/posix-functions/wprintf.texi: Likewise.
32930         * doc/posix-functions/wscanf.texi: Likewise.
32931
32932 2008-12-21  Bruno Haible  <bruno@clisp.org>
32933
32934         Update doc for HP-UX 11.11.
32935         * doc/posix-functions/btowc.texi: Clarify that the function is missing
32936         in HP-UX version 11.00, not in all versions of HP-UX 11.
32937         * doc/posix-functions/fwide.texi: Likewise.
32938         * doc/posix-functions/fwprintf.texi: Likewise.
32939         * doc/posix-functions/fwscanf.texi: Likewise.
32940         * doc/posix-functions/inet_ntop.texi: Likewise.
32941         * doc/posix-functions/inet_pton.texi: Likewise.
32942         * doc/posix-functions/mbrlen.texi: Likewise.
32943         * doc/posix-functions/mbrtowc.texi: Likewise.
32944         * doc/posix-functions/mbsinit.texi: Likewise.
32945         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32946         * doc/posix-functions/swprintf.texi: Likewise.
32947         * doc/posix-functions/swscanf.texi: Likewise.
32948         * doc/posix-functions/towctrans.texi: Likewise.
32949         * doc/posix-functions/vfwprintf.texi: Likewise.
32950         * doc/posix-functions/vswprintf.texi: Likewise.
32951         * doc/posix-functions/vwprintf.texi: Likewise.
32952         * doc/posix-functions/wcrtomb.texi: Likewise.
32953         * doc/posix-functions/wcsrtombs.texi: Likewise.
32954         * doc/posix-functions/wcsstr.texi: Likewise.
32955         * doc/posix-functions/wctob.texi: Likewise.
32956         * doc/posix-functions/wctrans.texi: Likewise.
32957         * doc/posix-functions/wmemchr.texi: Likewise.
32958         * doc/posix-functions/wmemcmp.texi: Likewise.
32959         * doc/posix-functions/wmemcpy.texi: Likewise.
32960         * doc/posix-functions/wmemmove.texi: Likewise.
32961         * doc/posix-functions/wmemset.texi: Likewise.
32962         * doc/posix-functions/wprintf.texi: Likewise.
32963         * doc/posix-functions/wscanf.texi: Likewise.
32964
32965 2008-12-21  Bruno Haible  <bruno@clisp.org>
32966
32967         Work around a portability problem.
32968         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
32969         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
32970
32971 2008-12-20  Bruno Haible  <bruno@clisp.org>
32972
32973         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
32974         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
32975         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
32976         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
32977         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
32978
32979         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
32980         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
32981         set.
32982         (GNULIB_defined_mbstate_t): New macro.
32983         (mbsinit): Redefine if REPLACE_MBSINIT is set.
32984         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
32985         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
32986         reuses the system's mbrtowc function but works around the bugs.
32987         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
32988         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
32989         macros.
32990         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
32991         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
32992         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
32993         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
32994         REPLACE_MBSINIT if mbsinit needs to be overridden.
32995         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
32996         REPLACE_MBSINIT, REPLACE_MBRTOWC.
32997         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
32998         REPLACE_MBSINIT, REPLACE_MBRTOWC.
32999         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33000         m4/locale-zh.m4.
33001         (Depends): Add mbsinit.
33002         * modules/mbsinit (Depends): Add mbrtowc.
33003         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
33004
33005 2008-12-20  Bruno Haible  <bruno@clisp.org>
33006
33007         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
33008         so that there are no conversion errors on AIX.
33009         * tests/test-mbsrtowcs.c (main): LIkewise.
33010
33011 2008-12-20  Bruno Haible  <bruno@clisp.org>
33012
33013         Work around wctob bug on Solaris <= 9.
33014         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
33015         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
33016         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
33017         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
33018         * modules/wctob (Files): Add m4/locale-fr.m4.
33019         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
33020
33021 2008-12-20  Bruno Haible  <bruno@clisp.org>
33022
33023         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
33024         /dev/null.
33025         * tests/test-select-in.sh: Likewise.
33026         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33027
33028 2008-12-20  Bruno Haible  <bruno@clisp.org>
33029
33030         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
33031         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
33032         Cygwin 1.5.x.
33033
33034 2008-12-20  Bruno Haible  <bruno@clisp.org>
33035
33036         Ensure mbstate_t is defined on HP-UX 11.11.
33037         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
33038         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
33039         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
33040         AC_USE_SYSTEM_EXTENSIONS.
33041         * modules/fnmatch (Depends-on): Add extensions.
33042         * modules/mbrlen (Depends-on): Likewise.
33043         * modules/mbrtowc (Depends-on): Likewise.
33044         * modules/mbsinit (Depends-on): Likewise.
33045         * modules/mbsrtowcs (Depends-on): Likewise.
33046         * modules/mbswidth (Depends-on): Likewise.
33047         * modules/quotearg (Depends-on): Likewise.
33048         * modules/strftime (Depends-on): Likewise.
33049
33050 2008-12-20  Bruno Haible  <bruno@clisp.org>
33051
33052         Ensure wctob is declared on IRIX 6.5.
33053         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
33054         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
33055         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
33056         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
33057         of HAVE_WCTOB.
33058         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
33059         HAVE_WCTOB.
33060         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
33061
33062 2008-12-19  Bruno Haible  <bruno@clisp.org>
33063
33064         * modules/mbsrtowcs-tests: New file.
33065         * tests/test-mbsrtowcs1.sh: New file.
33066         * tests/test-mbsrtowcs2.sh: New file.
33067         * tests/test-mbsrtowcs3.sh: New file.
33068         * tests/test-mbsrtowcs4.sh: New file.
33069         * tests/test-mbsrtowcs.c: New file.
33070
33071         New module 'mbsrtowcs'.
33072         * lib/wchar.in.h (mbsrtowcs): New declaration.
33073         * lib/mbsrtowcs.c: New file.
33074         * m4/mbsrtowcs.m4: New file.
33075         * modules/mbsrtowcs: New file.
33076         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
33077         HAVE_MBSRTOWCS.
33078         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
33079         HAVE_MBSRTOWCS.
33080         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
33081
33082 2008-12-19  Bruno Haible  <bruno@clisp.org>
33083
33084         New module 'mbrlen'.
33085         * lib/wchar.in.h (mbrlen): New declaration.
33086         * lib/mbrlen.c: New file.
33087         * m4/mbrlen.m4: New file.
33088         * modules/mbrlen: New file.
33089         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
33090         HAVE_MBRLEN.
33091         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
33092         HAVE_MBRLEN.
33093         * doc/posix-functions/mbrlen.texi: Document the new module.
33094
33095 2008-12-19  Bruno Haible  <bruno@clisp.org>
33096
33097         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
33098         * modules/mbrtowc (Depends-on): Add verify.
33099         Suggested by Paul Eggert.
33100
33101 2008-12-18  Bruno Haible  <bruno@clisp.org>
33102
33103         * modules/mbsinit-tests: New file.
33104         * tests/test-mbsinit.sh: New file.
33105         * tests/test-mbsinit.c: New file.
33106
33107 2008-12-18  Bruno Haible  <bruno@clisp.org>
33108
33109         * modules/mbrtowc-tests: New file.
33110         * tests/test-mbrtowc1.sh: New file.
33111         * tests/test-mbrtowc2.sh: New file.
33112         * tests/test-mbrtowc3.sh: New file.
33113         * tests/test-mbrtowc4.sh: New file.
33114         * tests/test-mbrtowc.c: New file.
33115
33116         New module 'mbrtowc'.
33117         * lib/wchar.in.h (mbstate_t): Override when the system does not have
33118         mbsinit and mbrtowc.
33119         (mbrtowc): New declaration.
33120         * lib/mbrtowc.c: New file.
33121         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
33122         * modules/mbrtowc: New file.
33123         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
33124         HAVE_MBRTOWC.
33125         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
33126         HAVE_MBRTOWC.
33127         * doc/posix-functions/mbrtowc.texi: Document the new module.
33128
33129 2008-12-18  Bruno Haible  <bruno@clisp.org>
33130
33131         New module 'wctob'.
33132         * lib/wchar.in.h (wctob): New declaration.
33133         * lib/wctob.c: New file.
33134         * m4/wctob.m4: New file.
33135         * modules/wctob: New file.
33136         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
33137         HAVE_WCTOB.
33138         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
33139         * doc/posix-functions/wctob.texi: Document the new module.
33140
33141 2008-12-18  Bruno Haible  <bruno@clisp.org>
33142
33143         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
33144         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
33145
33146 2008-12-18  Simon Josefsson  <simon@josefsson.org>
33147
33148         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
33149         G. Christensen" <tgc@jupiterrise.com>.
33150
33151         * lib/flock.c: Need to include errno.h.  Reported by "Tom
33152         G. Christensen" <tgc@jupiterrise.com>.
33153
33154         * lib/flock.c: Need to include string.h.  Reported by "Tom
33155         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
33156         <ebb9@byu.net>.
33157
33158 2008-12-18  Bruno Haible  <bruno@clisp.org>
33159
33160         * m4/locale-ja.m4: New file, from GNU gettext.
33161
33162 2008-12-17  Bruno Haible  <bruno@clisp.org>
33163
33164         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
33165         Suggested by Eric Blake.
33166
33167 2008-12-17  Bruno Haible  <bruno@clisp.org>
33168
33169         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
33170
33171 2008-12-17  Bruno Haible  <bruno@clisp.org>
33172
33173         * lib/mbsinit.c: Include verify.h. Verify an assumption.
33174         * modules/mbsinit (Depends-on): Add verify.
33175         Suggested by Paul Eggert.
33176
33177 2008-12-17  Bruno Haible  <bruno@clisp.org>
33178
33179         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
33180         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
33181         gl_FUNC_MBRTOWC.
33182         * m4/mbiter.m4 (gl_MBITER): LIkewise.
33183         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
33184         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
33185         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
33186         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
33187         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
33188         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
33189         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
33190         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
33191         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
33192         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
33193         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
33194         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
33195         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
33196         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
33197         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
33198         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
33199         * modules/trim (configure.ac): Likewise.
33200
33201 2008-12-17  Bruno Haible  <bruno@clisp.org>
33202
33203         * modules/btowc-tests: New file.
33204         * tests/test-btowc1.sh: New file.
33205         * tests/test-btowc2.sh: New file.
33206         * tests/test-btowc.c: New file.
33207
33208         New module 'btowc'.
33209         * lib/wchar.in.h (btowc): New declaration.
33210         * lib/btowc.c: New file.
33211         * m4/btowc.m4: New file.
33212         * modules/btowc: New file.
33213         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
33214         HAVE_BTOWC.
33215         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
33216         * doc/posix-functions/btowc.texi: Document the new module.
33217
33218 2008-12-17  Bruno Haible  <bruno@clisp.org>
33219
33220         New module 'mbsinit'.
33221         * lib/wchar.in.h (mbsinit): New declaration.
33222         * lib/mbsinit.c: New file.
33223         * m4/mbsinit.m4: New file.
33224         * modules/mbsinit: New file.
33225         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
33226         HAVE_MBSINIT.
33227         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
33228         HAVE_MBSINIT.
33229         * doc/posix-functions/mbsinit.texi: Document the new module.
33230
33231 2008-12-16  Bruno Haible  <bruno@clisp.org>
33232
33233         * lib/unistd.in.h: Add comment.
33234         * tests/test-environ.c: Don't include <stdlib.h>.
33235
33236 2008-12-16  Bruno Haible  <bruno@clisp.org>
33237
33238         * lib/parse-duration.h (parse_duration): Document return value
33239         convention.
33240         * lib/parse-duration.c: Include specification header first. Add
33241         comments.
33242         (_): Remove macro.
33243         (parse_year_month_day, parse_hour_minute_second): Move side effects
33244         outside of strchr call.
33245         (parse_non_iso8601): Move side effects outside of isspace call.
33246         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
33247         call.
33248
33249 2008-12-16  Bruno Haible  <bruno@clisp.org>
33250
33251         * tests/test-parse-duration.sh: Produce no output when the test
33252         succeeds.
33253
33254 2008-12-16  Bruno Haible  <bruno@clisp.org>
33255
33256         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
33257         expressions.
33258
33259 2008-12-15  Bruno Haible  <bruno@clisp.org>
33260
33261         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
33262         * doc/glibc-functions/flistxattr.texi: Likewise.
33263         * doc/glibc-functions/fopencookie.texi: Likewise.
33264         * doc/glibc-functions/fremovexattr.texi: Likewise.
33265         * doc/glibc-functions/fsetxattr.texi: Likewise.
33266         * doc/glibc-functions/getxattr.texi: Likewise.
33267         * doc/glibc-functions/lgetxattr.texi: Likewise.
33268         * doc/glibc-functions/listxattr.texi: Likewise.
33269         * doc/glibc-functions/llistxattr.texi: Likewise.
33270         * doc/glibc-functions/lremovexattr.texi: Likewise.
33271         * doc/glibc-functions/lsetxattr.texi: Likewise.
33272         * doc/glibc-functions/removexattr.texi: Likewise.
33273         * doc/glibc-functions/setxattr.texi: Likewise.
33274         * doc/posix-functions/open_memstream.texi: Likewise.
33275
33276 2008-12-15  Eric Blake  <ebb9@byu.net>
33277
33278         Update doc for cygwin 1.7.
33279         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
33280         functions.
33281         * doc/posix-functions/fchmodat.texi: Likewise.
33282         * doc/posix-functions/fchownat.texi: Likewise.
33283         * doc/posix-functions/fdopendir.texi: Likewise.
33284         * doc/posix-functions/fmemopen.texi: Likewise.
33285         * doc/posix-functions/freeaddrinfo.texi: Likewise.
33286         * doc/posix-functions/fstatat.texi: Likewise.
33287         * doc/posix-functions/futimens.texi: Likewise.
33288         * doc/posix-functions/gai_strerror.texi: Likewise.
33289         * doc/posix-functions/getaddrinfo.texi: Likewise.
33290         * doc/posix-functions/getnameinfo.texi: Likewise.
33291         * doc/posix-functions/if_freenameindex.texi: Likewise.
33292         * doc/posix-functions/if_indextoname.texi: Likewise.
33293         * doc/posix-functions/if_nameindex.texi: Likewise.
33294         * doc/posix-functions/if_nametoindex.texi: Likewise.
33295         * doc/posix-functions/insque.texi: Likewise.
33296         * doc/posix-functions/linkat.texi: Likewise.
33297         * doc/posix-functions/llrint.texi: Likewise.
33298         * doc/posix-functions/llrintf.texi: Likewise.
33299         * doc/posix-functions/llrintl.texi: Likewise.
33300         * doc/posix-functions/lockf.texi: Likewise.
33301         * doc/posix-functions/lrintl.texi: Likewise.
33302         * doc/posix-functions/mkdirat.texi: Likewise.
33303         * doc/posix-functions/mkfifoat.texi: Likewise.
33304         * doc/posix-functions/mknodat.texi: Likewise.
33305         * doc/posix-functions/mq_close.texi: Likewise.
33306         * doc/posix-functions/mq_getattr.texi: Likewise.
33307         * doc/posix-functions/mq_notify.texi: Likewise.
33308         * doc/posix-functions/mq_open.texi: Likewise.
33309         * doc/posix-functions/mq_receive.texi: Likewise.
33310         * doc/posix-functions/mq_send.texi: Likewise.
33311         * doc/posix-functions/mq_setattr.texi: Likewise.
33312         * doc/posix-functions/mq_timedreceive.texi: Likewise.
33313         * doc/posix-functions/mq_timedsend.texi: Likewise.
33314         * doc/posix-functions/mq_unlink.texi: Likewise.
33315         * doc/posix-functions/open_memstream.texi: Likewise.
33316         * doc/posix-functions/openat.texi: Likewise.
33317         * doc/posix-functions/posix_fadvise.texi: Likewise.
33318         * doc/posix-functions/posix_fallocate.texi: Likewise.
33319         * doc/posix-functions/posix_madvise.texi: Likewise.
33320         * doc/posix-functions/posix_memalign.texi: Likewise.
33321         * doc/posix-functions/posix_openpt.texi: Likewise.
33322         * doc/posix-functions/readlinkat.texi: Likewise.
33323         * doc/posix-functions/remque.texi: Likewise.
33324         * doc/posix-functions/renameat.texi: Likewise.
33325         * doc/posix-functions/rintl.texi: Likewise.
33326         * doc/posix-functions/sem_unlink.texi: Likewise.
33327         * doc/posix-functions/shm_open.texi: Likewise.
33328         * doc/posix-functions/shm_unlink.texi: Likewise.
33329         * doc/posix-functions/signgam.texi: Likewise.
33330         * doc/posix-functions/sigset.texi: Likewise.
33331         * doc/posix-functions/stpcpy.texi: Likewise.
33332         * doc/posix-functions/stpncpy.texi: Likewise.
33333         * doc/posix-functions/strerror.texi: Likewise.
33334         * doc/posix-functions/strtod.texi: Likewise.
33335         * doc/posix-functions/symlinkat.texi: Likewise.
33336         * doc/posix-functions/unlinkat.texi: Likewise.
33337         * doc/posix-functions/utimensat.texi: Likewise.
33338         * doc/glibc-functions/bindresvport.texi: Likewise.
33339         * doc/glibc-functions/dn_expand.texi: Likewise.
33340         * doc/glibc-functions/exp10.texi: Likewise.
33341         * doc/glibc-functions/exp10f.texi: Likewise.
33342         * doc/glibc-functions/fgetxattr.texi: Likewise.
33343         * doc/glibc-functions/flistxattr.texi: Likewise.
33344         * doc/glibc-functions/fopencookie.texi: Likewise.
33345         * doc/glibc-functions/freeifaddrs.texi: Likewise.
33346         * doc/glibc-functions/fremovexattr.texi: Likewise.
33347         * doc/glibc-functions/fsetxattr.texi: Likewise.
33348         * doc/glibc-functions/getifaddrs.texi: Likewise.
33349         * doc/glibc-functions/getxattr.texi: Likewise.
33350         * doc/glibc-functions/lgetxattr.texi: Likewise.
33351         * doc/glibc-functions/listxattr.texi: Likewise.
33352         * doc/glibc-functions/llistxattr.texi: Likewise.
33353         * doc/glibc-functions/lremovexattr.texi: Likewise.
33354         * doc/glibc-functions/lsetxattr.texi: Likewise.
33355         * doc/glibc-functions/pow10.texi: Likewise.
33356         * doc/glibc-functions/pow10f.texi: Likewise.
33357         * doc/glibc-functions/rcmd_af.texi: Likewise.
33358         * doc/glibc-functions/removexattr.texi: Likewise.
33359         * doc/glibc-functions/res_init.texi: Likewise.
33360         * doc/glibc-functions/res_mkquery.texi: Likewise.
33361         * doc/glibc-functions/res_query.texi: Likewise.
33362         * doc/glibc-functions/res_querydomain.texi: Likewise.
33363         * doc/glibc-functions/res_send.texi: Likewise.
33364         * doc/glibc-functions/rresvport_af.texi: Likewise.
33365         * doc/glibc-functions/setxattr.texi: Likewise.
33366         * doc/glibc-functions/strcasestr.texi: Likewise.
33367
33368 2008-12-15  Bruno Haible  <bruno@clisp.org>
33369
33370         Fix compilation error on OSF/1 4.0.
33371         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
33372         <sys/time.h>, simply delegate to the system header.
33373         Reported by Daniel Richard G. <oss@teragram.com>.
33374
33375 2008-12-15  Bruno Haible  <bruno@clisp.org>
33376
33377         * doc/posix-functions/openat.texi: Mention the 'openat' module.
33378         * doc/posix-functions/fchmodat.texi: Likewise.
33379         * doc/posix-functions/fchownat.texi: Likewise.
33380         * doc/posix-functions/fdopendir.texi: Likewise.
33381         * doc/posix-functions/fstatat.texi: Likewise.
33382         * doc/posix-functions/mkdirat.texi: Likewise.
33383         * doc/posix-functions/unlinkat.texi: Likewise.
33384
33385 2008-12-14  Bruno Haible  <bruno@clisp.org>
33386
33387         Update doc for POSIX:2008.
33388         * doc/posix-functions/faccessat.texi: New file.
33389         * doc/posix-functions/fchmodat.texi: New file.
33390         * doc/posix-functions/fchownat.texi: New file.
33391         * doc/posix-functions/fdopendir.texi: New file.
33392         * doc/posix-functions/fstatat.texi: New file.
33393         * doc/posix-functions/futimens.texi: New file.
33394         * doc/posix-functions/linkat.texi: New file.
33395         * doc/posix-functions/mkdirat.texi: New file.
33396         * doc/posix-functions/mkfifoat.texi: New file.
33397         * doc/posix-functions/mknodat.texi: New file.
33398         * doc/posix-functions/open_wmemstream.texi: New file.
33399         * doc/posix-functions/openat.texi: New file.
33400         * doc/posix-functions/psiginfo.texi: New file.
33401         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
33402         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
33403         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
33404         * doc/posix-functions/readlinkat.texi: New file.
33405         * doc/posix-functions/renameat.texi: New file.
33406         * doc/posix-functions/strerror_l.texi: New file.
33407         * doc/posix-functions/symlinkat.texi: New file.
33408         * doc/posix-functions/unlinkat.texi: New file.
33409         * doc/posix-functions/utimensat.texi: New file.
33410         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33411
33412 2008-12-14  Bruno Haible  <bruno@clisp.org>
33413
33414         Update doc for POSIX:2008.
33415         * doc/posix-functions/alphasort.texi: Renamed from
33416         doc/glibc-functions/alphasort.texi.
33417         * doc/posix-functions/dirfd.texi: Renamed from
33418         doc/glibc-functions/dirfd.texi.
33419         * doc/posix-functions/dprintf.texi: Renamed from
33420         doc/glibc-functions/dprintf.texi.
33421         * doc/posix-functions/duplocale.texi: Renamed from
33422         doc/glibc-functions/duplocale.texi.
33423         * doc/posix-functions/fexecve.texi: Renamed from
33424         doc/glibc-functions/fexecve.texi.
33425         * doc/posix-functions/fmemopen.texi: Renamed from
33426         doc/glibc-functions/fmemopen.texi.
33427         * doc/posix-functions/freelocale.texi: Renamed from
33428         doc/glibc-functions/freelocale.texi.
33429         * doc/posix-functions/getdate_err.texi: Renamed from
33430         doc/glibc-functions/getdate_err.texi.
33431         * doc/posix-functions/isalnum_l.texi: Renamed from
33432         doc/glibc-functions/isalnum_l.texi.
33433         * doc/posix-functions/isalpha_l.texi: Renamed from
33434         doc/glibc-functions/isalpha_l.texi.
33435         * doc/posix-functions/isblank_l.texi: Renamed from
33436         doc/glibc-functions/isblank_l.texi.
33437         * doc/posix-functions/iscntrl_l.texi: Renamed from
33438         doc/glibc-functions/iscntrl_l.texi.
33439         * doc/posix-functions/isdigit_l.texi: Renamed from
33440         doc/glibc-functions/isdigit_l.texi.
33441         * doc/posix-functions/isgraph_l.texi: Renamed from
33442         doc/glibc-functions/isgraph_l.texi.
33443         * doc/posix-functions/islower_l.texi: Renamed from
33444         doc/glibc-functions/islower_l.texi.
33445         * doc/posix-functions/isprint_l.texi: Renamed from
33446         doc/glibc-functions/isprint_l.texi.
33447         * doc/posix-functions/ispunct_l.texi: Renamed from
33448         doc/glibc-functions/ispunct_l.texi.
33449         * doc/posix-functions/isspace_l.texi: Renamed from
33450         doc/glibc-functions/isspace_l.texi.
33451         * doc/posix-functions/isupper_l.texi: Renamed from
33452         doc/glibc-functions/isupper_l.texi.
33453         * doc/posix-functions/iswalnum_l.texi: Renamed from
33454         doc/glibc-functions/iswalnum_l.texi.
33455         * doc/posix-functions/iswalpha_l.texi: Renamed from
33456         doc/glibc-functions/iswalpha_l.texi.
33457         * doc/posix-functions/iswblank_l.texi: Renamed from
33458         doc/glibc-functions/iswblank_l.texi.
33459         * doc/posix-functions/iswcntrl_l.texi: Renamed from
33460         doc/glibc-functions/iswcntrl_l.texi.
33461         * doc/posix-functions/iswctype_l.texi: Renamed from
33462         doc/glibc-functions/iswctype_l.texi.
33463         * doc/posix-functions/iswdigit_l.texi: Renamed from
33464         doc/glibc-functions/iswdigit_l.texi.
33465         * doc/posix-functions/iswgraph_l.texi: Renamed from
33466         doc/glibc-functions/iswgraph_l.texi.
33467         * doc/posix-functions/iswlower_l.texi: Renamed from
33468         doc/glibc-functions/iswlower_l.texi.
33469         * doc/posix-functions/iswprint_l.texi: Renamed from
33470         doc/glibc-functions/iswprint_l.texi.
33471         * doc/posix-functions/iswpunct_l.texi: Renamed from
33472         doc/glibc-functions/iswpunct_l.texi.
33473         * doc/posix-functions/iswspace_l.texi: Renamed from
33474         doc/glibc-functions/iswspace_l.texi.
33475         * doc/posix-functions/iswupper_l.texi: Renamed from
33476         doc/glibc-functions/iswupper_l.texi.
33477         * doc/posix-functions/iswxdigit_l.texi: Renamed from
33478         doc/glibc-functions/iswxdigit_l.texi.
33479         * doc/posix-functions/isxdigit_l.texi: Renamed from
33480         doc/glibc-functions/isxdigit_l.texi.
33481         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
33482         doc/glibc-functions/mbsnrtowcs.texi.
33483         * doc/posix-functions/mkdtemp.texi: Renamed from
33484         doc/glibc-functions/mkdtemp.texi.
33485         * doc/posix-functions/newlocale.texi: Renamed from
33486         doc/glibc-functions/newlocale.texi.
33487         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
33488         doc/glibc-functions/nl_langinfo_l.texi.
33489         * doc/posix-functions/open_memstream.texi: Renamed from
33490         doc/glibc-functions/open_memstream.texi.
33491         * doc/posix-functions/opterr.texi: Renamed from
33492         doc/glibc-functions/opterr.texi.
33493         * doc/posix-functions/optind.texi: Renamed from
33494         doc/glibc-functions/optind.texi.
33495         * doc/posix-functions/optopt.texi: Renamed from
33496         doc/glibc-functions/optopt.texi.
33497         * doc/posix-functions/psignal.texi: Renamed from
33498         doc/glibc-functions/psignal.texi.
33499         * doc/posix-functions/scandir.texi: Renamed from
33500         doc/glibc-functions/scandir.texi.
33501         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
33502         doc/glibc-functions/sched_get_priority_min.texi.
33503         * doc/posix-functions/signgam.texi: Renamed from
33504         doc/glibc-functions/signgam.texi.
33505         * doc/posix-functions/stpcpy.texi: Renamed from
33506         doc/glibc-functions/stpcpy.texi.
33507         * doc/posix-functions/stpncpy.texi: Renamed from
33508         doc/glibc-functions/stpncpy.texi.
33509         * doc/posix-functions/strcasecmp_l.texi: Renamed from
33510         doc/glibc-functions/strcasecmp_l.texi.
33511         * doc/posix-functions/strcoll_l.texi: Renamed from
33512         doc/glibc-functions/strcoll_l.texi.
33513         * doc/posix-functions/strfmon_l.texi: Renamed from
33514         doc/glibc-functions/strfmon_l.texi.
33515         * doc/posix-functions/strftime_l.texi: Renamed from
33516         doc/glibc-functions/strftime_l.texi.
33517         * doc/posix-functions/strncasecmp_l.texi: Renamed from
33518         doc/glibc-functions/strncasecmp_l.texi.
33519         * doc/posix-functions/strndup.texi: Renamed from
33520         doc/glibc-functions/strndup.texi.
33521         * doc/posix-functions/strnlen.texi: Renamed from
33522         doc/glibc-functions/strnlen.texi.
33523         * doc/posix-functions/strsignal.texi: Renamed from
33524         doc/glibc-functions/strsignal.texi.
33525         * doc/posix-functions/strxfrm_l.texi: Renamed from
33526         doc/glibc-functions/strxfrm_l.texi.
33527         * doc/posix-functions/timer_gettime.texi: Renamed from
33528         doc/glibc-functions/timer_gettime.texi.
33529         * doc/posix-functions/tolower_l.texi: Renamed from
33530         doc/glibc-functions/tolower_l.texi.
33531         * doc/posix-functions/toupper_l.texi: Renamed from
33532         doc/glibc-functions/toupper_l.texi.
33533         * doc/posix-functions/towctrans_l.texi: Renamed from
33534         doc/glibc-functions/towctrans_l.texi.
33535         * doc/posix-functions/towlower_l.texi: Renamed from
33536         doc/glibc-functions/towlower_l.texi.
33537         * doc/posix-functions/towupper_l.texi: Renamed from
33538         doc/glibc-functions/towupper_l.texi.
33539         * doc/posix-functions/uselocale.texi: Renamed from
33540         doc/glibc-functions/uselocale.texi.
33541         * doc/posix-functions/vdprintf.texi: Renamed from
33542         doc/glibc-functions/vdprintf.texi.
33543         * doc/posix-functions/wcpcpy.texi:
33544         Renamed from doc/glibc-functions/wcpcpy.texi.
33545         * doc/posix-functions/wcpncpy.texi: Renamed from
33546         doc/glibc-functions/wcpncpy.texi.
33547         * doc/posix-functions/wcscasecmp.texi: Renamed from
33548         doc/glibc-functions/wcscasecmp.texi.
33549         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
33550         doc/glibc-functions/wcscasecmp_l.texi.
33551         * doc/posix-functions/wcscoll_l.texi: Renamed from
33552         doc/glibc-functions/wcscoll_l.texi.
33553         * doc/posix-functions/wcsdup.texi: Renamed from
33554         doc/glibc-functions/wcsdup.texi.
33555         * doc/posix-functions/wcsncasecmp.texi: Renamed from
33556         doc/glibc-functions/wcsncasecmp.texi.
33557         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
33558         doc/glibc-functions/wcsncasecmp_l.texi.
33559         * doc/posix-functions/wcsnlen.texi: Renamed from
33560         doc/glibc-functions/wcsnlen.texi.
33561         * doc/posix-functions/wcsnrtombs.texi: Renamed from
33562         doc/glibc-functions/wcsnrtombs.texi.
33563         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
33564         doc/glibc-functions/wcsxfrm_l.texi.
33565         * doc/posix-functions/wctrans_l.texi: Renamed from
33566         doc/glibc-functions/wctrans_l.texi.
33567         * doc/posix-functions/wctype_l.texi: Renamed from
33568         doc/glibc-functions/wctype_l.texi.
33569         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33570         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
33571         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
33572         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
33573         these subsections.
33574         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
33575         Remove sections.
33576
33577 2008-12-14  Bruno Haible  <bruno@clisp.org>
33578
33579         Update doc for POSIX:2008.
33580         * doc/posix-functions/*.texi: Update URL of POSIX specification.
33581
33582 2008-12-14  Bruno Haible  <bruno@clisp.org>
33583
33584         Update doc for POSIX:2008.
33585         * doc/pastposix-functions/bcmp.texi: Renamed from
33586         doc/posix-functions/bcmp.texi.
33587         * doc/pastposix-functions/bcopy.texi: Renamed from
33588         doc/posix-functions/bcopy.texi.
33589         * doc/pastposix-functions/bsd_signal.texi: Renamed from
33590         doc/posix-functions/bsd_signal.texi.
33591         * doc/pastposix-functions/bzero.texi: Renamed from
33592         doc/posix-functions/bzero.texi.
33593         * doc/pastposix-functions/ecvt.texi: Renamed from
33594         doc/posix-functions/ecvt.texi.
33595         * doc/pastposix-functions/fcvt.texi: Renamed from
33596         doc/posix-functions/fcvt.texi.
33597         * doc/pastposix-functions/ftime.texi: Renamed from
33598         doc/posix-functions/ftime.texi.
33599         * doc/pastposix-functions/gcvt.texi: Renamed from
33600         doc/posix-functions/gcvt.texi.
33601         * doc/pastposix-functions/getcontext.texi: Renamed from
33602         doc/posix-functions/getcontext.texi.
33603         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
33604         doc/posix-functions/gethostbyaddr.texi.
33605         * doc/pastposix-functions/gethostbyname.texi: Renamed from
33606         doc/posix-functions/gethostbyname.texi.
33607         * doc/pastposix-functions/getwd.texi: Renamed from
33608         doc/posix-functions/getwd.texi.
33609         * doc/pastposix-functions/h_errno.texi: Renamed from
33610         doc/posix-functions/h_errno.texi.
33611         * doc/pastposix-functions/index.texi: Renamed from
33612         doc/posix-functions/index.texi.
33613         * doc/pastposix-functions/makecontext.texi: Renamed from
33614         doc/posix-functions/makecontext.texi.
33615         * doc/pastposix-functions/mktemp.texi: Renamed from
33616         doc/posix-functions/mktemp.texi.
33617         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
33618         doc/posix-functions/pthread_attr_getstackaddr.texi.
33619         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
33620         doc/posix-functions/pthread_attr_setstackaddr.texi.
33621         * doc/pastposix-functions/rindex.texi: Renamed from
33622         doc/posix-functions/rindex.texi.
33623         * doc/pastposix-functions/scalb.texi: Renamed from
33624         doc/posix-functions/scalb.texi.
33625         * doc/pastposix-functions/setcontext.texi: Renamed from
33626         doc/posix-functions/setcontext.texi.
33627         * doc/pastposix-functions/swapcontext.texi: Renamed from
33628         doc/posix-functions/swapcontext.texi.
33629         * doc/pastposix-functions/ualarm.texi: Renamed from
33630         doc/posix-functions/ualarm.texi.
33631         * doc/pastposix-functions/usleep.texi: Renamed from
33632         doc/posix-functions/usleep.texi.
33633         * doc/pastposix-functions/vfork.texi: Renamed from
33634         doc/posix-functions/vfork.texi.
33635         * doc/pastposix-functions/wcswcs.texi: Renamed from
33636         doc/posix-functions/wcswcs.texi.
33637         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
33638         (Function Substitutes): Update.
33639
33640 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33641
33642         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
33643         m4/strerror.m4.
33644
33645 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33646             Bruno Haible  <bruno@clisp.org>
33647
33648         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
33649
33650 2008-12-13  Bruno Haible  <bruno@clisp.org>
33651
33652         * modules/strtoull (Depends-on): Remove unistd.
33653
33654 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33655
33656         * modules/strtoull (Depends-on): Add stdlib.
33657
33658 2008-12-11  Simon Josefsson  <simon@josefsson.org>
33659
33660         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
33661
33662 2008-12-10  Jim Meyering  <meyering@redhat.com>
33663
33664         gl_ASSERT: don't say assertions are disabled when they're not
33665         * m4/assert.m4 (gl_ASSERT): Do not make configure report
33666         "checking whether to enable assertions... no", when they are in
33667         fact enabled.  This is solely a bug in the output of configure.
33668         In spite of saying "no", NDEBUG was not defined in that case.
33669         Also, as noted by Eric Blake, leave assertions enabled upon
33670         --enable-assert=INVALID.
33671
33672 2008-12-10  Bruno Haible  <bruno@clisp.org>
33673
33674         Change MODULES.html to refer to POSIX:2008 where possible.
33675         * MODULES.html.sh (POSIX2008_URL): New variable.
33676         (posix_headers): Remove sys/timeb, ucontext.
33677         (posix2001_headers): New variable.
33678         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
33679         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
33680         index, makecontext, mktemp, pthread_attr_getstackaddr,
33681         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
33682         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
33683         (posix2001_functions): New variable.
33684         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
33685         otherwise.
33686
33687 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33688
33689         add missing include to parse-duration.c
33690         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
33691         * modules/parse-duration (Depends-on): Add xalloc.
33692
33693         fix sed script reading maint.mk
33694         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
33695         (syntax-check-rules): Use it.
33696
33697 2008-12-09  Bruno Haible  <bruno@clisp.org>
33698
33699         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
33700         MacOS X 10.4/PowerPC.
33701         Reported by Simon Josefsson.
33702
33703 2008-12-08  Jim Meyering  <meyering@redhat.com>
33704
33705         work around mingw's lack of some S_IF definitions
33706         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
33707         Reported by Simon Josefsson.
33708
33709 2008-12-08  Bruno Haible  <bruno@clisp.org>
33710
33711         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
33712         applied to variables. Needed on MacOS X 10.4/PowerPC.
33713         Reported by Simon Josefsson.
33714
33715 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
33716         and Eric Blake  <ebb9@byu.net>
33717
33718         assert: honor --enable-assert
33719         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
33720         order to honor --enable-assert, rather than treating it as a
33721         synonym for --disable-assert.
33722
33723 2008-12-08  Jim Meyering  <meyering@redhat.com>
33724
33725         * lib/posixtm.c: Remove now-useless declaration of mktime.
33726
33727         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
33728
33729 2008-12-07  Bruno Haible  <bruno@clisp.org>
33730
33731         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
33732         test_once): Mark functions as static.
33733         * tests/test-tls.c (test_tls): Likewise.
33734
33735 2008-12-07  Bruno Haible  <bruno@clisp.org>
33736
33737         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
33738         iconv_register_autodetect.
33739
33740 2008-12-07  Jim Meyering  <meyering@redhat.com>
33741
33742         posixtm.c: avoid a warning
33743         * lib/posixtm.c (posixtime): Don't initialize tm0.
33744         It's no longer needed to placate gcc4's -Wuninitialized,
33745         and the attempt to placate would elicit a new warning.
33746
33747         unicodeio.c: mark unused parameters
33748         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33749         (fallback_failure_callback): Likewise.
33750
33751 2008-12-07  Bruno Haible  <bruno@clisp.org>
33752
33753         * gnulib-tool (func_create_testdir): When building the tests
33754         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
33755         Reported by Simon Josefsson.
33756
33757 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33758
33759         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
33760
33761 2008-12-06  Bruno Haible  <bruno@clisp.org>
33762
33763         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
33764         Suggested by Eric Blake.
33765
33766 2008-12-06  Bruno Haible  <bruno@clisp.org>
33767
33768         Fix a c-stack test failure on MacOS X.
33769         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
33770         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
33771         handler for SIGBUS as well.
33772         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
33773         install a signal handler for SIGBUS as well.
33774         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
33775
33776 2008-12-06  Bruno Haible  <bruno@clisp.org>
33777
33778         Advocacy documentation.
33779         * doc/gnulib-intro.texi (Benefits): New section.
33780         * doc/gnulib.texi: Update.
33781
33782 2008-12-06  Bruno Haible  <bruno@clisp.org>
33783
33784         Document the 'manywarnings' module.
33785         * doc/manywarnings.texi: New file.
33786         * doc/gnulib.texi: Include it.
33787
33788 2008-12-05  Eric Blake  <ebb9@byu.net>
33789
33790         tests: silence some gcc warnings
33791         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
33792         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
33793         type mismatches.
33794
33795 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33796             Bruno Haible  <bruno@clisp.org>
33797
33798         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
33799
33800 2008-11-29  Jim Meyering  <meyering@redhat.com>
33801
33802         unicodeio.c: mark unused parameters
33803         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33804         (fallback_failure_callback): Likewise.
33805
33806         fts: fix a thinko
33807         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
33808         (set_stat_type): Return S_IF*-valued "type" directly.
33809         Prompted by James Youngman's spotting a related bug.
33810         Confirmed by further testing through find.
33811
33812         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
33813         * lib/fts.c (D_TYPE): Define.
33814         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
33815         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
33816         (s_ifmt_shift_bits): New function.
33817         (set_stat_type): New function.
33818         (fts_build): When not calling fts_stat, call set_stat_type
33819         to propagate dirent.d_type info to fts_read caller.
33820         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
33821         fts_statp->st_mode type information may be valid.
33822
33823 2008-11-28  Simon Josefsson  <simon@josefsson.org>
33824
33825         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
33826         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
33827         <sds@gnu.org>.
33828
33829 2008-11-20  Bruno Haible  <bruno@clisp.org>
33830
33831         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
33832         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
33833         INCLUDE_NEXT.
33834         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
33835         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
33836         * modules/math (Makefile.am): Substitute
33837         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
33838         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33839
33840 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
33841             Bruno Haible  <bruno@clisp.org>
33842
33843         * lib/stdint.in.h: Define all type macros so that their expansion is
33844         a single typedef'ed token. Fixes a compilation failure in Boost which
33845         does "using ::int8_t;".
33846
33847 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33848
33849         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
33850         gl_MANYWARN_ALL_GCC.
33851         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
33852         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
33853         * modules/manywarnings: New file.
33854         * MODULES.html.sh: Mention manywarnings module.
33855
33856 2008-11-18  Bruno Haible  <bruno@clisp.org>
33857
33858         * doc/gnulib-tool.texi (Unit tests): New section.
33859
33860 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33861
33862         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
33863         paths like 'lib/po/foo.po'.
33864
33865 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33866
33867         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
33868         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
33869
33870 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33871
33872         * m4/warnings.m4: Use CPPFLAGS to really check whether the
33873         parameter works.
33874
33875 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33876
33877         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
33878
33879 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33880
33881         * modules/parse-duration-tests: New file.
33882         * tests/test-parse-duration.sh: New file.
33883         * tests/test-parse-duration.c: New file.
33884
33885         New module 'parse-duration'.
33886         * lib/parse-duration.h: New file.
33887         * lib/parse-duration.c: New file.
33888         * modules/parse-duration: New file.
33889
33890 2008-11-17  Bruno Haible  <bruno@clisp.org>
33891
33892         * tests/test-select-out.sh: Comment out the first pipe test.
33893         Reported by Simon Josefsson.
33894
33895 2008-11-17  Bruno Haible  <bruno@clisp.org>
33896
33897         * modules/getaddrinfo (Depends-on): Add servent, hostent.
33898         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
33899         gl_HOSTENT.
33900
33901 2008-11-17  Bruno Haible  <bruno@clisp.org>
33902
33903         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
33904         -lnetwork and -lnet. Needed for Haiku and BeOS.
33905
33906 2008-11-16  Bruno Haible  <bruno@clisp.org>
33907
33908         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
33909
33910 2008-11-16  Bruno Haible  <bruno@clisp.org>
33911
33912         Avoid test failure on Haiku.
33913         * tests/test-fsync.c: Include <errno.h>.
33914         (main): Don't require that fsync (0) fails.
33915
33916 2008-11-15  Bruno Haible  <bruno@clisp.org>
33917
33918         New module 'hostent'.
33919         * modules/hostent: New file.
33920         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
33921
33922 2008-11-15  Bruno Haible  <bruno@clisp.org>
33923
33924         New module 'servent'.
33925         * modules/servent: New file.
33926         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
33927
33928 2008-11-15  Bruno Haible  <bruno@clisp.org>
33929
33930         Avoid generating same test program with two different rules.
33931         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
33932         test-frexp to test-frexp-nolibm.
33933         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
33934         test-frexpl to test-frexpl-nolibm.
33935
33936 2008-11-15  Bruno Haible  <bruno@clisp.org>
33937
33938         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
33939         $(FREXPL_LIBM).
33940
33941 2008-11-15  Bruno Haible  <bruno@clisp.org>
33942
33943         * lib/netdb.in.h: Activate the definitions also when the system's
33944         <netdb.h> has 'struct addrinfo'.
33945         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
33946         EAI_OVERFLOW or AI_NUMERICSERV.
33947         * doc/posix-headers/netdb.texi: Document the problem.
33948
33949 2008-11-15  Bruno Haible  <bruno@clisp.org>
33950
33951         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
33952
33953         Make the 'sched' module work on platforms where <sched.h> exists but
33954         is incomplete (such as Haiku).
33955         * lib/sched.in.h; Include the system's <sched.h> if it exists.
33956         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
33957         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
33958         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
33959         HAVE_STRUCT_SCHED_PARAM.
33960         * modules/sched (Depends-on): Add include_next.
33961         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
33962         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
33963         * doc/posix-headers/sched.texi: Document the issue.
33964
33965 2008-11-13  Jim Meyering  <meyering@redhat.com>
33966
33967         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
33968         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
33969         test would fail due to the difference in the Report bugs to ...
33970         line.  The expected address is empty, "<>", while the actual
33971         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
33972
33973 2008-11-12  Bruno Haible  <bruno@clisp.org>
33974
33975         lstat: don't compile lstat.c on systems lacking lstat
33976         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
33977         which don't have lstat; this is handled by lib/sys_stat.in.h already.
33978         Reported by Daniel P. Berrange via Jim Meyering.
33979
33980 2008-11-12  Jim Meyering  <meyering@redhat.com>
33981
33982         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
33983
33984 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33985
33986         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
33987         instead.
33988
33989 2008-11-12  Bruno Haible  <bruno@clisp.org>
33990
33991         * lib/unicodeio.c: Include unistr.h.
33992         (utf8_wctomb): Remove function.
33993         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
33994
33995 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33996
33997         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
33998         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
33999         <bruno@clisp.org>.
34000         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
34001
34002 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34003
34004         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
34005         * doc/gnulib.texi: Add section for warnings.
34006
34007 2008-11-11  Bruno Haible  <bruno@clisp.org>
34008
34009         * lib/sockets.h: Add a comment.
34010
34011 2008-11-11  Karl Berry  <karl@gnu.org>
34012
34013         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
34014
34015 2008-11-11  Eric Blake  <ebb9@byu.net>
34016
34017         fdl.texi: avoid git symlinks
34018         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
34019
34020 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34021
34022         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
34023
34024 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34025
34026         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
34027         (gl_WARN_ADD): Substitute $2 if literal.
34028
34029 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34030
34031         * m4/warning.m4: Remove.
34032
34033 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34034
34035         * m4/warnings.m4: Almost complete rewrite. :-)
34036
34037 2008-11-10  Simon Josefsson  <simon@josefsson.org>
34038
34039         * modules/warnings: New module.
34040         * m4/warnings.m4: New file.
34041         * MODULES.html.sh: Mention warnings module.
34042         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
34043         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34044
34045 2008-11-10  Eric Blake  <ebb9@byu.net>
34046
34047         fdl.texi: make a symlink to the latest version
34048         * doc/standards.texi: Revert today's earlier change.
34049         * doc/fdl-1.2.texi: Rename from old fdl.texi...
34050         * doc/fdl.texi: ...and replace this with a symlink to the newer
34051         fdl-1.3.texi.
34052
34053 2008-11-10  Bruno Haible  <bruno@clisp.org>
34054
34055         * tests/test-select-fd.c (main): Accept the result file name as fourth
34056         argument.
34057         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
34058         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
34059
34060 2008-11-10  Bruno Haible  <bruno@clisp.org>
34061
34062         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
34063         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
34064         as autoconf-substituted macros.
34065         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
34066         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
34067         gl_NETDB_H_DEFAULTS. Set these variables.
34068         * modules/netdb (Makefile.am): Substitute these variables.
34069
34070 2008-11-10  Eric Blake  <ebb9@byu.net>
34071
34072         standards.texi: include correct file for FDL 1.3
34073         * doc/standards.texi (GNU Free Documentation License): Change
34074         include file to pull in FDL 1.3, not 1.2.
34075
34076         fdl.texi: revert accidental change to license
34077         * doc/fdl.texi: This is FDL 1.2, not 1.3.
34078
34079 2008-11-10  Bruno Haible  <bruno@clisp.org>
34080
34081         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
34082         cross-compiling guesses also when the native compile gives no result.
34083
34084 2008-11-10  Bruno Haible  <bruno@clisp.org>
34085
34086         * lib/spawni.c (__spawni): Force variable into the stack.
34087
34088 2008-11-10  Bruno Haible  <bruno@clisp.org>
34089
34090         Add support for Haiku.
34091         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
34092         glibc and BeOS, but also on Haiku.
34093         * lib/fpurge.c (fpurge): Likewise.
34094         * lib/freadable.c (freadable): Likewise.
34095         * lib/freadahead.c (freadahead): Likewise.
34096         * lib/freading.c (freading): Likewise.
34097         * lib/freadptr.c (freadptr): Likewise.
34098         * lib/freadseek.c (freadptrinc): Likewise.
34099         * lib/fseeko.c (rpl_fseeko): Likewise.
34100         * lib/fseterr.c (fseterr): Likewise.
34101         * lib/fwritable.c (fwritable): Likewise.
34102         * lib/fwriting.c (fwriting): Likewise.
34103         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
34104
34105 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
34106
34107         * lib/config.charset: Treat Haiku like BeOS.
34108
34109 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
34110
34111         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
34112         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
34113
34114 2008-11-08  Bruno Haible  <bruno@clisp.org>
34115
34116         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
34117         AC_CACHE_CHECK.
34118
34119 2008-11-08  Bruno Haible  <bruno@clisp.org>
34120
34121         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
34122
34123 2008-11-08  Bruno Haible  <bruno@clisp.org>
34124
34125         * tests/test-select-fd.c: New file.
34126         * tests/test-select-in.sh: New file.
34127         * tests/test-select-out.sh: New file.
34128         * tests/test-select-stdin.c: New file.
34129         * modules/select-tests (Files): Add the new files.
34130         (Depends-on): Add gettimeofday.
34131         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
34132         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
34133         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
34134
34135 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
34136             Bruno Haible  <bruno@clisp.org>
34137
34138         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
34139
34140 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
34141
34142         * build-aux/pmccabe2html: Added support for C++ source files.
34143
34144 2008-11-05  Ben Pfaff  <blp@gnu.org>
34145
34146         Fix lib/close.c build on Windows.
34147         * modules/close (Files): Add lib/w32sock.h.
34148
34149 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
34150
34151         Accept Bison's NEWS format.
34152         * build-aux/announce-gen (print_news_deltas): Tweak
34153         $re_prefix.
34154
34155 2008-11-04  Bruno Haible  <bruno@clisp.org>
34156
34157         * modules/random_r (Maintainer): Add glibc.
34158
34159 2008-11-04  Simon Josefsson  <simon@josefsson.org>
34160
34161         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
34162         by karl@freefriends.org (Karl Berry).
34163         * doc/alloca.texi: Likewise.
34164         * doc/c-ctype.texi: Likewise.
34165         * doc/c-strcase.texi: Likewise.
34166         * doc/c-strcaseeq.texi: Likewise.
34167         * doc/c-strcasestr.texi: Likewise.
34168         * doc/c-strstr.texi: Likewise.
34169         * doc/c-strtod.texi: Likewise.
34170         * doc/c-strtold.texi: Likewise.
34171         * doc/ctime.texi: Likewise.
34172         * doc/error.texi: Likewise.
34173         * doc/fdl.texi: Likewise.
34174         * doc/gcd.texi: Likewise.
34175         * doc/getdate.texi: Likewise.
34176         * doc/gnulib-intro.texi: Likewise.
34177         * doc/gnulib-tool.texi: Likewise.
34178         * doc/gnulib.texi: Likewise.
34179         * doc/inet_ntoa.texi: Likewise.
34180         * doc/maintain.texi: Likewise.
34181         * doc/make-stds.texi: Likewise.
34182         * doc/quote.texi: Likewise.
34183         * doc/regexprops-generic.texi: Likewise.
34184         * doc/standards.texi: Likewise.
34185         * doc/verify.texi: Likewise.
34186         * doc/visibility.texi: Likewise.
34187         * doc/gnulib.texi (GNU Free Documentation License): Include
34188         fdl-1.3.texi instead of fdl.texi.
34189
34190 2008-11-04  Simon Josefsson  <simon@josefsson.org>
34191
34192         * doc/fdl-1.3.texi: New file, from
34193         <http://www.gnu.org/licenses/fdl-1.3.texi>.
34194         * modules/fdl-1.3: Add.
34195         * MODULES.html.sh: Add fdl-1.3.
34196
34197 2008-11-03  Bruno Haible  <bruno@clisp.org>
34198
34199         Make determination of absolute name of header file work with AIX xlc.
34200         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
34201         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
34202         preprocessing.
34203         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
34204         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
34205
34206 2008-11-03  Simon Josefsson  <simon@josefsson.org>
34207
34208         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
34209         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
34210         <ludo@gnu.org>.
34211
34212 2008-11-02  Bruno Haible  <bruno@clisp.org>
34213
34214         Mark 'strpbrk' obsolete.
34215         * modules/strpbrk (Status, Notice): New sections.
34216         * modules/strtok_r (Depends-on): Add strpbrk.
34217
34218 2008-11-02  Bruno Haible  <bruno@clisp.org>
34219
34220         Mark 'strdup' obsolete.
34221         * modules/strdup (Status, Notice): New sections.
34222         * modules/findprog (Depends-on): Add strdup.
34223         * modules/getaddrinfo (Depends-on): Likewise.
34224         * modules/localename (Depends-on): Likewise.
34225         * modules/relocatable-lib (Depends-on): Likewise.
34226         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
34227         * modules/relocatable-prog (Depends-on): Likewise.
34228         * modules/trim (Depends-on): Likewise.
34229         * modules/unictype/gen-ctype (Depends-on): Likewise.
34230         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
34231
34232 2008-11-02  Bruno Haible  <bruno@clisp.org>
34233
34234         Mark 'strcspn' obsolete.
34235         * modules/strcspn (Status, Notice): New sections.
34236
34237 2008-11-02  Bruno Haible  <bruno@clisp.org>
34238
34239         Mark 'rmdir' obsolete.
34240         * modules/rmdir (Status, Notice): New sections.
34241         * modules/clean-temp (Depends-on): Add rmdir.
34242         * modules/openat (Depends-on): Likewise.
34243
34244 2008-11-02  Bruno Haible  <bruno@clisp.org>
34245
34246         Mark 'raise' obsolete.
34247         * modules/raise (Status, Notice): New sections.
34248         (Include): Specify <signal.h>.
34249         * modules/stdio (Depends-on): Add raise.
34250         * modules/write (Depends-on): Likewise.
34251
34252 2008-11-02  Bruno Haible  <bruno@clisp.org>
34253
34254         Mark 'memset' obsolete.
34255         * modules/memset (Status, Notice): New sections.
34256
34257 2008-11-02  Bruno Haible  <bruno@clisp.org>
34258
34259         Mark 'memmove' obsolete.
34260         * modules/memmove (Status, Notice): New sections.
34261         * modules/argp (Depends-on): Add memmove.
34262         * modules/argz (Depends-on): Likewise.
34263         * modules/canonicalize (Depends-on): Likewise.
34264         * modules/canonicalize-lgpl (Depends-on): Likewise.
34265         * modules/fts (Depends-on): Likewise.
34266         * modules/getcwd (Depends-on): Likewise.
34267         * modules/human (Depends-on): Likewise.
34268         * modules/regex (Depends-on): Likewise.
34269         * modules/striconveh (Depends-on): Likewise.
34270         * modules/trim (Depends-on): Likewise.
34271         * modules/unistr/u8-move (Depends-on): Likewise.
34272         * modules/unistr/u16-move (Depends-on): Likewise.
34273         * modules/unistr/u32-move (Depends-on): Likewise.
34274
34275 2008-11-02  Bruno Haible  <bruno@clisp.org>
34276
34277         Mark 'memcpy' obsolete.
34278         * modules/memcpy (Status, Notice): New sections.
34279
34280 2008-11-02  Bruno Haible  <bruno@clisp.org>
34281
34282         Mark 'memcmp' obsolete.
34283         * modules/memcmp (Status, Notice): New sections.
34284         * modules/argmatch (Depends-on): Add memchr.
34285         * modules/backupfile (Depends-on): Likewise.
34286         * modules/c-strcasestr (Depends-on): Likewise.
34287         * modules/crypto/des (Depends-on): Likewise.
34288         * modules/csharpcomp (Depends-on): Likewise.
34289         * modules/fnmatch (Depends-on): Likewise.
34290         * modules/git-merge-changelog (Depends-on): Likewise.
34291         * modules/isnand (Depends-on): Likewise.
34292         * modules/isnand-nolibm (Depends-on): Likewise.
34293         * modules/isnanf (Depends-on): Likewise.
34294         * modules/isnanf-nolibm (Depends-on): Likewise.
34295         * modules/isnanl (Depends-on): Likewise.
34296         * modules/isnanl-nolibm (Depends-on): Likewise.
34297         * modules/mbchar (Depends-on): Likewise.
34298         * modules/memcoll (Depends-on): Likewise.
34299         * modules/quotearg (Depends-on): Likewise.
34300         * modules/regex (Depends-on): Likewise.
34301         * modules/relocatable-prog (Depends-on): Likewise.
34302         * modules/same (Depends-on): Likewise.
34303         * modules/signbit (Depends-on): Likewise.
34304         * modules/strcasestr-simple (Depends-on): Likewise.
34305         * modules/unictype/gen-ctype (Depends-on): Likewise.
34306         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
34307         * modules/uniname/uniname (Depends-on): Likewise.
34308         * modules/unistr/u8-cmp (Depends-on): Likewise.
34309
34310 2008-11-02  Bruno Haible  <bruno@clisp.org>
34311
34312         Mark 'memchr' obsolete.
34313         * modules/memchr (Status, Notice): New sections.
34314         * modules/argp (Depends-on): Add memchr.
34315         * modules/base64 (Depends-on): Likewise.
34316         * modules/c-strcasestr (Depends-on): Likewise.
34317         * modules/chdir-long (Depends-on): Likewise.
34318         * modules/fnmatch (Depends-on): Likewise.
34319         * modules/getsubopt (Depends-on): Likewise.
34320         * modules/git-merge-changelog (Depends-on): Likewise.
34321         * modules/glob (Depends-on): Likewise.
34322         * modules/strcasestr-simple (Depends-on): Likewise.
34323         * modules/strnlen (Depends-on): Likewise.
34324
34325 2008-11-02  Bruno Haible  <bruno@clisp.org>
34326
34327         Mark 'atexit' obsolete.
34328         * modules/atexit (Status, Notice): New sections.
34329         * modules/chdir-long (Depends-on): Add atexit.
34330         * modules/wait-process (Depends-on): Likewise.
34331
34332 2008-11-02  Bruno Haible  <bruno@clisp.org>
34333
34334         * gnulib-tool: New option --with-obsolete.
34335         (func_usage): Document it.
34336         (func_modules_transitive_closure): Drop obsolete dependencies if
34337         incobsolete is not true.
34338         (func_import): Read and save the incobsolete variable to the cache.
34339
34340 2008-11-02  Bruno Haible  <bruno@clisp.org>
34341
34342         * modules/TEMPLATE-EXTENDED: New field 'Status'.
34343         * gnulib-tool: New option --extract-status.
34344         (func_usage): Document it.
34345         (sed_extract_prog): Recognize it.
34346         (func_get_status): New function.
34347
34348 2008-10-30  Simon Josefsson  <simon@josefsson.org>
34349
34350         * modules/sockets (License): Change from LGPL to LGPLv2+.
34351
34352 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34353
34354         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
34355
34356 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34357
34358         * MODULES.html.sh (Support for systems lacking POSIX:2001):
34359         Mention times and sys_times.
34360         * modules/sys_times, modules/sys_times-tests: New modules.
34361         * modules/times, modules/times-tests: Likewise
34362         * m4/sys_times_h.m4: New file.
34363         * lib/sys_times.in.h: Likewise
34364         * lib/times.c: Likewise.
34365         * tests/test-sys_times.c: Likewise.
34366         * tests/test-times.c: Likewise.
34367         * doc/posix-headers/sys_times.texi: Update.
34368         * doc/posix-functions/times.texi: Update.
34369
34370 2008-10-28  Jim Meyering  <meyering@redhat.com>
34371
34372         * modules/tempname (Depends-on): Add lstat.
34373
34374         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
34375
34376 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34377
34378         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
34379         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
34380         using idiom used elsewhere in gnulib.
34381
34382 2008-10-27  Jim Meyering  <meyering@redhat.com>
34383
34384         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
34385
34386 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34387
34388         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
34389         TESTS_ENVIRONMENT, for shell scripts that needs to call built
34390         programs.
34391         * tests/test-argp-2.sh: Use $EXEEXT when needed.
34392
34393 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34394
34395         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
34396
34397 2008-10-27  Bruno Haible  <bruno@clisp.org>
34398
34399         * tests/test-lstat.c: Include <stdio.h>.
34400
34401 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34402
34403         * modules/lstat-tests: New module.
34404         * tests/test-lstat.c: New file.
34405
34406 2008-10-26  Jim Meyering  <meyering@redhat.com>
34407
34408         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
34409
34410 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34411             Bruno Haible  <bruno@clisp.org>
34412
34413         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
34414         * modules/configmake (Include): Add a note that the include must come
34415         after all system headers.
34416         * lib/javaversion.c: Include configmake.h after all other includes.
34417
34418 2008-10-26  Bruno Haible  <bruno@clisp.org>
34419
34420         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
34421         HAVE_STRUCT_RANDOM_DATA to 1.
34422         (gl_STDLIB_H): Simplify.
34423
34424 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34425
34426         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
34427         substitute HAVE_STRUCT_RANDOM_DATA.
34428         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
34429         random_data.
34430         * modules/stdlib (Makefile.am): Substitute
34431         HAVE_STRUCT_RANDOM_DATA.
34432
34433 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34434
34435         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
34436         * doc/gnulib-intro.texi (Copyright): Likewise.
34437
34438 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34439
34440         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
34441         findings.
34442
34443 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
34444             Bruno Haible  <bruno@clisp.org>
34445
34446         * lib/unistd.in.h: Include <winsock2.h>.
34447         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
34448         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
34449         Provide dummy declarations.
34450         (gethostname): Override.
34451         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
34452         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
34453         gl_PREREQ_SYS_H_WINSOCK2.
34454         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
34455         * doc/posix-functions/gethostname.texi: More details.
34456
34457 2008-10-25  Bruno Haible  <bruno@clisp.org>
34458
34459         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34460         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
34461         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
34462
34463         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
34464         here ...
34465         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
34466         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
34467         gl_UNISTD_H_DEFAULTS.
34468
34469 2008-10-25  Eric Blake  <ebb9@byu.net>
34470
34471         signbit: avoid spurious compiler failure
34472         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
34473         declarations inside function.
34474
34475 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34476             Bruno Haible  <bruno@clisp.org>
34477
34478         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
34479         * modules/random_r (Depends-on): Add stdint.
34480
34481 2008-10-24  Bruno Haible  <bruno@clisp.org>
34482
34483         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
34484         Eggert.
34485         * modules/strerror (License): Likewise.
34486
34487 2008-10-24  Jim Meyering  <meyering@redhat.com>
34488
34489         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
34490         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
34491
34492 2008-10-24  Eric Blake  <ebb9@byu.net>
34493
34494         getgroups: fix compilation when getgroups is available
34495         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
34496         but with <config.h> override of getgroups disabled.
34497
34498 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34499
34500         * doc/gnulib.texi (Header files): Add note about C++ problems.
34501         Explained by Bruno Haible <bruno@clisp.org>.
34502
34503 2008-10-23  Bruno Haible  <bruno@clisp.org>
34504
34505         Define a dummy SA_NODEFER macro on Interix.
34506         * lib/signal.in.h (SA_NODEFER): Define fallback.
34507         Reported by Aleksey Cheusov <cheusov@tut.by> via
34508         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
34509
34510 2008-10-23  Bruno Haible  <bruno@clisp.org>
34511
34512         * modules/freadahead (License): Change to LGPLv2+.
34513         Suggested by Simon Josefsson.
34514
34515 2008-10-23  Jim Meyering  <meyering@redhat.com>
34516
34517         random_r: new module
34518         * modules/random_r: New file.
34519         * m4/random_r.m4: New file.
34520         * lib/random_r.c: New file, from glibc.
34521         * modules/random_r-tests: New file.
34522         * tests/test-random_r.c: New file.
34523         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
34524          Declare.
34525         (RAND_MAX): Define.
34526         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
34527         * modules/stdlib: Substitute them, too.
34528         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
34529         * doc/glibc-functions/initstate_r.texi: Mention the new module.
34530         * doc/glibc-functions/random_r.texi: Likewise.
34531         * doc/glibc-functions/setstate_r.texi: Likewise.
34532         * doc/glibc-functions/srandom_r.texi: Likewise.
34533         * config/srclist.txt: Mention it.
34534
34535 2008-10-23  David Lutterkort  <lutter@redhat.com>
34536
34537         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
34538         link requirement
34539
34540 2008-10-23  Jim Meyering  <meyering@redhat.com>
34541
34542         selinux-h: mark parameters of stub functions as intentionally unused
34543         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
34544         * lib/se-context.in.h: Likewise.
34545
34546 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34547
34548         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
34549
34550 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34551
34552         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
34553
34554 2008-10-22  Eric Blake  <ebb9@byu.net>
34555
34556         glthread/thread: avoid compiler warning
34557         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
34558         Add unreachable abort to silence compiler.
34559
34560 2008-10-22  Eric Blake  <ebb9@byu.net>
34561
34562         netdb: also supply struct addrinfo for cygwin 1.5.x
34563         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
34564         older cygwin.
34565         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
34566         cygwin.
34567         * doc/posix-headers/netdb.texi (netdb.h): Document this.
34568
34569 2008-10-22  Bruno Haible  <bruno@clisp.org>
34570
34571         * users.txt: Update entry about pspp.
34572
34573 2008-10-21  Bruno Haible  <bruno@clisp.org>
34574
34575         Simplification.
34576         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
34577         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
34578
34579         Simplification.
34580         * lib/ioctl.c (ioctl): Don't undefine.
34581         * lib/socket.c (socket): Don't undefine.
34582
34583         Remove unused module indicator macros.
34584         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
34585         GNULIB_$1 as a C macro.
34586
34587         * doc/posix-functions/close.texi: Undo last change.
34588         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
34589         Windows platforms.
34590
34591 2008-10-21  Bruno Haible  <bruno@clisp.org>
34592
34593         Add gethostname() declaration to <unistd.h>.
34594         * lib/unistd.in.h (gethostname): New declaration.
34595         * lib/gethostname.c: Include <unistd.h>.
34596         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
34597         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
34598         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
34599         and HAVE_GETHOSTNAME.
34600         * modules/gethostname (Depends-on): Add unistd.
34601         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34602         (Include): Specify <unistd.h>.
34603         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
34604         HAVE_GETHOSTNAME.
34605         * tests/test-gethostname.c: Include <unistd.h> first.
34606
34607 2008-10-21  Bruno Haible  <bruno@clisp.org>
34608
34609         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
34610         * modules/select-tests (Depends-on): Likewise.
34611         Reported by Simon Josefsson.
34612
34613 2008-10-21  Simon Josefsson  <simon@josefsson.org>
34614
34615         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
34616         * lib/accept.c: New file, based on winsock.c.
34617         * lib/bind.c: New file, based on winsock.c.
34618         * lib/connect.c: New file, based on winsock.c.
34619         * lib/getpeername.c: New file, based on winsock.c.
34620         * lib/getsockname.c: New file, based on winsock.c.
34621         * lib/getsockopt.c: New file, based on winsock.c.
34622         * lib/ioctl.c: New file, based on winsock.c.
34623         * lib/listen.c: New file, based on winsock.c.
34624         * lib/recv.c: New file, based on winsock.c.
34625         * lib/recvfrom.c: New file, based on winsock.c.
34626         * lib/send.c: New file, based on winsock.c.
34627         * lib/sendto.c: New file, based on winsock.c.
34628         * lib/setsockopt.c: New file, based on winsock.c.
34629         * lib/shutdown.c: New file, based on winsock.c.
34630         * lib/socket.c: New file, based on winsock.c.
34631         * lib/w32sock.h: New file, based on winsock.c.
34632         * lib/winsock.c: Remove file.
34633         * modules/accept: Likewise.
34634         * modules/bind: Likewise.
34635         * modules/connect: Likewise.
34636         * modules/getpeername: Likewise.
34637         * modules/getsockname: Likewise.
34638         * modules/getsockopt: Likewise.
34639         * modules/ioctl: Likewise.
34640         * modules/listen: Likewise.
34641         * modules/recv: Likewise.
34642         * modules/recvfrom: Likewise.
34643         * modules/send: Likewise.
34644         * modules/sendto: Likewise.
34645         * modules/setsockopt: Likewise.
34646         * modules/shutdown: Likewise.
34647         * modules/socket: Use socket.c instead of winsock.c.
34648         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
34649         * doc/posix-functions/accept.texi: Doc fix.
34650         * doc/posix-functions/bind.texi: Doc fix.
34651         * doc/posix-functions/close.texi: Doc fix.
34652         * doc/posix-functions/connect.texi: Doc fix.
34653         * doc/posix-functions/getpeername.texi: Doc fix.
34654         * doc/posix-functions/getsockname.texi: Doc fix.
34655         * doc/posix-functions/getsockopt.texi: Doc fix.
34656         * doc/posix-functions/ioctl.texi: Doc fix.
34657         * doc/posix-functions/listen.texi: Doc fix.
34658         * doc/posix-functions/recv.texi: Doc fix.
34659         * doc/posix-functions/recvfrom.texi: Doc fix.
34660         * doc/posix-functions/send.texi: Doc fix.
34661         * doc/posix-functions/sendto.texi: Doc fix.
34662         * doc/posix-functions/setsockopt.texi: Doc fix.
34663         * doc/posix-functions/shutdown.texi: Doc fix.
34664         * doc/posix-functions/socket.texi: Doc fix.
34665
34666 2008-10-20  Bruno Haible  <bruno@clisp.org>
34667
34668         Take into account the role of SIGABRT_COMPAT on Windows 2008.
34669         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
34670         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
34671         as an alias for SIGABRT.
34672         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
34673         (sigaction): Map it to SIGABRT.
34674         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
34675
34676 2008-10-20  Bruno Haible  <bruno@clisp.org>
34677
34678         * lib/fts.c: Don't include lstat.h.
34679         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
34680
34681         Move the lstat() declaration to <sys/stat.h>.
34682         * lib/lstat.h: Remove file.
34683         * lib/sys_stat.in.h: Add special invocation convention.
34684         (lstat): New declaration.
34685         * lib/lstat.c (orig_lstat): New function.
34686         (rpl_lstat): Use orig_lstat instead of lstat.
34687         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
34688         AC_C_INLINE. Set REPLACE_LSTAT.
34689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
34690         and REPLACE_LSTAT.
34691         * modules/lstat (Files): Remove lib/lstat.h.
34692         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34693         (Include): Specify <sys/stat.h> instead of lstat.h.
34694         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
34695         REPLACE_LSTAT.
34696         * NEWS: Mention the change.
34697
34698 2008-10-20  Bruno Haible  <bruno@clisp.org>
34699
34700         * modules/posix_spawn-tests: New file.
34701         * tests/test-posix_spawn3.c: New file.
34702
34703 2008-10-20  Bruno Haible  <bruno@clisp.org>
34704
34705         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
34706         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34707         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
34708         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34709         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
34710
34711 2008-10-20  Bruno Haible  <bruno@clisp.org>
34712
34713         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
34714         of posix_spawn on AIX 5.3.
34715
34716 2008-10-20  Bruno Haible  <bruno@clisp.org>
34717
34718         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
34719
34720 2008-10-20  Bruno Haible  <bruno@clisp.org>
34721
34722         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
34723         of AC_LANG_PROGRAM.
34724
34725 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34726
34727         * lib/netdb.in.h: Don't define GNU specific constants until they
34728         are supported or needed.  Reported by Bruno Haible
34729         <bruno@clisp.org>.
34730
34731 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34732
34733         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
34734
34735 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34736
34737         * lib/getaddrinfo.h: Remove file.
34738         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
34739         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
34740         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
34741         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
34742         * modules/netdb: Substitute GNULIB_GETADDRINFO.
34743         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
34744         * tests/test-getaddrinfo.c: Likewise.
34745         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
34746         * NEWS: Mention change.
34747
34748 2008-10-19  Bruno Haible  <bruno@clisp.org>
34749
34750         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
34751
34752 2008-10-19  Bruno Haible  <bruno@clisp.org>
34753
34754         * lib/wait-process.c: Include simply <sys/wait.h>.
34755         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
34756         WIFSTOPPED): Remove fallback definitions.
34757         * modules/wait-process (Depends-on): Add sys_wait.
34758
34759         New module 'sys_wait'.
34760         * modules/sys_wait: New file.
34761         * lib/sys_wait.in.h: New file, partially copied from
34762         lib/wait-process.c.
34763         * m4/sys_wait_h.m4: New file.
34764         * doc/posix-headers/sys_wait.texi: Mention the new module.
34765
34766 2008-10-19  Bruno Haible  <bruno@clisp.org>
34767
34768         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
34769
34770 2008-10-19  Bruno Haible  <bruno@clisp.org>
34771
34772         Assume that waitpid() fills an 'int' status, not a 'union wait'.
34773         * lib/wait-process.c (WAIT_T): Remove type.
34774         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
34775         (wait_subprocess): Update.
34776
34777 2008-10-19  Bruno Haible  <bruno@clisp.org>
34778
34779         New module 'atoll'.
34780         * modules/atoll: New file.
34781         * lib/stdlib.in.h (atoll): New declaration.
34782         * lib/atoll.c: New file, from glibc with modifications.
34783         * m4/atoll.m4: New file.
34784         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
34785         HAVE_ATOLL.
34786         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
34787         * doc/posix-functions/atoll.texi: Mention the new module.
34788
34789 2008-10-19  Bruno Haible  <bruno@clisp.org>
34790
34791         Add strtoull() declaration to <stdlib.h>.
34792         * lib/stdlib.in.h (strtoull): New declaration.
34793         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34794         Set HAVE_STRTOULL.
34795         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
34796         HAVE_STRTOULL.
34797         * modules/strtoull (Depends-on): Add stdlib.
34798         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34799         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
34800         HAVE_STRTOULL.
34801
34802 2008-10-19  Bruno Haible  <bruno@clisp.org>
34803
34804         Add strtoll() declaration to <stdlib.h>.
34805         * lib/stdlib.in.h (strtoll): New declaration.
34806         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34807         Set HAVE_STRTOLL.
34808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
34809         HAVE_STRTOLL.
34810         * modules/strtoll (Depends-on): Add stdlib.
34811         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34812         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
34813
34814 2008-10-19  Bruno Haible  <bruno@clisp.org>
34815
34816         * modules/bcopy (Depends-on): Add strings.
34817         (Include): Specify <strings.h>.
34818
34819 2008-10-19  Bruno Haible  <bruno@clisp.org>
34820
34821         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
34822
34823 2008-10-19  Bruno Haible  <bruno@clisp.org>
34824
34825         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
34826         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
34827         mingw.
34828
34829 2008-10-19  Bruno Haible  <bruno@clisp.org>
34830
34831         * lib/atanl.c: Don't include isnanl.h.
34832         * lib/cosl.c: Likewise.
34833         * lib/ldexpl.c: Likewise.
34834         * lib/logl.c: Likewise.
34835         * lib/sinl.c: Likewise.
34836         * lib/sqrtl.c: Likewise.
34837         * lib/tanl.c: Likewise.
34838
34839         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
34840         * lib/isnanf.h: Remove file.
34841         * lib/isnand.h: Remove file.
34842         * lib/isnanl.h: Remove file.
34843         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
34844         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
34845         macros.
34846         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
34847         HAVE_ISNANF, don't define it as a C macro.
34848         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
34849         HAVE_ISNAND, don't define it as a C macro.
34850         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
34851         HAVE_ISNANL, don't define it as a C macro.
34852         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
34853         HAVE_ISNAN[FDL].
34854         * modules/isnanf (Files): Remove lib/isnanf.h.
34855         (Depends-on): Add math.
34856         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34857         (Include): Specify <math.h> instead of isnanf.h.
34858         * modules/isnand (Files): Remove lib/isnand.h.
34859         (Depends-on): Add math.
34860         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34861         (Include): Specify <math.h> instead of isnand.h.
34862         * modules/isnanl (Files): Remove lib/isnanl.h.
34863         (Depends-on): Add math.
34864         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34865         (Include): Specify <math.h> instead of isnanl.h.
34866         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
34867         HAVE_ISNAN[FDL].
34868         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
34869         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
34870         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
34871         * NEWS: Mention the change.
34872
34873 2008-10-18  Bruno Haible  <bruno@clisp.org>
34874
34875         Add getusershell(), setusershell(), endusershell() declarations to
34876         <unistd.h>.
34877         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
34878         declarations.
34879         * lib/getusershell.c: Include unistd.h.
34880         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
34881         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34882         HAVE_GETUSERSHELL.
34883         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
34884         and HAVE_GETUSERSHELL.
34885         * modules/getusershell (Depends-on): Add unistd, extensions.
34886         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34887         (Include): Specify <unistd.h>.
34888         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
34889         HAVE_GETUSERSHELL.
34890
34891 2008-10-18  Bruno Haible  <bruno@clisp.org>
34892
34893         Add a getloadavg() declaration to <stdlib.h>.
34894         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
34895         getloadavg declaration.
34896         (getloadavg): New declaration.
34897         * lib/getloadavg.c: Include <stdlib.h> first.
34898         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
34899         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
34900         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
34901         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
34902         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34903         * modules/getloadavg (Depends-on): Add stdlib, extensions.
34904         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34905         (Include): Specify <stdlib.h>.
34906         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
34907         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34908
34909 2008-10-18  Bruno Haible  <bruno@clisp.org>
34910
34911         * lib/dirchownmod.c: Don't include lchmod.h.
34912
34913         Move the lchmod() declaration to <sys/stat.h>.
34914         * lib/lchmod.h: Remove file.
34915         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
34916         (lchmod): New declaration, moved here from lib/lchown.h.
34917         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
34918         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
34919         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
34920         and HAVE_LCHMOD.
34921         * modules/lchmod (Files): Remove lib/lchmod.h.
34922         (Depends-on): Add sys_stat, extensions.
34923         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34924         (Include): Specify <sys/stat.h> instead of lchmod.h.
34925         * modules/sys_stat (Depends-on): Add link-warning.
34926         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
34927         definition of GL_LINK_WARNING.
34928         * NEWS: Mention the change.
34929
34930 2008-10-18  Bruno Haible  <bruno@clisp.org>
34931
34932         * lib/fchdir.c: Don't include dirfd.h.
34933         * lib/fts.c: Likewise.
34934         * lib/getcwd.c: Likewise.
34935         * lib/glob.c: Likewise.
34936
34937         Move the dirfd() declaration to <dirent.h>.
34938         * lib/dirfd.h: Remove file.
34939         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
34940         (dirfd): New declaration.
34941         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
34942         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
34943         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
34944         HAVE_DECL_DIRFD.
34945         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
34946         HAVE_DECL_DIRFD.
34947         * modules/dirfd (Files): Remove lib/dirfd.h.
34948         (Depends-on): Add dirent, extensions.
34949         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
34950         (Include): Specify <dirent.h> instead of dirfd.h.
34951         * modules/dirent (Depends-on): Add link-warning.
34952         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
34953         definition of GL_LINK_WARNING.
34954         * NEWS: Mention the change.
34955
34956 2008-10-18  Bruno Haible  <bruno@clisp.org>
34957
34958         Move the euidaccess() declaration to <unistd.h>.
34959         * lib/euidaccess.h: Remove file.
34960         * lib/unistd.in.h (euidaccess): New declaration.
34961         * lib/euidaccess.c: Don't include euidaccess.h.
34962         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
34963         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
34964         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
34965         and HAVE_EUIDACCESS.
34966         * modules/euidaccess (Files): Remove lib/euidaccess.h.
34967         (Depends-on): Add unistd.
34968         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34969         (Include): Specify <unistd.h> instead of euidaccess.h.
34970         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
34971         HAVE_EUIDACCESS.
34972         * NEWS: Mention the change.
34973
34974 2008-10-18  Bruno Haible  <bruno@clisp.org>
34975
34976         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
34977
34978         Move the getdomainname() declaration to <unistd.h>.
34979         * lib/getdomainname.h: Remove file.
34980         * lib/unistd.in.h (getdomainname): New declaration.
34981         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
34982         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
34983         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34984         HAVE_GETDOMAINNAME.
34985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34986         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
34987         * modules/getdomainname (Files): Remove lib/getdomainname.h.
34988         (Depends-on): Add unistd, extensions.
34989         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34990         (Includes): Specify <unistd.h> instead of getdomainname.h.
34991         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
34992         HAVE_GETDOMAINNAME.
34993         * NEWS: Mention the change.
34994
34995 2008-10-18  Bruno Haible  <bruno@clisp.org>
34996
34997         * modules/dirent: New file.
34998         * m4/dirent_h.m4: New file.
34999         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
35000         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
35001         * modules/fchdir (Files): Remove lib/dirent.in.h.
35002         (Depends-on): Add dirent.
35003         (Makefile.am): Move rules to modules/dirent.
35004         * doc/posix-headers/dirent.texi: Mention the new module.
35005
35006 2008-10-18  Bruno Haible  <bruno@clisp.org>
35007
35008         Avoid -Wunused-parameter warnings in public gnulib header files.
35009         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
35010         macro.
35011         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
35012
35013 2008-10-18  Bruno Haible  <bruno@clisp.org>
35014
35015         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
35016         * doc/glibc-functions/error.texi: Mention the module 'error'.
35017         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
35018         * doc/glibc-functions/getdomainname.texi: Mention the module
35019         'getdomainname'.
35020         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
35021         * doc/glibc-functions/getpagesize.texi: Mention the module
35022         'getpagesize'.
35023         * doc/glibc-functions/getusershell.texi: Mention the module
35024         'getusershell'.
35025         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
35026         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
35027         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
35028         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
35029         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
35030         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
35031         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
35032         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
35033         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
35034         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
35035         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
35036         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
35037         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
35038         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
35039
35040 2008-10-17  Bruno Haible  <bruno@clisp.org>
35041
35042         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
35043         HP-UX and IRIX, use -0.0L.
35044         * tests/test-ceill.c (minus_zero): Likewise.
35045         * tests/test-floorl.c (minus_zero): Likewise.
35046         * tests/test-frexpl.c (minus_zero): Likewise.
35047         * tests/test-isnan.c (minus_zerol): Likewise.
35048         * tests/test-isnanl.h (minus_zero): Likewise.
35049         * tests/test-ldexpl.c (minus_zero): Likewise.
35050         * tests/test-roundl.c (minus_zero): Likewise.
35051         * tests/test-signbit.c (minus_zerol): Likewise.
35052         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
35053         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
35054         * tests/test-truncl.c (minus_zero): Likewise.
35055         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
35056         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
35057         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
35058         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
35059
35060 2008-10-17  Bruno Haible  <bruno@clisp.org>
35061
35062         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
35063         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
35064         that it gets activated only for gcc >= 3.0.
35065         * lib/dirent.in.h: Likewise.
35066         * lib/errno.in.h: Likewise.
35067         * lib/fcntl.in.h: Likewise.
35068         * lib/float.in.h: Likewise.
35069         * lib/iconv.in.h: Likewise.
35070         * lib/inttypes.in.h: Likewise.
35071         * lib/locale.in.h: Likewise.
35072         * lib/math.in.h: Likewise.
35073         * lib/netdb.in.h: Likewise.
35074         * lib/netinet_in.in.h: Likewise.
35075         * lib/search.in.h: Likewise.
35076         * lib/signal.in.h: Likewise.
35077         * lib/spawn.in.h: Likewise.
35078         * lib/stdarg.in.h: Likewise.
35079         * lib/stdint.in.h: Likewise.
35080         * lib/stdio.in.h: Likewise.
35081         * lib/stdlib.in.h: Likewise.
35082         * lib/string.in.h: Likewise.
35083         * lib/strings.in.h: Likewise.
35084         * lib/sys_file.in.h: Likewise.
35085         * lib/sys_ioctl.in.h: Likewise.
35086         * lib/sys_select.in.h: Likewise.
35087         * lib/sys_socket.in.h: Likewise.
35088         * lib/sys_stat.in.h: Likewise.
35089         * lib/sys_time.in.h: Likewise.
35090         * lib/sysexits.in.h: Likewise.
35091         * lib/time.in.h: Likewise.
35092         * lib/unistd.in.h: Likewise.
35093         * lib/wchar.in.h: Likewise.
35094         * lib/wctype.in.h: Likewise.
35095         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35096
35097 2008-10-17  Jim Meyering  <meyering@redhat.com>
35098
35099         ignore-value: don't depend on inline module
35100         * modules/ignore-value (Depends-on): Remove 'inline'.
35101         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
35102         Suggestion from Bruno Haible.
35103
35104 2008-10-17  Bruno Haible  <bruno@clisp.org>
35105
35106         New implementation of condition variables for Win32.
35107         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
35108         (gl_linked_waitqueue_t): New type.
35109         (gl_cond_t): Use it.
35110         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
35111         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
35112         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
35113         (glthread_cond_init_func, glthread_cond_wait_func,
35114         glthread_cond_timedwait_func, glthread_cond_signal_func,
35115         glthread_cond_broadcast_func, glthread_cond_destroy_func):
35116         Reimplemented on the basis of gl_linked_waitqueue_t.
35117         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
35118         gl_waitqueue_t.
35119         (gl_rwlock_t): Update.
35120         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
35121
35122 2008-10-17  Simon Josefsson  <simon@josefsson.org>
35123
35124         * modules/recvfrom (Depends-on): Add dependency on getpeername.
35125         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35126
35127 2008-10-17  Jim Meyering  <meyering@redhat.com>
35128
35129         ignore-value: new module
35130         * modules/ignore-value: New file.
35131         * lib/ignore-value.h: New file.
35132         * MODULES.html.sh (Compiler warning management): New section,
35133         just for this module.  More to come.
35134
35135 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35136
35137         open-safer.c: avoid 'signed and unsigned in conditional...' warning
35138         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
35139         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
35140
35141 2008-10-16  Jim Meyering  <meyering@redhat.com>
35142
35143         openat-die.c: avoid 'no previous prototype' warning
35144         * lib/openat-die.c: Include "openat.h".
35145         Reported by Reuben Thomas <rrt@sc3d.org>.
35146
35147 2008-10-16  Simon Josefsson  <simon@josefsson.org>
35148
35149         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
35150         * lib/netdb.in.h: Fix typo.
35151         Reported by Bruno Haible  <bruno@clisp.org>
35152
35153         * lib/netdb.in.h: Include sys/socket.h for platforms without
35154         netdb.h, to get structures like hostent on MinGW.
35155         * modules/netdb (Depends-on): Add sys_socket.
35156
35157 2008-10-15  Simon Josefsson  <simon@josefsson.org>
35158
35159         * modules/netdb, modules/netdb-tests: New file.
35160         * m4/netdb_h.m4: New file.
35161         * lib/netdb.in.h: Add, currently just an empty file pending
35162         definitions.
35163         * tests/test-netdb.c: New file.
35164         * doc/posix-headers/netdb.texi: Mention that we replace it if
35165         needed.
35166         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35167         netdb.
35168
35169 2008-10-15  Simon Josefsson  <simon@josefsson.org>
35170
35171         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
35172         with code.
35173
35174 2008-10-13  Bruno Haible  <bruno@clisp.org>
35175
35176         * lib/glthread/cond.c (glthread_cond_wait_func,
35177         glthread_cond_timedwait_func): Add a comment.
35178
35179 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35180
35181         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
35182         * tests/test-select.c: Likewise,
35183
35184 2008-10-13  Bruno Haible  <bruno@clisp.org>
35185
35186         * lib/glthread/cond.c (glthread_cond_wait_func,
35187         glthread_cond_timedwait_func): Fix variable name.
35188         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35189
35190 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
35191
35192         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
35193         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
35194         struct sockaddr.sa_len.
35195         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
35196
35197 2008-10-13  Simon Josefsson  <simon@josefsson.org>
35198
35199         * build-aux/pmccabe2html: Add css and css_url parameters.
35200
35201 2008-10-12  Bruno Haible  <bruno@clisp.org>
35202
35203         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
35204         calling aclx_get.
35205         Reported by Rainer Tammer <tammer@tammer.net>.
35206
35207 2008-10-12  Bruno Haible  <bruno@clisp.org>
35208
35209         Use msvcrt aware primitives for creation/termination of Win32 threads.
35210         * lib/glthread/thread.c: Include <process.h>.
35211         (glthread_create_func): Use _beginthreadex instead of CreateThread.
35212         (wrapper_func): Update signature.
35213         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
35214
35215 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35216             Bruno Haible  <bruno@clisp.org>
35217
35218         Provide a Win32 implementation of the 'cond' module.
35219         * lib/glthread/cond.h [USE_WIN32]: New implementation.
35220         * lib/glthread/cond.c (glthread_cond_init_func,
35221         glthread_cond_wait_func, glthread_cond_timedwait_func,
35222         glthread_cond_signal_func, glthread_cond_broadcast_func,
35223         glthread_cond_destroy_func) [USE_WIN32]: New functions.
35224         * modules/cond (Dependencies): Add gettimeofday.
35225
35226 2008-10-11  Bruno Haible  <bruno@clisp.org>
35227
35228         Make sleep work on older versions of mingw.
35229         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
35230         only whether it exists.
35231         * doc/posix-functions/sleep.texi: Mention the problem with older
35232         versions of mingw.
35233
35234 2008-10-11  Bruno Haible  <bruno@clisp.org>
35235
35236         New module 'shutdown'.
35237         * modules/shutdown: New file.
35238         * lib/sys_socket.in.h (shutdown): New declaration.
35239         * lib/winsock.c (shutdown): New function.
35240         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35241         GNULIB_SHUTDOWN.
35242         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
35243         * doc/posix-functions/shutdown.texi: Document the new module.
35244
35245 2008-10-11  Jim Meyering  <meyering@redhat.com>
35246
35247         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
35248
35249 2008-10-11  Bruno Haible  <bruno@clisp.org>
35250
35251         New module 'fclose'.
35252         * modules/fclose: New file.
35253         * lib/stdio.in.h (fclose): New declaration.
35254         * lib/fclose.c: New file.
35255         * m4/fclose.m4: New file.
35256         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
35257         REPLACE_FCLOSE.
35258         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
35259         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
35260         REPLACE_FCLOSE.
35261         * modules/close (Depends-on): fclose.
35262         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
35263
35264 2008-10-11  Bruno Haible  <bruno@clisp.org>
35265
35266         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
35267         set errno and don't call _close.
35268
35269 2008-10-10  Bruno Haible  <bruno@clisp.org>
35270
35271         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
35272         ACL, not afterwards. Fixes test failure on Cygwin.
35273
35274 2008-10-09  Ben Pfaff  <blp@gnu.org>
35275
35276         * build-aux/announce-gen: Fix gnulib version related part of usage
35277         message.  Die with a useful error message if no tarballs are
35278         found.
35279
35280 2008-10-10  Jim Meyering  <meyering@redhat.com>
35281
35282         bootstrap: use git's --depth=N option only if it's supported
35283         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
35284         recognize the --depth option.  Reported by Pádraig Brady.
35285
35286 2008-10-09  Bruno Haible  <bruno@clisp.org>
35287
35288         New module 'ioctl'.
35289         * modules/ioctl: New file.
35290         * lib/sys_socket.in.h (ioctl): Remove declaration.
35291         * lib/winsock.c: Include <sys/ioctl.h>.
35292         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
35293         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35294         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
35295         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
35296         * doc/posix-functions/ioctl.texi: Mention the new module.
35297
35298 2008-10-09  Bruno Haible  <bruno@clisp.org>
35299
35300         New module 'sys_ioctl'.
35301         * lib/sys_ioctl.in.h: New file.
35302         * m4/sys_ioctl_h.m4: New file.
35303         * modules/sys_ioctl: New file.
35304         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
35305
35306 2008-10-09  Bruno Haible  <bruno@clisp.org>
35307
35308         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
35309         * lib/winsock.c: Include <stdarg.h>.
35310         (rpl_ioctl): Change to second argument 'int' and then varargs.
35311
35312 2008-10-09  Bruno Haible  <bruno@clisp.org>
35313
35314         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
35315         when the sys_socket module is present and the system has <winsock2.h>.
35316
35317 2008-10-09  Bruno Haible  <bruno@clisp.org>
35318
35319         * doc/posix-functions/close.texi: Mention module 'close' instead of
35320         module 'sys_socket'.
35321
35322 2008-10-09  Bruno Haible  <bruno@clisp.org>
35323
35324         * doc/glibc-headers/sys_ioctl.texi: New file.
35325         * doc/gnulib.texi: Include it.
35326
35327 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35328             Bruno Haible  <bruno@clisp.org>
35329
35330         Combine the two replacements of 'close'.
35331         * lib/sys_socket.in.h (close): Define to a reminder to include
35332         <unistd.h>.
35333         (_gl_close_fd_maybe_socket): New declaration.
35334         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
35335         * lib/winsock.c (close): Remove undefinition.
35336         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
35337         needed for the gnulib module 'close'.
35338         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
35339         define to an error symbol or to a warning, if suitable.
35340         * lib/close.c: Include <sys/socket.h>.
35341         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
35342         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
35343         UNISTD_H_HAVE_WINSOCK2_H.
35344         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
35345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35346         UNISTD_H_HAVE_WINSOCK2_H.
35347         * modules/sys_socket (Files): Add m4/unistd_h.m4.
35348         (configure.ac): Set a module indicator.
35349         (Makefile.am): Substitute GNULIB_CLOSE.
35350         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
35351         * modules/poll-tests (Depends-on): Add close.
35352         * modules/select-tests (Depends-on): Likewise.
35353
35354 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35355             Bruno Haible  <bruno@clisp.org>
35356
35357         New module 'close'.
35358         * modules/close: New file.
35359         * lib/unistd.in.h (close): Move declaration out of the
35360         FCHDIR_REPLACEMENT scope.
35361         (_gl_unregister_fd): New declaration.
35362         * lib/close.c: New file.
35363         * lib/fchdir.c (rpl_close): Remove function.
35364         * m4/close.m4: New file.
35365         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35366         close.
35367         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
35368         REPLACE_CLOSE.
35369         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
35370         REPLACE_CLOSE.
35371         * modules/fchdir (Depends-on): Add close.
35372
35373 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35374             Bruno Haible  <bruno@clisp.org>
35375
35376         * lib/fcntl.in.h (open): Simplify conditionals.
35377         (_gl_register_fd): New declaration.
35378         * lib/fchdir.c (rpl_open): Remove function.
35379         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
35380         also.
35381         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
35382         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35383         open.
35384
35385 2008-10-09  Jim Meyering  <meyering@redhat.com>
35386
35387         GNUmakefile: use the more name-space-friendly "_version"
35388         * top/GNUmakefile (_dummy): Update.
35389         (_version): Rename from "version".
35390
35391 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35392             Bruno Haible  <bruno@clisp.org>
35393
35394         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
35395         rpl_close.
35396         (_gl_register_fd): New function, extracted from rpl_open.
35397         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
35398         (rpl_open, rpl_opendir): Use _gl_register_fd.
35399
35400 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35401
35402         Fix organization of 'open' replacement.
35403         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
35404         (gl_FUNC_OPEN): Use it.
35405         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
35406
35407 2008-10-08  Bruno Haible  <bruno@clisp.org>
35408
35409         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
35410
35411 2008-10-08  Simon Josefsson  <simon@josefsson.org>
35412
35413         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
35414         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
35415         listen).
35416
35417 2008-10-08  Eric Blake  <ebb9@byu.net>
35418
35419         GNUmakefile: add 'make version' target
35420         * top/GNUmakefile (_curr-ver): Split version update rules...
35421         (version): ...into a target.
35422
35423 2008-10-07  Bruno Haible  <bruno@clisp.org>
35424
35425         Use a more portable replacement expression for -0.0L.
35426         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
35427         instead of -0.0L. Fix m4 quotation.
35428
35429         * tests/test-signbit.c: Include <float.h>.
35430         (minus_zero): New variable.
35431         (test_signbitl): Use minus_zero instead of -zero.
35432         * modules/signbit-tests (Depends-on): Add float.
35433
35434         * tests/test-ceill.c: Include <float.h>.
35435         (zero): Remove variable.
35436         (minus_zero): New variable.
35437         (main): Use minus_zero instead of -zero.
35438         * modules/ceill-tests (Depends-on): Add float.
35439
35440         * tests/test-floorl.c: Include <float.h>.
35441         (zero): Remove variable.
35442         (minus_zero): New variable.
35443         (main): Use minus_zero instead of -zero.
35444         * modules/floorl-tests (Depends-on): Add float.
35445
35446         * tests/test-roundl.c: Include <float.h>.
35447         (zero): Remove variable.
35448         (minus_zero): New variable.
35449         (main): Use minus_zero instead of -zero.
35450         * modules/roundl-tests (Depends-on): Add float.
35451
35452         * tests/test-truncl.c: Include <float.h>.
35453         (zero): Remove variable.
35454         (minus_zero): New variable.
35455         (main): Use minus_zero instead of -zero.
35456         * modules/truncl-tests (Depends-on): Add float.
35457
35458         * tests/test-frexpl.c (zero): Remove variable.
35459         (minus_zero): New variable.
35460         (main): Use minus_zero instead of -zero.
35461         * modules/frexpl-tests (Depends-on): Add float.
35462
35463         * tests/test-isnan.c (zerol): Remove variable.
35464         (minus_zerol): New variable.
35465         (test_long_double): Use minus_zerol instead of -zerol.
35466         * modules/isnan-tests (Depends-on): Add float.
35467
35468         * tests/test-isnanl.h (zero): Remove variable.
35469         (minus_zero): New variable.
35470         (main): Use minus_zero instead of -zero.
35471         * modules/isnanl-nolibm-tests (Depends-on): Add float.
35472         * modules/isnanl-tests (Depends-on): Add float.
35473
35474         * tests/test-ldexpl.c (zero): Remove variable.
35475         (minus_zero): New variable.
35476         (main): Use minus_zero instead of -zero.
35477         * modules/ldexpl-tests (Depends-on): Add float.
35478
35479         * tests/test-snprintf-posix.h (zerol): Remove variable.
35480         (minus_zerol): New variable.
35481         (test_function): Use minus_zerol instead of -zerol.
35482         * modules/snprintf-posix-tests (Depends-on): Add float.
35483         * modules/vsnprintf-posix-tests (Depends-on): Add float.
35484
35485         * tests/test-sprintf-posix.h (zerol): Remove variable.
35486         (minus_zerol): New variable.
35487         (test_function): Use minus_zerol instead of -zerol.
35488         * modules/sprintf-posix-tests (Depends-on): Add float.
35489         * modules/vsprintf-posix-tests (Depends-on): Add float.
35490
35491         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
35492         (minus_zerol): New variable.
35493         (test_function): Use minus_zerol instead of -zerol.
35494         * modules/vasnprintf-posix-tests (Depends-on): Add float.
35495
35496         * tests/test-vasprintf-posix.c (zerol): Remove variable.
35497         (minus_zerol): New variable.
35498         (test_function): Use minus_zerol instead of -zerol.
35499         * modules/vasprintf-posix-tests (Depends-on): Add float.
35500
35501 2008-10-07  Simon Josefsson  <simon@josefsson.org>
35502
35503         * MODULES.html.sh (Support for building documentation): Mention
35504         pmccabe2html.  Sort entries.
35505
35506         Add pmccabe2html module, from gnupdf.
35507         * build-aux/pmccabe.css: New file.
35508         * build-aux/pmccabe2html: New file.
35509         * m4/pmccabe2html.m4: New file.
35510         * modules/pmccabe2html: New file.
35511
35512 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
35513
35514         flock: new module
35515         * MODULES.html.sh: Add to list of modules.
35516         * lib/flock.c: flock implementation for Windows and Unix systems
35517         which have fcntl.
35518         * doc/glibc-functions/flock.texi: Update documentation.
35519         * lib/sys_file.in.h: <sys/file.h> header file.
35520         * m4/flock.m4: M4 macros.
35521         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
35522         * modules/flock: flock module.
35523         * modules/flock-tests: flock tests module.
35524         * modules/sys_file: sys/file.h module.
35525         * tests/test-flock.c: test suite for flock.
35526
35527 2008-10-06  Jim Meyering  <meyering@redhat.com>
35528
35529         bootstrap: check for LT_INIT more portably still ;-)
35530         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
35531         Spotted by Bruno Haible.
35532
35533 2008-10-06  Eric Blake  <ebb9@byu.net>
35534
35535         test-signbit: avoid tripping Irix cc bug on -0.0L
35536         * tests/test-signbit.c (minus_zerol): Delete, and replace with
35537         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
35538         entire testsuite consistent and avoids an Irix 6.2 bug.
35539
35540 2008-10-05  Bruno Haible  <bruno@clisp.org>
35541             Jim Meyering  <jim@meyering.net>
35542
35543         Add an option for ignoring EPIPE during close_stdout.
35544         * lib/closeout.h: Include <stdbool.h>.
35545         (close_stdout_set_ignore_EPIPE): New declaration.
35546         * lib/closeout.c: Include <stdbool.h>.
35547         (ignore_EPIPE): New variable.
35548         (close_stdout_set_ignore_EPIPE): New function.
35549         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
35550         * lib/close-stream.c (close_stream): Mention the possible EPIPE
35551         failure.
35552         * modules/closeout (Depends-on): Add stdbool.
35553
35554 2008-10-05  Bruno Haible  <bruno@clisp.org>
35555
35556         * modules/accept: New file.
35557         * modules/bind: New file.
35558         * modules/connect: New file.
35559         * modules/getpeername: New file.
35560         * modules/getsockname: New file.
35561         * modules/getsockopt: New file.
35562         * modules/listen: New file.
35563         * modules/recv: New file.
35564         * modules/recvfrom: New file.
35565         * modules/send: New file.
35566         * modules/sendto: New file.
35567         * modules/setsockopt: New file.
35568         * modules/socket: New file.
35569         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
35570         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35571         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
35572         the particular module is requested. Add a link warning when the
35573         particular module is not requested.
35574         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
35575         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
35576         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
35577         the particular module is requested.
35578         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
35579         gl_SYS_SOCKET_H_DEFAULTS): New macros.
35580         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
35581         * modules/sys_socket (Depends-on): Add link-warning.
35582         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
35583         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
35584         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
35585         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
35586         GL_LINK_WARNING.
35587         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
35588         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
35589         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
35590         * doc/posix-functions/getpeername.texi: Mention the new module
35591         'getpeername'.
35592         * doc/posix-functions/getsockname.texi: Mention the new module
35593         'getsockname'.
35594         * doc/posix-functions/getsockopt.texi: Mention the new module
35595         'getsockopt'.
35596         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
35597         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
35598         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
35599         * doc/posix-functions/send.texi: Mention the new module 'send'.
35600         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
35601         * doc/posix-functions/setsockopt.texi: Mention the new module
35602         'setsockopt'.
35603         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
35604         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
35605         listen, connect, accept.
35606         * modules/select-tests (Depends-on): Likewise.
35607
35608 2008-10-05  Bruno Haible  <bruno@clisp.org>
35609
35610         * lib/winsock.c (strerror): Remove unused #undef.
35611         (rpl_close): Remove unused local variable.
35612
35613         * modules/sys_socket (Depends-on); Add errno.
35614
35615 2008-10-05  Bruno Haible  <bruno@clisp.org>
35616
35617         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
35618         (select): Add a link warning when the 'select' module is not used.
35619         * modules/sys_select (Depends-on): Add link-warning.
35620         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
35621         Suggested by Paolo Bonzini.
35622
35623 2008-10-05  Jim Meyering  <meyering@redhat.com>
35624
35625         bootstrap: check for LT_INIT more portably
35626         * build-aux/bootstrap: Avoid using grep -E, since it's not
35627         portable enough.  Suggestion from Bruno Haible.
35628
35629 2008-10-05  Bruno Haible  <bruno@clisp.org>
35630
35631         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
35632         as being fixed by gnulib.
35633
35634 2008-10-05  Bruno Haible  <bruno@clisp.org>
35635
35636         * modules/select-tests: New file, mostly copied from
35637         modules/sys_select-tests.
35638         * tests/test-select.c: New file, mostly copied from
35639         tests/test-sys_select.c.
35640         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
35641         * modules/sys_select-tests (Depends-on): Remove all dependencies.
35642         (Makefile.am): Remove test_sys_select_LDADD.
35643
35644         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
35645         to an undefined symbol, for an error message.
35646         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
35647         (gl_SYS_SELECT_H_DEFAULTS): New macro.
35648         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
35649         winsock-select.c here.
35650         * modules/sys_select (Files): Remove lib/winsock-select.c.
35651         (Depends-on): Remove alloca.
35652         (Makefile.am): Substitute GNULIB_SELECT.
35653         * modules/select: New file.
35654         * doc/posix-functions/select.texi: Update.
35655
35656 2008-10-05  Bruno Haible  <bruno@clisp.org>
35657
35658         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
35659         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
35660         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
35661         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
35662         getdtablesize.
35663         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
35664         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
35665
35666 2008-10-05  Bruno Haible  <bruno@clisp.org>
35667
35668         * modules/getdtablesize-tests: New file.
35669         * tests/test-getdtablesize.c: New file.
35670
35671         New module 'getdtablesize'.
35672         * lib/unistd.in.h (getdtablesize): New declaration.
35673         * lib/getdtablesize.c: New file.
35674         * m4/getdtablesize.m4: New file.
35675         * modules/getdtablesize: New file.
35676         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35677         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
35678         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
35679         HAVE_GETDTABLESIZE.
35680         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
35681
35682 2008-10-05  Bruno Haible  <bruno@clisp.org>
35683
35684         * modules/sched (Makefile.am): Fix typo.
35685         Reported by Simon Josefsson.
35686
35687 2008-10-05  Jim Meyering  <meyering@redhat.com>
35688
35689         bootstrap: check for LT_INIT, too
35690         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
35691         are deprecated.  Suggestion from Ralf Wildenhues.
35692
35693 2008-10-05  Bruno Haible  <bruno@clisp.org>
35694
35695         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
35696         overriding them by ours.
35697         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
35698
35699 2008-10-05  Jim Meyering  <meyering@redhat.com>
35700
35701         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
35702         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
35703         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
35704
35705 2008-10-04  Bruno Haible  <bruno@clisp.org>
35706
35707         * modules/dup2 (License): Change to LGPLv2+.
35708         * modules/sleep (License): Likewise.
35709         * modules/perror (License): Likewise.
35710         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
35711         Blake.
35712         * modules/signal (License): Likewise.
35713         * modules/sigprocmask (License): Likewise.
35714         * modules/raise (License): Change to LGPLv2+, with approval by Jim
35715         Meyering.
35716
35717 2008-10-04  Bruno Haible  <bruno@clisp.org>
35718
35719         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
35720         Reported by Rainer Tammer <tammer@tammer.net>.
35721
35722 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
35723             Bruno Haible  <bruno@clisp.org>
35724
35725         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
35726         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
35727         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
35728
35729 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
35730
35731         filevercmp: new module
35732         * lib/filevercmp.h: New function filevercmp comparing version strings.
35733         * lib/filevercmp.c: Implementation of filevercmp function.
35734         * modules/filevercmp: Module metadata.
35735         * tests/test-filevercmp.c: Unit test for new module.
35736         * modules/filevercmp-tests: Unit test metadata.
35737         * MODULES.html.sh: Add filevercmp module.
35738
35739 2008-10-03  Bruno Haible  <bruno@clisp.org>
35740
35741         * lib/c-ctype.h: Add comment.
35742         Reported by Jim Meyering.
35743
35744 2008-10-02  Bruno Haible  <bruno@clisp.org>
35745
35746         * modules/posix_spawn-internal (Depends-on): Add 'open'.
35747
35748 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35749
35750         * build-aux/bootstrap: Allow renaming bootstrap, and change the
35751         name of bootstrap.conf accordingly.
35752
35753 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35754
35755         * build-aux/bootstrap: Install git-merge-changelog configuration
35756         items into .gitconfig if needed.
35757
35758 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35759
35760         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
35761         git repository, and initialize/update it accordingly.
35762
35763 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
35764
35765         * modules/fsync-tests: New file.
35766         * tests/test-fsync.c: New file.
35767
35768         New module 'fsync'.
35769         * lib/fsync.c: New file.
35770         * m4/fsync.m4: New file.
35771         * modules/fsync: New file.
35772         * lib/unistd.in.h (fsync): New declaration.
35773         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
35774         GNULIB_FSYNC and HAVE_FSYNC.
35775         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
35776         * MODULES.html.sh (posix_functions): Add fsync.
35777         * doc/posix-functions/fsync.texi: Mention the new module.
35778
35779 2008-10-02  Jim Meyering  <meyering@redhat.com>
35780
35781         fts.c: sync with similar code from coreutils' remove.c
35782         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
35783         Guard also with "#if defined __linux__", since for now at least,
35784         this code is Linux-kernel-specific.
35785
35786 2008-10-02  Jim Meyering  <meyering@redhat.com>
35787
35788         fts: bug fixes
35789         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
35790         Include <sys/vfs.h>, not <sys/statfs.h>.
35791
35792         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
35793         Include <sys/vfs.h>, not <sys/statfs.h>.
35794
35795 2008-10-01  Bruno Haible  <bruno@clisp.org>
35796
35797         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
35798         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
35799         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
35800         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
35801         * doc/posix-functions/posix_spawnp.texi: Likewise.
35802         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
35803         whether posix_spawn actually works.
35804         * m4/pipe.m4 (gl_PIPE): Likewise.
35805         * modules/execute (Files): Add m4/posix_spawn.m4.
35806         * modules/pipe (Files): Add m4/posix_spawn.m4.
35807         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
35808
35809 2008-10-01  Jim Meyering  <meyering@redhat.com>
35810
35811         remove trailing spaces
35812         * NEWS: Likewise.
35813         * lib/poll.c (poll): Likewise.
35814         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
35815         * lib/winsock.c (rpl_close): Likewise.
35816         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
35817         * modules/yield: Likewise.
35818         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
35819         * tests/test-sys_select.c (connect_to_socket): Likewise.
35820
35821         fts.c: adjust a new interface to be more generally useful
35822         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
35823         (fts_build): Adjust caller.
35824
35825 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35826
35827         * modules/cond-tests: New file.
35828         * tests/test-cond.c: New file.
35829
35830 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35831             Bruno Haible  <bruno@clisp.org>
35832
35833         * modules/cond (Dependencies): Add errno, time.
35834         * lib/glthread/cond.h: Include <time.h>.
35835         (gl_cond_define, gl_cond_define_initialized): Use the same definition
35836         across platforms.
35837
35838 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35839             Bruno Haible  <bruno@clisp.org>
35840
35841         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
35842
35843 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35844             Bruno Haible  <bruno@clisp.org>
35845
35846         * modules/tls-tests (Depends-on): Add thread, yield.
35847         (configure.ac): Remove all checks.
35848         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
35849         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35850         gl_thread_self): Remove definitions. Include glthread/thread.h and
35851         glthread/yield.h instead.
35852         (test_tls): Pass an additional NULL argument to gl_thread_join.
35853
35854 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35855             Bruno Haible  <bruno@clisp.org>
35856
35857         * modules/lock-tests (Depends-on): Add thread, yield.
35858         (configure.ac): Remove all checks.
35859         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
35860         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35861         gl_thread_self): Remove definitions. Include glthread/thread.h and
35862         glthread/yield.h instead.
35863         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
35864         additional NULL argument to gl_thread_join.
35865
35866 2008-09-30  Bruno Haible  <bruno@clisp.org>
35867
35868         Fix the Win32 implementation of the 'thread' module.
35869         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
35870         pointer type.
35871         (gl_thread_self): Invoke gl_thread_self_func.
35872         (gl_thread_self_func): New declaration.
35873         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
35874         (do_init_self_key, init_self_key): New functions.
35875         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
35876         Remove some fields.
35877         (running_threads, running_lock): Remove variables.
35878         (get_current_thread_handle): New function.
35879         (gl_thread_self_func, wrapper_func, glthread_create_func,
35880         glthread_join_func, gl_thread_exit_func): Largely rewritten and
35881         simplified.
35882
35883 2008-09-30  Bruno Haible  <bruno@clisp.org>
35884
35885         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
35886         files.
35887
35888 2008-09-30  Jim Meyering  <meyering@redhat.com>
35889
35890         fts.m4: correct the test for statfs.f_type
35891         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
35892         when checking for statfs.f_type.
35893
35894 2008-09-15  Simon Josefsson  <simon@josefsson.org>
35895
35896         tests: avoid some compiler warnings
35897         * tests/test-memchr.c (main): Pass NULL indirectly.
35898         * tests/test-getdate.c (main): Remove unused variable 'ret'.
35899
35900 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
35901
35902         getdate.y: disallow countable dayshifts like "4 yesterday ago"
35903         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
35904         exactly specified dayshifts.
35905         (dayshift): New rule.
35906         (rel): Add dayshift.
35907         (relative_time_table) [tomorrow, yesterday, today, now]:
35908         Use tDAY_SHIFT in place of tDAY_UNIT.
35909         * tests/test-getdate.c: Add tests for now-disallowed countable
35910         dayshifts, e.g., "4 yesterday ago".
35911
35912 2008-09-29  Bruno Haible  <bruno@clisp.org>
35913
35914         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
35915         * tests/test-posix_spawn1.in.sh: Renamed from
35916         tests/test-posix_spawn.in.sh.
35917         * tests/test-posix_spawn2.c: New file.
35918         * tests/test-posix_spawn2.in.sh: New file.
35919         * modules/posix_spawnp-tests (Files): Update.
35920         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
35921
35922 2008-09-29  Bruno Haible  <bruno@clisp.org>
35923
35924         Propagate effects of putenv/setenv/unsetenv to child processes.
35925         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
35926         * lib/pipe.c (create_pipe): Likewise.
35927
35928 2008-09-29  Bruno Haible  <bruno@clisp.org>
35929
35930         Enable use of shell scripts as executables in mingw.
35931         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
35932         run the program as a shell script.
35933         * lib/pipe.c (create_pipe): Likewise.
35934         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
35935         resulting array.
35936
35937 2008-09-29  Eric Blake  <ebb9@byu.net>
35938
35939         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
35940
35941 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
35942
35943         * doc/posix-functions/accept.texi: Update mingw problems.
35944         * doc/posix-functions/bind.texi: Update mingw problems.
35945         * doc/posix-functions/close.texi: Update mingw problems.
35946         * doc/posix-functions/connect.texi: Update mingw problems.
35947         * doc/posix-functions/getpeername.texi: Update mingw problems.
35948         * doc/posix-functions/getsockname.texi: Update mingw problems.
35949         * doc/posix-functions/getsockopt.texi: Update mingw problems.
35950         * doc/posix-functions/ioctl.texi: Update mingw problems.
35951         * doc/posix-functions/listen.texi: Update mingw problems.
35952         * doc/posix-functions/recv.texi: Update mingw problems.
35953         * doc/posix-functions/recvfrom.texi: Update mingw problems.
35954         * doc/posix-functions/select.texi: Update mingw problems.
35955         * doc/posix-functions/send.texi: Update mingw problems.
35956         * doc/posix-functions/sendto.texi: Update mingw problems.
35957         * doc/posix-functions/setsockopt.texi: Update mingw problems.
35958         * doc/posix-functions/socket.texi: Update mingw problems.
35959
35960 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
35961             Bruno Haible  <bruno@clisp.org>
35962
35963         * lib/sys_select.in.h: Include sys/time.h.
35964         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
35965         * modules/sys_select: Depend on sys_time.
35966         * tests/test-sys_select.c: Test that sys/select.h defines struct
35967         timeval fully.
35968
35969 2008-09-29  Bruno Haible  <bruno@clisp.org>
35970
35971         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
35972         * lib/sys_select.in.h: Likewise.
35973
35974 2008-09-29  Bruno Haible  <bruno@clisp.org>
35975
35976         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
35977
35978 2008-09-29  Bruno Haible  <bruno@clisp.org>
35979
35980         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
35981         Set LIBSOCKET instead of augmenting LIBS.
35982         * modules/sockets (Link): New section.
35983         * modules/sockets-tests (test_sockets_LDADD): New variable.
35984         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
35985         * modules/poll-tests (test_poll_LDADD): New variable.
35986         * NEWS: Document the change.
35987
35988 2008-09-29  Bruno Haible  <bruno@clisp.org>
35989
35990         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
35991         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
35992         ARPA_INET_H directly.
35993         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35994
35995 2008-09-28  Bruno Haible  <bruno@clisp.org>
35996
35997         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
35998         from gl_HEADER_SYS_SOCKET.
35999         (gl_HEADER_SYS_SOCKET): Invoke it.
36000         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36001
36002 2008-09-28  Bruno Haible  <bruno@clisp.org>
36003
36004         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
36005         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
36006         Needed on OSF/1 4.0.
36007
36008 2008-09-28  Bruno Haible  <bruno@clisp.org>
36009
36010         Override open more carefully.
36011         * lib/open.c (orig_open): New function.
36012         (rpl_open): Use orig_open instead of open.
36013         * lib/fcntl.in.h: Add special invocation convention.
36014         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
36015         (gl_FUNC_OPEN): Invoke it.
36016
36017         Override freopen more carefully.
36018         * lib/freopen.c (orig_freopen): New function.
36019         (rpl_freopen): Use orig_freopen instead of freopen.
36020         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
36021         (gl_FUNC_FREOPEN): Invoke it.
36022
36023         Override fopen more carefully.
36024         * lib/fopen.c (orig_fopen): New function.
36025         (rpl_fopen): Use orig_fopen instead of fopen.
36026         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
36027         (gl_FUNC_FOPEN): Invoke it.
36028         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
36029
36030 2008-09-28  Bruno Haible  <bruno@clisp.org>
36031
36032         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
36033         SIGPIPE.
36034
36035 2008-09-28  Bruno Haible  <bruno@clisp.org>
36036
36037         * tests/test-sigaction.c (handler, main): Disable the check whether
36038         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
36039         glibc systems with LinuxThreads.
36040
36041 2008-09-28  Bruno Haible  <bruno@clisp.org>
36042
36043         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
36044
36045         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
36046         with AIX xlc.
36047         * lib/fcntl.in.h (open): Likewise.
36048         Reported by Rainer Tammer <tammer@tammer.net>.
36049
36050 2008-09-28  Bruno Haible  <bruno@clisp.org>
36051
36052         * modules/posix_spawnp-tests: New file.
36053         * tests/test-posix_spawn.c: New file.
36054         * tests/test-posix_spawn.in.sh: New file.
36055
36056         New module 'posix_spawnp'.
36057         * modules/posix_spawnp: New file.
36058         * lib/spawnp.c: New file, from GNU libc with modifications.
36059         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
36060
36061         New module 'posix_spawn'.
36062         * modules/posix_spawn: New file.
36063         * lib/spawn.c: New file, from GNU libc with modifications.
36064         * doc/posix-functions/posix_spawn.texi: Mention the new module.
36065
36066         New module 'posix_spawnattr_destroy'.
36067         * modules/posix_spawnattr_destroy: New file.
36068         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
36069         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
36070         module.
36071
36072         New module 'posix_spawnattr_setsigmask'.
36073         * modules/posix_spawnattr_setsigmask: New file.
36074         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
36075         modifications.
36076         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
36077         new module.
36078
36079         New module 'posix_spawnattr_getsigmask'.
36080         * modules/posix_spawnattr_getsigmask: New file.
36081         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
36082         modifications.
36083         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
36084         new module.
36085
36086         New module 'posix_spawnattr_setsigdefault'.
36087         * modules/posix_spawnattr_setsigdefault: New file.
36088         * lib/spawnattr_setdefault.c: New file, from GNU libc with
36089         modifications.
36090         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
36091         new module.
36092
36093         New module 'posix_spawnattr_getsigdefault'.
36094         * modules/posix_spawnattr_getsigdefault: New file.
36095         * lib/spawnattr_getdefault.c: New file, from GNU libc with
36096         modifications.
36097         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
36098         new module.
36099
36100         New module 'posix_spawnattr_setschedpolicy'.
36101         * modules/posix_spawnattr_setschedpolicy: New file.
36102         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
36103         modifications.
36104         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
36105         new module.
36106
36107         New module 'posix_spawnattr_getschedpolicy'.
36108         * modules/posix_spawnattr_getschedpolicy: New file.
36109         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
36110         modifications.
36111         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
36112         new module.
36113
36114         New module 'posix_spawnattr_setschedparam'.
36115         * modules/posix_spawnattr_setschedparam: New file.
36116         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
36117         modifications.
36118         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
36119         new module.
36120
36121         New module 'posix_spawnattr_getschedparam'.
36122         * modules/posix_spawnattr_getschedparam: New file.
36123         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
36124         modifications.
36125         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
36126         new module.
36127
36128         New module 'posix_spawnattr_setpgroup'.
36129         * modules/posix_spawnattr_setpgroup: New file.
36130         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
36131         modifications.
36132         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
36133         module.
36134
36135         New module 'posix_spawnattr_getpgroup'.
36136         * modules/posix_spawnattr_getpgroup: New file.
36137         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
36138         modifications.
36139         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
36140         module.
36141
36142         New module 'posix_spawnattr_setflags'.
36143         * modules/posix_spawnattr_setflags: New file.
36144         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
36145         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
36146         module.
36147
36148         New module 'posix_spawnattr_getflags'.
36149         * modules/posix_spawnattr_getflags: New file.
36150         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
36151         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
36152         module.
36153
36154         New module 'posix_spawnattr_init'.
36155         * modules/posix_spawnattr_init: New file.
36156         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
36157         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
36158         module.
36159
36160         New module 'posix_spawn_file_actions_destroy'.
36161         * modules/posix_spawn_file_actions_destroy: New file.
36162         * lib/spawn_faction_destroy.c: New file, from GNU libc with
36163         modifications.
36164         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
36165         the new module.
36166
36167         New module 'posix_spawn_file_actions_addopen'.
36168         * modules/posix_spawn_file_actions_addopen: New file.
36169         * lib/spawn_faction_addopen.c: New file, from GNU libc with
36170         modifications.
36171         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
36172         the new module.
36173
36174         New module 'posix_spawn_file_actions_adddup2'.
36175         * modules/posix_spawn_file_actions_adddup2: New file.
36176         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
36177         modifications.
36178         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
36179         the new module.
36180
36181         New module 'posix_spawn_file_actions_addclose'.
36182         * modules/posix_spawn_file_actions_addclose: New file.
36183         * lib/spawn_faction_addclose.c: New file, from GNU libc with
36184         modifications.
36185         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
36186         the new module.
36187
36188         New module 'posix_spawn_file_actions_init'.
36189         * modules/posix_spawn_file_actions_init: New file.
36190         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
36191         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
36192         new module.
36193
36194         New module 'posix_spawn-internal'.
36195         * modules/posix_spawn-internal: New file.
36196         * lib/spawn_int.h: New file, from GNU libc with modifications.
36197         * lib/spawni.c: New file, from GNU libc with modifications.
36198         * m4/posix_spawn.m4: New file.
36199
36200         New module 'spawn'.
36201         * modules/spawn: New file.
36202         * lib/spawn.in.h: New file, from GNU libc with modifications.
36203         * m4/spawn_h.m4: New file.
36204         * doc/posix-headers/spawn.texi: Mention the new module.
36205
36206 2008-09-28  Bruno Haible  <bruno@clisp.org>
36207
36208         * modules/sched-tests: New file.
36209         * tests/test-sched.c: New file.
36210
36211         New module 'sched'.
36212         * modules/sched: New file.
36213         * lib/sched.in.h: New file.
36214         * m4/sched_h.m4: New file.
36215         * doc/posix-headers/sched.texi: Mention the new module.
36216
36217 2008-09-27  Eric Blake  <ebb9@byu.net>
36218
36219         Fix previous patch, and tweak references to $0.
36220         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
36221         (func_version, func_gnulib_dir): Don't call this program
36222         gnulib-tool.
36223         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
36224         with using $0 in function.
36225         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
36226         (func_fatal_error): Reuse the name the user invoked us with.
36227
36228 2008-09-27  Bruno Haible  <bruno@clisp.org>
36229
36230         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
36231         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
36232         (gl_ICONV_H): Not here.
36233         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36234         instead of assigning ICONV_H directly.
36235
36236         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
36237         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
36238         WCHAR_H directly.
36239
36240 2008-09-27  Bruno Haible  <bruno@clisp.org>
36241
36242         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
36243         * modules/arpa_inet (Depends-on): Add link-warning.
36244         (Makefile.am): Insert the definition of GL_LINK-WARNING.
36245         * modules/unistd (Makefile.am): Likewise.
36246
36247 2008-09-26  Bruno Haible  <bruno@clisp.org>
36248
36249         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
36250         variables.
36251         (func_version): Essentially copied from gnulib-tool.
36252         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
36253         func_readlink): Copied from gnulib-tool.
36254
36255 2008-09-26  Bruno Haible  <bruno@clisp.org>
36256
36257         * gnulib-tool (func_version): Change directory to $gnulib_dir before
36258         invoking git-version-gen.
36259
36260 2008-09-26  Bruno Haible  <bruno@clisp.org>
36261
36262         * posix-modules: Update to directory names changed on 2008-01-19.
36263         Remove commas in output before splitting into words. No more need to
36264         avoid 'ftruncate' since 2007-02-19.
36265
36266 2008-09-26  Bruno Haible  <bruno@clisp.org>
36267
36268         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
36269
36270 2008-09-26  Bruno Haible  <bruno@clisp.org>
36271
36272         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
36273         * modules/fwriteerror (Depends-on): Add errno.
36274
36275 2008-09-26  Bruno Haible  <bruno@clisp.org>
36276
36277         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
36278         * tests/test-vc-list-files-cvs.sh: Likewise.
36279
36280 2008-09-26  Bruno Haible  <bruno@clisp.org>
36281
36282         * doc/posix-headers/sys_resource.texi: Reorder items.
36283
36284 2008-09-26  Jim Meyering  <meyering@redhat.com>
36285
36286         fts: tweak inode comparison function
36287         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
36288         inode numbers, as documented.
36289
36290         fts: sort dirent entries on inode number before traversing
36291         This avoids a quadratic, seek-related performance penalty when
36292         operating on a directory containing many entries (measurable at 10k;
36293         3.5 hours at 2 million entries with a cold cache) on certain types
36294         of file systems, including ext3 and ext4, but not tmpfs.
36295         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
36296         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
36297         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
36298         (fs_handles_readdir_ordered_dirents_efficiently): New function.
36299         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
36300         (fts_build): Set the stat.st_ino member from D_INO.
36301         If it is likely to be useful, sort dirent entries on inode number.
36302
36303         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
36304         and the struct statfs.f_type member.
36305         * modules/fts (Depends-on): Add d-ino.
36306
36307 2008-09-26  Bruno Haible  <bruno@clisp.org>
36308
36309         * modules/sigpipe-die (Depends-on): Add sigpipe.
36310
36311         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
36312         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
36313         and GNULIB_STDIO_H_SIGPIPE are set.
36314         * lib/stdio-write.c: New file.
36315         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
36316         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36317         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36318         REPLACE_STDIO_WRITE_FUNCS.
36319         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
36320         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36321         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36322         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
36323         * modules/stdio (Files): Add lib/stdio-write.c.
36324         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
36325         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36326         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36327         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
36328         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
36329         REPLACE_FPRINTF_POSIX.
36330         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
36331         REPLACE_PRINTF_POSIX.
36332         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
36333         REPLACE_VFPRINTF_POSIX.
36334         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
36335         REPLACE_VPRINTF_POSIX.
36336         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
36337         SIGPIPE issue.
36338         * doc/posix-functions/fputc.texi: Likewise.
36339         * doc/posix-functions/fputs.texi: Likewise.
36340         * doc/posix-functions/fwrite.texi: Likewise.
36341         * doc/posix-functions/printf.texi: Likewise.
36342         * doc/posix-functions/putc.texi: Likewise.
36343         * doc/posix-functions/putchar.texi: Likewise.
36344         * doc/posix-functions/puts.texi: Likewise.
36345         * doc/posix-functions/vfprintf.texi: Likewise.
36346         * doc/posix-functions/vprintf.texi: Likewise.
36347
36348         * modules/safe-write (Depends-on): Add write.
36349
36350         * modules/sigpipe-tests: New file.
36351         * tests/test-sigpipe.c: New file.
36352         * tests/test-sigpipe.sh: New file.
36353
36354         * modules/write: New file.
36355         * lib/unistd.in.h: Include <sys/types.h>.
36356         (write): New declaration.
36357         * lib/write.c: New file.
36358         * m4/write.m4: New file.
36359         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36360         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
36361         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
36362         GNULIB_WRITE, REPLACE_WRITE.
36363         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
36364         and the SIGPIPE issue.
36365
36366         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
36367         (raise): New declaration.
36368         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
36369         (ext_signal): New function.
36370         (rpl_raise): New function.
36371         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
36372         GNULIB_SIGNAL_H_SIGPIPE.
36373         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
36374         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
36375
36376         * modules/sigpipe: New file.
36377         * m4/sigpipe.m4: New file.
36378
36379 2008-09-25  Derek Price  <derek@ximbiot.com>
36380             Bruno Haible  <bruno@clisp.org>
36381
36382         * gnulib-tool (func_import): Report all license incompatibilities, not
36383         just the first one.
36384
36385 2008-09-25  Bruno Haible  <bruno@clisp.org>
36386
36387         * gnulib-tool (func_import): When computing the edits, consider not
36388         only the Makefile.ams that exist but also those that will be generated.
36389
36390 2008-09-25  Simon Josefsson  <simon@josefsson.org>
36391
36392         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
36393         fixes gnulib-tool --test warning about duplicate dependency.
36394
36395 2008-09-25  Bruno Haible  <bruno@clisp.org>
36396
36397         * gnulib-tool: Don't ask the user to perform edits in the generated
36398         Makefile.ams.
36399         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
36400         apply to the Makefile.am being generated.
36401         (func_emit_tests_Makefile_am): Execute edits that apply to the
36402         Makefile.am being generated.
36403         (func_import): Setup list of Makefile.am edits before emitting the
36404         Makefile.ams, not at the end.
36405         (func_create_testdir): Update.
36406         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36407
36408 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36409
36410         * gnulib-tool (func_import): Store the --tests-base option in the
36411         comment in gnulib-cache.m4.
36412
36413 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
36414
36415         * NEWS: Document increased portability that sys_select now provides.
36416
36417         * lib/sys_select.in.h: Install select wrapper.
36418         * lib/sys_socket.in.h: Use more descriptive name when there is no
36419         select wrapper.
36420         * lib/winsock-select.c: New.
36421         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
36422         Require gl_HEADER_SYS_SOCKET.
36423         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
36424         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
36425         * tests/test-sys_select.c: Add functional tests.
36426
36427 2008-09-24  Eric Blake  <ebb9@byu.net>
36428
36429         open, fopen: close fd leak in last patch
36430         * lib/open.c (rpl_open): Close fd before returning error.
36431         * lib/fopen.c (rpl_fopen): Close fd before returning error.
36432         * doc/posix-functions/open.texi (open): Document that Irix also
36433         has the bug.
36434         * doc/posix-functions/fopen.texi (fopen): Likewise.
36435         Reported by Paolo Bonzini.
36436
36437 2008-09-24  Bruno Haible  <bruno@clisp.org>
36438
36439         Ensure that a filename ending in a slash cannot be used to access a
36440         non-directory.
36441         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
36442         to check whether it's really a directory.
36443         * lib/fopen.c: Include fcntl.h, unistd.h.
36444         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
36445         and fdopen().
36446         * modules/fopen (Depends-on): Add unistd.
36447         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
36448         * tests/test-fopen.c (main): Likewise.
36449         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
36450         * doc/posix-functions/fopen.texi: Likewise.
36451         Reported by Eric Blake.
36452
36453 2008-09-23  Eric Blake  <ebb9@byu.net>
36454
36455         c-stack: avoid compiler optimizations when provoking overflow
36456         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
36457         recursion harder to optimize, to ensure a stack overflow occurs.
36458         * tests/test-c-stack.c (recurse): Likewise.
36459         Borrowed from libsigsegv.
36460
36461         c-stack: work around Irix sigaltstack bug
36462         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
36463         whether sigaltstack uses wrong end of stack_t (copied in part from
36464         libsigsegv).
36465         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
36466         Irix bug, without requiring an over-allocation.
36467         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
36468         bug.
36469
36470         fopen: document mingw bug on directories
36471         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
36472         not allowing a stream visiting a directory, even though reading
36473         from such a stream is not portable.
36474
36475 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36476
36477         * lib/poll.c: Rewrite.
36478         * modules/poll: Depend on alloca.
36479
36480 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36481
36482         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
36483         instead define prototypes for a full set of wrappers.  Ensure
36484         that Cygwin does not use the compatibility code, which is only
36485         for MinGW.
36486         * lib/winsock.c: New.
36487         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
36488         * modules/sys_socket: Add lib/winsock.c.
36489
36490         * modules/poll-tests: Add errno and perror.
36491         * tests/test-poll.c: Use ioctl, not ioctlsocket.
36492
36493 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36494
36495         * tests/test-poll.c: Downgrade minimum needed Winsock version.
36496
36497 2008-09-23  Bruno Haible  <bruno@clisp.org>
36498
36499         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
36500         * doc/glibc-functions/*: Likewise.
36501
36502 2008-09-23  Simon Josefsson  <simon@josefsson.org>
36503
36504         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
36505         success.
36506
36507 2008-09-22  Eric Blake  <ebb9@byu.net>
36508             Bruno Haible  <bruno@clisp.org>
36509
36510         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
36511         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
36512         supply %A but mishandle pseudo-NaN.
36513         Reported by Simon Josefsson.
36514
36515 2008-09-21  Bruno Haible  <bruno@clisp.org>
36516
36517         * tests/test-lock.c (main): Tweak skip message.
36518         * tests/test-tls.c (main): Likewise.
36519
36520 2008-09-21  Bruno Haible  <bruno@clisp.org>
36521
36522         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
36523         whether 'struct sigaction' has sa_sigaction here...
36524         (gl_PREREQ_SIG_HANDLER_H): ... not here.
36525         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
36526
36527 2008-09-21  Bruno Haible  <bruno@clisp.org>
36528
36529         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
36530         section.
36531         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
36532         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
36533         the new section.
36534         (Support for obsolete systems lacking POSIX:2001): New section.
36535         (String handling <string.h>): Move strdup to the new section.
36536         Suggested by Simon Josefsson and Paolo Bonzini.
36537
36538 2008-09-21  Bruno Haible  <bruno@clisp.org>
36539
36540         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
36541         exponents in %e and %g results on 'long double'. Needed for mingw's
36542         improved *printf functions.
36543         * tests/test-vasprintf-posix.c (test_function): Likewise.
36544         * tests/test-snprintf-posix.h (test_function): Likewise.
36545         * tests/test-sprintf-posix.h (test_function): Likewise.
36546         Reported by Eric Blake.
36547
36548 2008-09-21  Bruno Haible  <bruno@clisp.org>
36549
36550         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
36551         * tests/test-sprintf-posix.h (test_function): Likewise.
36552
36553 2008-09-21  Bruno Haible  <bruno@clisp.org>
36554
36555         * modules/getpass (Depends-on): Add strdup-posix.
36556
36557         New module 'strdup-posix'.
36558         * modules/strdup-posix: New file.
36559         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
36560         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
36561         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36562         REPLACE_STRDUP.
36563         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
36564         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
36565         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36566         strdup-posix.
36567
36568         * modules/strdup (Depends-on): Remove malloc-posix.
36569
36570 2008-09-20  Bruno Haible  <bruno@clisp.org>
36571
36572         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
36573         Wildenhues.
36574
36575 2008-09-20  Bruno Haible  <bruno@clisp.org>
36576
36577         Ensure that wint_t gets defined on IRIX 5.3.
36578         * lib/wchar.in.h (wint_t): Define if not defined by the system.
36579         * lib/wctype.in.h (wint_t): Likewise.
36580         (__wctype_wint_t): Remove type.
36581         (isw*): Use wint_t instead of __wctype_wint_t.
36582         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
36583         * modules/wchar (Files): Add m4/wint_t.m4.
36584         (Makefile.am): Substitute HAVE_WINT_T.
36585         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
36586         * tests/test-wctype.c: Check that wint_t is defined.
36587         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
36588         * doc/posix-headers/wctype.texi: Likewise.
36589         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36590
36591 2008-09-18  Bruno Haible  <bruno@clisp.org>
36592
36593         * gnulib-tool (func_exit): Update comment.
36594
36595 2008-09-18  Simon Josefsson  <simon@josefsson.org>
36596
36597         * modules/getaddrinfo (Depends-on): Remove strdup, this module
36598         assumes strdup exists and does not depend on strdup to return
36599         ENOMEM on out of memory conditions.
36600
36601 2008-09-18  Bruno Haible  <bruno@clisp.org>
36602
36603         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
36604         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
36605         digits for the exponent.
36606
36607 2008-09-18  Jim Meyering  <meyering@redhat.com>
36608             Bruno Haible  <bruno@clisp.org>
36609
36610         * lib/vasnprintf.c (decimal_point_char): Define also if
36611         NEED_PRINTF_INFINITE_LONG_DOUBLE.
36612
36613 2008-09-16  Bruno Haible  <bruno@clisp.org>
36614         and Eric Blake  <ebb9@byu.net>
36615
36616         vasnprintf: support Irix 5.3
36617         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
36618         that mishandle long double infinity.
36619         Reported by Tom G. Christensen.
36620
36621 2008-09-16  Bruno Haible  <bruno@clisp.org>
36622
36623         * doc/glibc-functions/scandir.texi: Mention the function is missing on
36624         Solaris 9.
36625         * doc/glibc-functions/alphasort.texi: Likewise.
36626         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
36627
36628 2008-09-16  Jim Meyering  <meyering@redhat.com>
36629
36630         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
36631         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
36632         a umask modification leak out of a subshell.  Otherwise, the
36633         opensolaris /bin/sh would be accepted and thus cause unwarranted
36634         failures in the coreutils test suite.
36635
36636 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
36637
36638         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
36639         to succeed.
36640
36641 2008-09-16  Jim Meyering  <meyering@redhat.com>
36642
36643         avoid spurious test failure when library is built without ACL support
36644         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
36645         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
36646         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
36647         * tests/test-copy-acl.sh: Likewise.
36648
36649 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36650
36651         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
36652         based on character occurrence counts.
36653
36654 2008-09-15  Eric Blake  <ebb9@byu.net>
36655
36656         tests: avoid some compiler warnings
36657         * tests/test-memchr.c (main): Pass NULL indirectly.
36658         * tests/test-closein.c (main): Avoid unused variable.
36659
36660 2008-09-15  Bruno Haible  <bruno@clisp.org>
36661
36662         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
36663         are missing on OpenBSD 4.0 individually.
36664         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36665
36666 2008-09-15  Bruno Haible  <bruno@clisp.org>
36667
36668         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
36669         * doc/posix-functions/strerror.texi: Mention also Cygwin.
36670         * doc/posix-functions/perror.texi: Likewise.
36671         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
36672         is missing.
36673         Reported by Eric Blake.
36674
36675         * lib/errno.in.h: Use replacement values >= 2000.
36676         Reported by Eric Blake.
36677
36678 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36679
36680         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
36681         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
36682         limit.
36683         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
36684         compareseq was aborted.
36685
36686 2008-09-14  Bruno Haible  <bruno@clisp.org>
36687
36688         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
36689         yvec_edit_count.
36690         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
36691         (fstrcmp_bounded): Simplify result computation accordingly.
36692
36693 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36694
36695         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
36696         (fstrcmp): Define in terms of fstrcmp_bounded.
36697         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
36698         lower_bound argument.
36699         Return quickly if the result is certainly < lower_bound.
36700         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
36701
36702 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36703
36704         * lib/diffseq.h (EARLY_ABORT): New macro.
36705         (compareseq): Change return type to bool. Return true when EARLY_ABORT
36706         evaluates to true.
36707
36708 2008-09-14  Bruno Haible  <bruno@clisp.org>
36709
36710         * modules/perror-tests: New file.
36711         * tests/test-perror.sh: New file.
36712         * tests/test-perror.c: New file.
36713
36714         New module 'perror'.
36715         * lib/stdio.in.h (perror): New declaration.
36716         * lib/perror.c: New file.
36717         * m4/perror.m4: New file.
36718         * modules/perror: New file.
36719         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
36720         * doc/posix-functions/perror.texi: Mention the perror module.
36721         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
36722         REPLACE_PERROR.
36723         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
36724         REPLACE_PERROR.
36725
36726 2008-09-14  Bruno Haible  <bruno@clisp.org>
36727
36728         * modules/stdio (Makefile.am): Reorder to match the order in
36729         lib/stdio.in.h.
36730         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36731
36732 2008-09-13  Bruno Haible  <bruno@clisp.org>
36733
36734         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
36735
36736 2008-09-13  Bruno Haible  <bruno@clisp.org>
36737
36738         Extend strerror to cover the added errno values.
36739         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
36740         (rpl_strerror): Provide error messages for the added errno values and
36741         for the WSA* values.
36742         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
36743         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
36744         strerror.
36745         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
36746         * modules/strerror (Depends-on): Add errno.
36747         * doc/posix-functions/strerror.texi: Document the change.
36748         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
36749         and EOVERFLOW.
36750
36751 2008-09-13  Bruno Haible  <bruno@clisp.org>
36752
36753         * modules/EOVERFLOW: Remove file.
36754         * m4/eoverflow.m4: Remove file.
36755         * modules/EOVERFLOW-tests: Remove file.
36756         * tests/test-EOVERFLOW.c: Remove file.
36757         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
36758         * modules/ftell (Depends-on): Likewise.
36759         * modules/getdelim (Depends-on): Likewise.
36760         * modules/getugroups (Depends-on): Likewise.
36761         * modules/poll (Depends-on): Likewise.
36762         * modules/snprintf (Depends-on): Likewise.
36763         * modules/sprintf-posix (Depends-on): Likewise.
36764         * modules/vasnprintf (Depends-on): Likewise.
36765         * modules/vasprintf (Depends-on): Likewise.
36766         * modules/vfprintf-posix (Depends-on): Likewise.
36767         * modules/vsnprintf (Depends-on): Likewise.
36768         * modules/vsprintf-posix (Depends-on): Likewise.
36769         * modules/xvasprintf (Depends-on): Likewise.
36770         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36771         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
36772         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
36773         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
36774         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36775         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
36776         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
36777         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
36778         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36779         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
36780         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
36781         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
36782         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36783         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
36784         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
36785         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
36786         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36787         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
36788         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
36789         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
36790         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36791         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
36792         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
36793         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
36794         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
36795         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36796         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
36797         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
36798         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
36799         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
36800         * MODULES.html.sh: Remove EOVERFLOW.
36801         * NEWS: Mention the change.
36802
36803 2008-09-13  Bruno Haible  <bruno@clisp.org>
36804
36805         * modules/errno-tests: New file.
36806         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
36807
36808         * lib/errno.in.h: New file.
36809         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
36810         * modules/errno: New file.
36811         * doc/posix-headers/errno.texi: Update documentation.
36812         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
36813
36814 2008-09-13  Bruno Haible  <bruno@clisp.org>
36815
36816         * tests/test-poll.c: Use #if for native Windows, rather than testing
36817         __MSVCRT__.
36818
36819 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36820             Bruno Haible  <bruno@clisp.org>
36821
36822         * lib/glob.c: Don't include <pwd.h> on native Windows.
36823         (WINDOWS32): New macro.
36824         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
36825
36826 2008-09-13  Bruno Haible  <bruno@clisp.org>
36827
36828         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
36829         (ETIMEDOUT): Remove macro.
36830         (glthread_cond_timedwait_multithreaded): New declaration.
36831         (glthread_cond_timedwait): Use it.
36832         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
36833         (glthread_cond_timedwait_multithreaded): New function.
36834
36835 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36836
36837         * modules/poll-tests: Do not check for io.h.
36838         * tests/test-poll.c: Check for __MSVCRT__ instead.
36839
36840 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36841
36842         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
36843         * modules/poll-tests: Add inet_pton, stdbool, sockets.
36844         * tests/test-poll.c: Use them.  Use _pipe on Windows.
36845
36846 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36847
36848         * modules/poll-tests: New.
36849         * tests/test-poll.c: New.
36850
36851 2008-09-12  Eric Blake  <ebb9@byu.net>
36852
36853         frexp: test for NetBSD failure on -0.0
36854         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
36855         not all, bugs from NetBSD 3.0 have been fixed.
36856         * doc/posix-functions/frexp.texi (frexp): Document bug.
36857         Reported by Thomas Klausner.
36858
36859         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
36860         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
36861         literal -0.0.
36862         Reported by Jonathan C. Patschke <jp@centtech.com>.
36863
36864 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36865
36866         * lib/glthread/cond.h: Use dummy implementation also if
36867         USE_WIN32_THREADS.
36868
36869 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36870
36871         * modules/fnmatch-posix (License): Change to LGPLv2+.
36872         * modules/fnmatch-gnu (License): Likewise.
36873
36874 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36875
36876         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
36877
36878 2008-09-11  Jim Meyering  <meyering@redhat.com>
36879
36880         * users.txt: Add gtk-vnc.
36881
36882 2008-09-08  Simon Josefsson  <simon@josefsson.org>
36883
36884         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
36885         rotate amounts.
36886
36887         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
36888         required for 16-bit and 8-bit rotates.
36889         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
36890         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
36891         UINT8_MAX instead of hard-coded constants.
36892         Suggested by Paul Eggert.
36893
36894 2008-09-07  Bruno Haible  <bruno@clisp.org>
36895
36896         * tests/test-striconveh.c (main): Check behaviour when converting from
36897         UTF-7.
36898
36899         Make striconveh work better with stateful encodings.
36900         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
36901         that iconv does not increment the inptr when returning -1/EINVAL.
36902
36903 2008-09-07  Bruno Haible  <bruno@clisp.org>
36904
36905         * build-aux/config.rpath: Update according to libtool-2.2.6.
36906         * build-aux/config.libpath: Likewise.
36907
36908 2008-09-06  Bruno Haible  <bruno@clisp.org>
36909
36910         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
36911         * lib/freadptr.c (freadptr): Likewise.
36912         * lib/freadseek.c (freadptrinc): Likewise.
36913         Reported by Simon Josefsson.
36914
36915 2008-09-06  Bruno Haible  <bruno@clisp.org>
36916
36917         * modules/freadptr (License): Change to LGPLv2+.
36918         * modules/freadseek (License): Likewise.
36919         Suggested by Eric Blake.
36920
36921         * modules/memchr2 (License): Change to LGPLv2+.
36922         Approved by Eric Blake.
36923
36924 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36925             Bruno Haible  <bruno@clisp.org>
36926
36927         Make gnulib-tool work with native 'sed' on AIX.
36928         * gnulib-tool (sed_noop): New variable.
36929         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
36930         func_add_or_update, func_create_testdir): Use it to initialize sed
36931         script variables.
36932         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36933
36934 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
36935             Bruno Haible  <bruno@clisp.org>
36936
36937         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
36938         also works after #include directives.
36939
36940 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
36941
36942         getdate.y: reject an out-of-range timezone value
36943         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
36944         the range [-24...+24].  When specified with only one or two digits,
36945         * tests/test-getdate.c: Tests for the fix.
36946         * doc/getdate.texi: Document this change.
36947
36948 2008-09-03  Bruno Haible  <bruno@clisp.org>
36949
36950         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
36951
36952 2008-09-02  Simon Josefsson  <simon@josefsson.org>
36953
36954         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
36955         <bruce.korb@gmail.com> with ideas from Ben Pfaff
36956         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
36957         Blake <ebb9@byu.net>.
36958
36959         * tests/test-bitrotate.c: Add more test vectors.
36960
36961 2008-09-02  Eric Blake  <ebb9@byu.net>
36962
36963         vasnprintf-posix: handle large precision via %.*d
36964         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
36965         when handling it ourselves.
36966         * tests/test-vasnprintf-posix.c (test_function): Add test.
36967         * tests/test-snprintf-posix.h (test_function): Likewise.
36968         * tests/test-sprintf-posix.h (test_function): Likewise.
36969         * tests/test-vasprintf-posix.c (test_function): Likewise.
36970         Reported by Alain Guibert.
36971
36972 2008-09-01  Eric Blake  <ebb9@byu.net>
36973
36974         c-stack: make configure-time check more robust
36975         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
36976         successful sigaction call.
36977         Reported by Tom G. Christensen.
36978
36979 2008-09-01  Bruno Haible  <bruno@clisp.org>
36980
36981         New module 'findprog-lgpl'.
36982         * modules/findprog-lgpl: New file.
36983         * lib/findprog-lgpl.c: New file.
36984         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
36985         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
36986         to decide whether to use strdup or xstrdup, concatenated_filename or
36987         xconcatenated_filename.
36988
36989 2008-09-01  Bruno Haible  <bruno@clisp.org>
36990
36991         Split module 'concat-filename' into 'concat-filename' (LGPL) and
36992         'xconcat-filename' (GPL).
36993         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
36994         (License): Change to LGPLv2+.
36995         * modules/xconcat-filename: New file.
36996         * lib/concat-filename.h (concatenated_filename): Change specification.
36997         (xconcatenated_filename): New declaration.
36998         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
36999         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
37000         memory situations.
37001         * lib/xconcat-filename.c: New file.
37002         * NEWS: Mention the change.
37003         * lib/findprog.c: Include concat-filename.h, not filename.h.
37004         (find_in_path): Use xconcatenated_filename instead of
37005         concatenated_filename.
37006         * lib/javacomp.c: Include concat-filename.h, not filename.h.
37007         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
37008         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
37009         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
37010         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
37011         instead of concatenated_filename.
37012         * lib/javaexec.c: Include concat-filename.h, not filename.h.
37013         (execute_java_class): Use xconcatenated_filename instead of
37014         concatenated_filename.
37015         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
37016         * modules/javacomp (Depends-on): Likewise.
37017         * modules/javaexec (Depends-on): Likewise.
37018
37019 2008-09-01  Bruno Haible  <bruno@clisp.org>
37020
37021         Split module 'filename' into 'filename' and 'concat-filename'.
37022         * modules/filename: Keep only lib/filename.h.
37023         (License): Change to LGPLv2+.
37024         * modules/concat-filename: New file, extracted from modules/filename.
37025         * lib/filename.h (concatenated_filename): Remove declaration.
37026         * lib/concat-filename.h: New file, extracted from lib/filename.h.
37027         * lib/concat-filename.c: Include concat-filename.h.
37028         * NEWS: Mention the change.
37029
37030 2008-09-01  Simon Josefsson  <simon@josefsson.org>
37031
37032         * lib/bitrotate.h (rotl8, rotr8): Add.
37033
37034         * modules/bitrotate (configure.ac): Need
37035         AC_REQUIRE([AC_C_INLINE]).
37036         (Description): Mention stdint.h.  Reported by Bruno Haible
37037         <bruno@clisp.org>.
37038
37039         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
37040         Paolo Bonzini <bonzini@gnu.org>.
37041
37042 2008-08-31  Bruno Haible  <bruno@clisp.org>
37043
37044         Assume Solaris specific bi-arch conventions on Solaris systems.
37045         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
37046         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
37047         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
37048         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
37049         like acl_libdirstem.
37050         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
37051         acl_libdirstem.
37052         * NEWS: Mention the change.
37053         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
37054
37055 2008-08-31  Jim Meyering  <meyering@redhat.com>
37056
37057         * lib/strftime.h: Add comments describing the two added arguments.
37058
37059         remove duplicate #include directives
37060         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
37061         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
37062
37063 2008-08-31  Bruno Haible  <bruno@clisp.org>
37064
37065         New module 'sigpipe-die'.
37066         * modules/sigpipe-die: New file.
37067         * lib/sigpipe-die.h: New file.
37068         * lib/sigpipe-die.c: New file.
37069         * MODULES.html.sh (Signal handling): Add sigpipe-die.
37070
37071 2008-08-31  Bruno Haible  <bruno@clisp.org>
37072
37073         Don't override previously installed signal handlers.
37074         * lib/fatal-signal.c (saved_sigactions): New variable.
37075         (uninstall_handlers): Reset the signal to the saved handler, not
37076         to SIG_DFL (except when ignored).
37077         (install_handlers): Save the previous handlers.
37078
37079 2008-08-30  Bruno Haible  <bruno@clisp.org>
37080
37081         * gnulib-tool (func_reset_sigpipe): New function.
37082         (func_get_automake_snippet, func_modules_transitive_closure,
37083         func_import): Invoke it before a join command that reads from stdin,
37084         to avoid "echo: write error: Broken pipe" error messages on stderr.
37085         Reported by Sam Steingold <sds@gnu.org>.
37086
37087 2008-08-30  Bruno Haible  <bruno@clisp.org>
37088
37089         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
37090         Code copied from m4/open.m4.
37091         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
37092         access and the filename ends in a slash. Code copied from lib/open.c.
37093         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
37094         * tests/test-fopen.c (main): Check against bug with trailing slash.
37095
37096 2008-08-29  Bruno Haible  <bruno@clisp.org>
37097
37098         Avoid some "gcc -pedantic" warnings.
37099         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
37100         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
37101         * lib/dirent.in.h: Likewise.
37102         * lib/fcntl.in.h: Likewise.
37103         * lib/float.in.h: Likewise.
37104         * lib/iconv.in.h: Likewise.
37105         * lib/inttypes.in.h: Likewise.
37106         * lib/locale.in.h: Likewise.
37107         * lib/math.in.h: Likewise.
37108         * lib/netinet_in.in.h: Likewise.
37109         * lib/search.in.h: Likewise.
37110         * lib/signal.in.h: Likewise.
37111         * lib/stdarg.in.h: Likewise.
37112         * lib/stdint.in.h: Likewise.
37113         * lib/stdio.in.h: Likewise.
37114         * lib/stdlib.in.h: Likewise.
37115         * lib/string.in.h: Likewise.
37116         * lib/strings.in.h: Likewise.
37117         * lib/sys_select.in.h: Likewise.
37118         * lib/sys_socket.in.h: Likewise.
37119         * lib/sys_stat.in.h: Likewise.
37120         * lib/sys_time.in.h: Likewise.
37121         * lib/sysexits.in.h: Likewise.
37122         * lib/time.in.h: Likewise.
37123         * lib/unistd.in.h: Likewise.
37124         * lib/wchar.in.h: Likewise.
37125         * lib/wctype.in.h: Likewise.
37126         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
37127         * modules/fchdir (Makefile.am): Likewise.
37128         * modules/fcntl (Makefile.am): Likewise.
37129         * modules/float (Makefile.am): Likewise.
37130         * modules/iconv_open (Makefile.am): Likewise.
37131         * modules/inttypes (Makefile.am): Likewise.
37132         * modules/locale (Makefile.am): Likewise.
37133         * modules/math (Makefile.am): Likewise.
37134         * modules/netinet_in (Makefile.am): Likewise.
37135         * modules/search (Makefile.am): Likewise.
37136         * modules/signal (Makefile.am): Likewise.
37137         * modules/stdarg (Makefile.am): Likewise.
37138         * modules/stdint (Makefile.am): Likewise.
37139         * modules/stdio (Makefile.am): Likewise.
37140         * modules/stdlib (Makefile.am): Likewise.
37141         * modules/string (Makefile.am): Likewise.
37142         * modules/strings (Makefile.am): Likewise.
37143         * modules/sys_select (Makefile.am): Likewise.
37144         * modules/sys_socket (Makefile.am): Likewise.
37145         * modules/sys_stat (Makefile.am): Likewise.
37146         * modules/sys_time (Makefile.am): Likewise.
37147         * modules/sysexits (Makefile.am): Likewise.
37148         * modules/time (Makefile.am): Likewise.
37149         * modules/unistd (Makefile.am): Likewise.
37150         * modules/wchar (Makefile.am): Likewise.
37151         * modules/wctype (Makefile.am): Likewise.
37152         Reported by Reuben Thomas <rrt@sc3d.org>.
37153
37154 2008-08-29  Bruno Haible  <bruno@clisp.org>
37155
37156         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
37157         any more.
37158
37159 2008-08-29  Simon Josefsson  <simon@josefsson.org>
37160
37161         * MODULES.html.sh (Misc): Add bitrotate.
37162
37163         * modules/bitrotate: New file.
37164
37165         * lib/bitrotate.h: New file.
37166
37167         * modules/bitrotate-tests: New file.
37168
37169         * tests/test-bitrotate.c: New file.
37170
37171         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
37172         on the bitrotate module.
37173
37174         * lib/arctwo.c: Use new bitrotate module.
37175
37176 2008-08-29  Jim Meyering  <meyering@redhat.com>
37177
37178         bootstrap: merge changes from coreutils
37179         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
37180         of copied files.  Remove a kludge, now that this is fixed.
37181         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
37182         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
37183         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
37184
37185 2008-08-29  Bruno Haible  <bruno@clisp.org>
37186
37187         * MODULES.html.sh: Remove --cvs-urls option.
37188
37189 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
37190
37191         maint.mk: adjust to file name change
37192         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
37193
37194 2008-08-28  Jim Meyering  <meyering@redhat.com>
37195
37196         * modules/getndelim2 (License): Relicense to LGPLv2+.
37197         Approved by Richard Stallman for the version of 1995, and by
37198         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
37199
37200 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
37201
37202         * lib/getdelim.c (flockfile, funlockfile): Make all of them
37203         dummy if one is not available.  Do not touch them if
37204         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
37205         (getc_maybe_unlocked): New.
37206         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
37207
37208 2008-08-26  Eric Blake  <ebb9@byu.net>
37209
37210         doc/INSTALL: resync from autoconf
37211         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
37212         (INSTALL_PRELUDE): Delete; this is done more efficiently by
37213         moving...
37214         * install.texi [!autoconf]: ...here.  Resync from autoconf.
37215         * INSTALL: Regenerate.
37216         * INSTALL.ISO: New file.
37217         * INSTALL.UTF-8: Likewise.
37218
37219 2008-08-26  Jim Meyering  <meyering@redhat.com>
37220
37221         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
37222         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
37223         these definitions conditional, so that they may be overridden, too.
37224
37225 2008-08-26  Bruno Haible  <bruno@clisp.org>
37226
37227         Generate INSTALL file variants with prettier quotes.
37228         * doc/Makefile (INSTALL_PRELUDE): New macro.
37229         (INSTALL): Use it.
37230         (INSTALL.ISO, INSTALL.UTF-8): New rules.
37231
37232 2008-08-26  Bruno Haible  <bruno@clisp.org>
37233
37234         Run makeinfo in an English locale.
37235         * doc/Makefile (MAKEINFO): New variable.
37236
37237 2008-08-26  Bruno Haible  <bruno@clisp.org>
37238
37239         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
37240         Suggested by Eric Blake.
37241
37242 2008-08-25  Bruno Haible  <bruno@clisp.org>
37243
37244         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
37245
37246 2008-08-25  Eric Blake  <ebb9@byu.net>
37247
37248         c-stack: test that stack overflow can be caught
37249         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
37250         that platform allows handling stack overflow; at least OS/2 EMX
37251         has sigaltstack, but crashes before transferring control to
37252         handler on stack overflow.
37253         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
37254         check for HAVE_STACK_OVERFLOW_HANDLING.
37255         Reported by Elbert Pol.
37256
37257 2008-08-25  Bruno Haible  <bruno@clisp.org>
37258
37259         * doc/posix-functions/strftime.texi: Fix description of strftime
37260         module.
37261
37262 2008-08-24  Bruno Haible  <bruno@clisp.org>
37263
37264         * tests/uniwidth/test-uc_width2.c: New file.
37265         * tests/uniwidth/test-uc_width2.sh: New file.
37266         * modules/uniwidth/width-tests (Files): Add the new files.
37267         (TESTS): Add uniwidth/test-uc_width2.sh.
37268         (TESTS_ENVIRONMENT): New variable.
37269         (check_PROGRAMS): Add test-uc_width2.
37270         (test_uc_width2_SOURCES): New variable.
37271
37272         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
37273         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
37274         not 0x00AB.
37275         Reported by Alexander V. Lukyanov <lav@netis.ru>.
37276
37277 2008-08-22  Eric Blake  <ebb9@byu.net>
37278
37279         test-lock, test-tls: mention why a test is skipped
37280         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
37281         skipped.
37282         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
37283
37284         count-one-bits: relax license
37285         * modules/count-one-bits (License): Relicense to LGPLv2+.
37286         Suggested by Ludovic Courtès, approved by Ben Pfaff.
37287
37288 2008-08-22  Andreas Schwab  <schwab@suse.de>
37289
37290         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37291         Remove spurious space in assignment.
37292
37293 2008-08-21  Simon Josefsson  <simon@josefsson.org>
37294
37295         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
37296         Paul Eggert <eggert@CS.UCLA.EDU>.
37297
37298 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
37299
37300         * modules/gettext: Add m4/threadlib.m4.
37301
37302 2008-08-19  Eric Blake  <ebb9@byu.net>
37303
37304         test-c-stack: fix compilation failure on FreeBSD 5.0
37305         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
37306         headers before <sys/resource.h>.
37307         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
37308         the bug.
37309         Reported by Nelson H. F. Beebe.
37310
37311         strverscmp: migrate from "strverscmp.h" to <string.h>
37312         * modules/string (Makefile.am): Add new hooks.
37313         * modules/strverscmp (Files): Remove strverscmp.h.
37314         (Depends-on): Add string.
37315         (configure.ac): Add indicator.
37316         (Include): Mention new header.
37317         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
37318         defaults.
37319         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
37320         results.
37321         * lib/strverscmp.h: Delete.
37322         * lib/string.in.h (strverscmp): Provide declaration, when needed.
37323         * tests/test-strverscmp.c (includes): Adjust client.
37324         * lib/check-version.c (includes): Likewise.
37325         * NEWS: Document the change.
37326
37327         strverscmp: add unit test
37328         * modules/strverscmp-tests: New file.
37329         * tests/test-strverscmp.c: Likewise.
37330
37331 2008-08-19  Simon Josefsson  <simon@josefsson.org>
37332
37333         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
37334         regarding Windows crypto stuff, from Mono.
37335
37336 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
37337
37338         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
37339         if present, for intel RND.  Return error on failures.
37340
37341 2008-08-18  Ben Pfaff  <blp@gnu.org>
37342
37343         gitlog-to-changelog: give better diagnostic for failed pipe-open
37344         * build-aux/gitlog-to-changelog: Improve error message: suggest
37345         that the version of Git may be too old.
37346
37347 2008-08-18  Simon Josefsson  <simon@josefsson.org>
37348
37349         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
37350         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
37351
37352 2008-08-18  Bruno Haible  <bruno@clisp.org>
37353
37354         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
37355         pthread_in_use().
37356
37357 2008-08-18  Bruno Haible  <bruno@clisp.org>
37358
37359         * lib/glthread/threadlib.c: Include <pthread.h>.
37360
37361 2008-08-18  Bruno Haible  <bruno@clisp.org>
37362
37363         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
37364         glthread_recursive_lock_* macros.
37365         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
37366         Fix syntax error.
37367
37368 2008-08-18  Bruno Haible  <bruno@clisp.org>
37369
37370         * lib/glthread/thread.c: Avoid forcing a context switch right after
37371         thread creation.
37372
37373 2008-08-17  Bruno Haible  <bruno@clisp.org>
37374
37375         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
37376         * lib/glthread/thread.h: Provide Win32 specific implementation.
37377         * modules/thread (Files): Add lib/glthread/thread.c.
37378         (Depends-on): Add lock.
37379         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
37380
37381 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37382
37383         New module 'yield'.
37384         * modules/yield: New file.
37385         * lib/glthread/yield.h: New file.
37386         * m4/yield.m4: New file.
37387         * MODULES.html.sh (Multithreading): Add yield.
37388
37389 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37390
37391         New module 'thread'.
37392         * modules/thread: New file.
37393         * lib/glthread/thread.h: New file.
37394         * m4/thread.m4: New file.
37395         * MODULES.html.sh (Multithreading): Add thread.
37396
37397 2008-08-17  Bruno Haible  <bruno@clisp.org>
37398
37399         * lib/glthread/lock.h: Include <stdlib.h> always.
37400         * lib/glthread/tls.h: Likewise.
37401         * lib/glthread/cond.h: Likewise.
37402
37403 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37404
37405         New module 'cond'.
37406         * modules/cond: New file.
37407         * lib/glthread/cond.h: New file.
37408         * lib/glthread/cond.c: New file.
37409         * m4/cond.m4: New file.
37410         * MODULES.html.sh (Multithreading): Add cond.
37411
37412 2008-08-16  Eric Blake  <ebb9@byu.net>
37413
37414         c-stack: fix regression on Irix 5.3 from 2008-06-21
37415         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
37416         sa_sigaction...
37417         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
37418         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
37419         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
37420         * modules/signal (Makefile.am): Use the value.
37421         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
37422         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
37423         * doc/posix-headers/signal.texi (signal.h): Document this
37424         portability issue.
37425         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
37426         Reported by Tom G. Christensen.
37427
37428 2008-08-17  Bruno Haible  <bruno@clisp.org>
37429
37430         New module 'threadlib'.
37431         * modules/threadlib: New file.
37432         * lib/glthread/threadlib.c: New file, extracted from
37433         lib/glthread/lock.c.
37434         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
37435         functions.
37436         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
37437         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
37438         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
37439         macros.
37440         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
37441         (gl_DISABLE_THREADS): Remove macro.
37442         * modules/lock (Files): Remove build-aux/config.rpath.
37443         (Depends-on): Remove havelib. Add threadlib.
37444         (configure.ac-early): Remove section.
37445         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
37446         * modules/tls (Depends-on): Remove lock. Add threadlib.
37447         (Link): New section, copied from threadlib.
37448         * MODULES.html.sh (Multithreading): Add threadlib.
37449
37450 2008-08-14  Bruno Haible  <bruno@clisp.org>
37451
37452         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
37453         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
37454         glthread_rwlock_unlock, glthread_rwlock_destroy,
37455         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
37456         glthread_recursive_lock_destroy): Define as macros always.
37457         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
37458         glthread_lock_lock.
37459         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
37460         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
37461         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
37462         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
37463         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
37464         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
37465         (glthread_recursive_lock_lock_func): Renamed from
37466         glthread_recursive_lock_lock.
37467         (glthread_recursive_lock_unlock_func): Renamed from
37468         glthread_recursive_lock_unlock.
37469         (glthread_recursive_lock_destroy_func): Renamed from
37470         glthread_recursive_lock_destroy.
37471
37472 2008-08-14  Bruno Haible  <bruno@clisp.org>
37473
37474         * lib/glthread/lock.h: Renamed from lib/lock.h.
37475         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
37476         * lib/glthread/tls.h: Renamed from lib/tls.h.
37477         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
37478         * lib/fstrcmp.c: Update includes.
37479         * lib/strsignal.c: Update includes.
37480         * modules/lock (Files, Makefile.am): Update.
37481         (Include): Change to "glthread/lock.h".
37482         * modules/tls (Files, Makefile.am): Update.
37483         (Include): Change to "glthread/tls.h".
37484         * tests/test-lock.c: Update includes.
37485         * tests/test-tls.c: Update includes.
37486         * NEWS: Mention the renamed header files.
37487
37488 2008-08-11  Jim Meyering  <meyering@redhat.com>
37489
37490         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
37491
37492 2008-08-11  Eric Blake  <ebb9@byu.net>
37493
37494         test-c-stack: avoid C99-ism
37495         * tests/test-c-stack.c (main): Fix whitespace, move declaration
37496         before statement.
37497         Reported by Alain Guibert.
37498
37499 2008-08-10  Jim Meyering  <meyering@redhat.com>
37500
37501         ensure that return value of uinttostr et al are not ignored
37502         * lib/inttostr.h (__GNUC_PREREQ): Define.
37503         (__attribute_warn_unused_result__): Define.
37504         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
37505
37506 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
37507
37508         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
37509         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
37510
37511 2008-08-07  Jim Meyering  <meyering@redhat.com>
37512
37513         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
37514
37515         * modules/mkstemp (License): Relicense under LGPLv2+.
37516         * modules/tempname (License): Likewise.
37517
37518 2008-08-06  Bruno Haible  <bruno@clisp.org>
37519
37520         * lib/poll.c (poll): Further micro-optimization.
37521
37522 2008-08-06  Jim Meyering  <meyering@redhat.com>
37523
37524         inet_pton.c: use locale-independent tolower
37525         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
37526         (inet_pton6): Use c_tolower rather than tolower.
37527         * modules/inet_pton (Depends-on): Add c-ctype.
37528
37529 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
37530
37531         * lib/poll.c (poll): Avoid division when timeout is 0, cache
37532         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
37533
37534 2008-08-06  Jim Meyering  <meyering@redhat.com>
37535
37536         * modules/inet_pton (License): Relicense under LGPLv2+.
37537
37538 2008-08-03  Bruno Haible  <bruno@clisp.org>
37539
37540         Additional non-aborting API for lock and tls.
37541         * lib/lock.h: Include <errno.h>.
37542         (glthread_lock_init): New macro/function.
37543         (gl_lock_init): Define as wrapper around glthread_lock_init.
37544         (glthread_lock_lock): New macro/function.
37545         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
37546         (glthread_lock_unlock): New macro/function.
37547         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
37548         (glthread_lock_destroy): New macro/function.
37549         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
37550         (glthread_rwlock_init): New macro/function.
37551         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
37552         (glthread_rwlock_rdlock): New macro/function.
37553         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
37554         (glthread_rwlock_wrlock): New macro/function.
37555         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
37556         (glthread_rwlock_unlock): New macro/function.
37557         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
37558         (glthread_rwlock_destroy): New macro/function.
37559         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
37560         (glthread_recursive_lock_init): New macro/function.
37561         (gl_recursive_lock_init): Define as wrapper around
37562         glthread_recursive_lock_init.
37563         (glthread_recursive_lock_lock): New macro/function.
37564         (gl_recursive_lock_lock): Define as wrapper around
37565         glthread_recursive_lock_lock.
37566         (glthread_recursive_lock_unlock): New macro/function.
37567         (gl_recursive_lock_unlock): Define as wrapper around
37568         glthread_recursive_lock_unlock.
37569         (glthread_recursive_lock_destroy): New macro/function.
37570         (gl_recursive_lock_destroy): Define as wrapper around
37571         glthread_recursive_lock_destroy.
37572         (glthread_once): New macro/function.
37573         (gl_once): Define as wrapper around glthread_once.
37574         Update function declarations.
37575         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
37576         glthread_rwlock_init. Return error code.
37577         (glthread_rwlock_rdlock_multithreaded): Renamed from
37578         glthread_rwlock_rdlock. Return error code.
37579         (glthread_rwlock_wrlock_multithreaded): Renamed from
37580         glthread_rwlock_wrlock. Return error code.
37581         (glthread_rwlock_unlock_multithreaded): Renamed from
37582         glthread_rwlock_unlock. Return error code.
37583         (glthread_rwlock_destroy_multithreaded): Renamed from
37584         glthread_rwlock_destroy. Return error code.
37585         (glthread_recursive_lock_init_multithreaded): Renamed from
37586         glthread_recursive_lock_init. Return error code.
37587         (glthread_recursive_lock_lock_multithreaded): Renamed from
37588         glthread_recursive_lock_lock. Return error code.
37589         (glthread_recursive_lock_unlock_multithreaded): Renamed from
37590         glthread_recursive_lock_unlock. Return error code.
37591         (glthread_recursive_lock_destroy_multithreaded): Renamed from
37592         glthread_recursive_lock_destroy. Return error code.
37593         (glthread_once_call): Make static.
37594         (glthread_once_multithreaded): Renamed from glthread_once.
37595         * lib/tls.h: Include <errno.h>.
37596         (glthread_tls_key_init): New macro/function.
37597         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
37598         (glthread_tls_set): New macro/function.
37599         (gl_tls_set): Define as wrapper around glthread_tls_set.
37600         (glthread_tls_key_destroy): New macro/function.
37601         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
37602         Update function declarations.
37603         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
37604         glthread_tls_get.
37605         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37606
37607 2008-08-04  Eric Blake  <ebb9@byu.net>
37608
37609         gnumakefile: use space, not TAB, outside of targets
37610         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
37611
37612 2008-08-02  Jim Meyering  <meyering@redhat.com>
37613
37614         getdate.y: avoid locale-dependent date parsing failure
37615         In Turkish locales, getdate would fail to recognize keywords
37616         containing a lowercase "i".  The solution is not to rely on
37617         locale-sensitive case-conversion.
37618         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
37619         (lookup_word): Use c_toupper in place of toupper.
37620         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
37621         Reported by Vefa Bicakci <bicave@superonline.com> in
37622         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
37623         * modules/getdate (Depends-on): Add c-ctype.
37624
37625 2008-08-02  Bruno Haible  <bruno@clisp.org>
37626
37627         * gnulib-tool (func_import): When updating or creating a .gitignore
37628         file, prepend each added line with a slash, and ignore leading slashes
37629         from the existing lines.
37630         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
37631
37632 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37633
37634         Portability fix for GNU make 3.79.1.
37635         * top/GNUmakefile: Avoid 'else COND', which older GNU make
37636         versions do not understand.
37637
37638 2008-08-01  Bruno Haible  <bruno@clisp.org>
37639
37640         Work around bug of HP-UX 10.20 cc with -0.0 literal.
37641         * tests/test-isnanf.h (zero): New variable.
37642         (main): Avoid literal -0.0f.
37643         * tests/test-isnand.h (zero): New variable.
37644         (main): Avoid literal -0.0.
37645         * tests/test-isnanl.h (zero): New variable.
37646         (main): Avoid literal -0.0L.
37647         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
37648         (test_float, test_double, test_long_double): Avoid literals -0.0f,
37649         -0.0, -0.0L.
37650         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
37651         (test_signbitd): Avoid literal -0.0.
37652         (test_signbitl): Avoid literal -0.0L.
37653         * tests/test-ceilf1.c (zero): New variable.
37654         (main): Avoid literal -0.0f.
37655         * tests/test-ceill.c (zero): New variable.
37656         (main): Avoid literal -0.0L.
37657         * tests/test-floorf1.c (zero): New variable.
37658         (main): Avoid literal -0.0f.
37659         * tests/test-floorl.c (zero): New variable.
37660         (main): Avoid literal -0.0L.
37661         * tests/test-roundf1.c (zero): New variable.
37662         (main): Avoid literal -0.0f.
37663         * tests/test-round1.c (zero): New variable.
37664         (main): Avoid literal -0.0.
37665         * tests/test-roundl.c (zero): New variable.
37666         (main): Avoid literal -0.0L.
37667         * tests/test-truncf1.c (zero): New variable.
37668         (main): Avoid literal -0.0f.
37669         * tests/test-trunc1.c (zero): New variable.
37670         (main): Avoid literal -0.0.
37671         * tests/test-truncl.c (zero): New variable.
37672         (main): Avoid literal -0.0L.
37673         * tests/test-frexp.c (zero): New variable.
37674         (main): Avoid literal -0.0.
37675         * tests/test-frexpl.c (zero): New variable.
37676         (main): Avoid literal -0.0L.
37677         * tests/test-ldexpl.c (zero): New variable.
37678         (main): Avoid literal -0.0L.
37679         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37680         (zerod, zerol): New variables.
37681         (test_function): Avoid literals -0.0, -0.0L.
37682         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37683         (zerod, zerol): New variables.
37684         (test_function): Avoid literals -0.0, -0.0L.
37685         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37686         (zerod, zerol): New variables.
37687         (test_function): Avoid literals -0.0, -0.0L.
37688         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37689         (zerod, zerol): New variables.
37690         (test_function): Avoid literals -0.0, -0.0L.
37691         * tests/test-strtod.c (zero): New variable.
37692         (main): Avoid literal -0.0.
37693         Reported by Jonathan C. Patschke <jp@centtech.com>.
37694
37695 2008-07-31  Jim Meyering  <meyering@redhat.com>
37696
37697         sha256.h: correct definition of SHA224_DIGEST_SIZE
37698         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
37699         Reported by Paulie Pena IV <paulie4@gmail.com>.
37700         Define as 224 / 8, rather than as a literal.
37701         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
37702         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
37703         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
37704
37705 2008-07-31  Bruno Haible  <bruno@clisp.org>
37706
37707         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
37708         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
37709         Reported by Jonathan Patschke <jp@centtech.com>.
37710
37711 2008-07-31  Bruno Haible  <bruno@clisp.org>
37712
37713         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
37714         Reported by Paolo Bonzini <bonzini@gnu.org>.
37715
37716 2008-07-30  Eric Blake  <ebb9@byu.net>
37717
37718         test-strtod: allow compilation without -lm
37719         * tests/test-strtod.c (main): Avoid link dependence on fabs.
37720         Reported by Dennis Clarke <blastwave@gmail.com>.
37721
37722 2008-07-28  Jim Meyering  <meyering@redhat.com>
37723
37724         bootstrap: work also when there are no .po files in po/
37725         * build-aux/bootstrap (update_po_files): Complete the change
37726         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
37727
37728 2008-07-27  Jim Meyering  <meyering@redhat.com>
37729
37730         * users.txt: Add zile.
37731
37732 2008-07-26  Ben Pfaff  <blp@gnu.org>
37733
37734         Add missing dependencies on new m4/exponent[fdl].m4 files.
37735         * modules/isnanf-nolibm: Add m4/exponentf.m4.
37736         * modules/isnand-nolibm: Add m4/exponentd.m4.
37737         * modules/isnanl-nolibm: Add m4/exponentl.m4.
37738         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
37739         m4/isnan[fdl].m4, because the macros actually used moved.
37740         Reported by Jim Meyering.
37741
37742 2008-07-14  Ben Pfaff  <blp@gnu.org>
37743
37744         Add isinf module.
37745         * lib/isinf.c: New file.
37746         * lib/math.in.h: Define isinf macro if we have decided to replace
37747         it.
37748         * m4/isinf.m4: New file.
37749         * m4/math_h.m4: Initialize and substitute variables for isinf
37750         module.
37751         * modules/isinf: New file.
37752         * modules/isinf-tests: New file.
37753         * modules/math: Add substitutions for new module.
37754         * tests/test-isinf.c: New file.
37755         * doc/posix-functions/isinf.texi: Mention new module.
37756         * MODULES.html.sh: Mention new module.
37757
37758 2008-07-14  Ben Pfaff  <blp@gnu.org>
37759
37760         Factor out some macros for use by additional modules.
37761         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
37762         exponentf.m4.
37763         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
37764         exponentd.m4.
37765         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
37766         file exponentl.m4.
37767         * m4/exponentf.m4: New file.
37768         * m4/exponentd.m4: New file.
37769         * m4/exponentl.m4: New file.
37770         * modules/isnanf: Use new file m4/exponentf.m4.
37771         * modules/isnand: Use new file m4/exponentd.m4.
37772         * modules/isnanl: Use new file m4/exponentl.m4.
37773
37774 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
37775
37776         mktime.c: normalize tp->tm_isdst value to -1/0/1.
37777         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
37778         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
37779         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
37780
37781         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
37782         readlink on platforms without PATH_MAX.
37783
37784 2008-07-21  Eric Blake  <ebb9@byu.net>
37785
37786         Warn, not fail, on stale version.
37787         * top/GNUmakefile (_curr-ver): Tone down previous patch.
37788
37789         Don't allow installation with stale devel version number.
37790         * top/GNUmakefile (_is-install-target): New macro.
37791         (_curr-ver): Forbid installation with stale version number.
37792
37793 2008-07-20  Bruno Haible  <bruno@clisp.org>
37794
37795         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
37796         TESTS_ENVIRONMENT.
37797         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
37798
37799 2008-07-20  Bruno Haible  <bruno@clisp.org>
37800
37801         * lib/c-stack.h (c_stack_action): Add documentation.
37802         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
37803
37804 2008-07-20  Bruno Haible  <bruno@clisp.org>
37805
37806         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
37807         * modules/readlink (License): Likewise.
37808
37809 2008-07-17  Eric Blake  <ebb9@byu.net>
37810
37811         * modules/c-stack (Link): Fix typo.
37812
37813         Make c-stack use libsigsegv, when available.
37814         * modules/c-stack (Depends-on): Add libsigsegv.
37815         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
37816         needed.
37817         * lib/c-stack.c (SIGSTKSZ): Define fallback.
37818         (segv_handler, overflow_handler, c_stack_action)
37819         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
37820         implementation when libsigsegv is available, but only when using
37821         the library is necessary.
37822         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
37823         comment, explaining why XSI check fails on Linux.
37824         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
37825         * tests/test-c-stack2.sh: Tweak skip message.
37826         * NEWS: Document new link-time requirements.
37827
37828 2008-07-16  Eric Blake  <ebb9@byu.net>
37829
37830         c-stack: Expose false positives when not using libsigsegv.
37831         * modules/c-stack-tests (Files): Expand test.
37832         * tests/test-c-stack.c (main): Add means to conditionally trigger
37833         non-overflow SIGSEGV.
37834         * tests/test-c-stack2.sh: New file.
37835
37836 2008-07-14  Bruno Haible  <bruno@clisp.org>
37837
37838         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
37839         Reported by Eric Blake.
37840
37841 2008-07-14  Sam Steingold  <sds@gnu.org>
37842             Bruno Haible  <bruno@clisp.org>
37843
37844         New module libsigsegv.
37845         * modules/libsigsegv: New file.
37846         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
37847         modifications.
37848         * MODULES.html.sh (Signal handling): New section.
37849
37850 2008-07-14  Bruno Haible  <bruno@clisp.org>
37851
37852         * modules/unictype/ctype-* (Description): Add the word "function".
37853         Improves the resulting doc in MODULES.html.
37854
37855 2008-07-12  Ben Pfaff  <blp@gnu.org>
37856
37857         Add longlong module.
37858         * modules/longlong: New file.
37859
37860 2008-07-12  Bruno Haible  <bruno@clisp.org>
37861
37862         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
37863         to empty.
37864
37865 2008-07-10  Ben Pfaff  <blp@gnu.org>
37866
37867         Add isnan module.
37868         * doc/posix-functions/isnan.texi: Mention new module.
37869         * lib/math.in.h: Define isnan macro if we have decided to replace
37870         it.
37871         * m4/isnan.m4: New file.
37872         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
37873         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
37874         also.
37875         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
37876         redundancy.
37877         * m4/math_h.m4: Initialize and substitute variables for isnan
37878         module.
37879         * modules/isnan: New file.
37880         * modules/isnan-tests: New file.
37881         * modules/math: Add substitutions for new module.
37882         * tests/test-isnan.c: New file.
37883         * MODULES.html.sh: Mention new module.
37884
37885 2008-07-10  Ben Pfaff  <blp@gnu.org>
37886
37887         Add isnanf module.
37888         * lib/isnanf.m4: New file.
37889         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
37890         (gl_HAVE_ISNANF_IN_LIBM): New macro.
37891         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
37892         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
37893         * modules/isnanf: New file.
37894         * modules/isnanf-tests: New file.
37895         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
37896         files.
37897         * tests/test-isnanf-nolibm.c: factored most of its contents into
37898         new file tests/test-isnanf.h.
37899         * tests/test-isnanf.h: New file.
37900         * tests/test-isnanf.c: New file.
37901         * MODULES.html.sh: Mention new module.
37902         * doc/glibc-functions/isnanf.texi: Mention new module.
37903
37904 2008-07-10  Ben Pfaff  <blp@gnu.org>
37905
37906         Add isnand module.
37907         * lib/isnand.h: New file.
37908         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
37909         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
37910         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
37911         functionality also.
37912         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
37913         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
37914         (gl_HAVE_ISNAND_IN_LIBM): New macro.
37915         * modules/isnand: New file.
37916         * modules/isnand-tests: New file.
37917         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
37918         files.
37919         * tests/test-isnand-nolibm.c: factored most of its contents into
37920         new file tests/test-isnand.h.
37921         * tests/test-isnand.h: New file.
37922         * tests/test-isnand.c: New file.
37923         * MODULES.html.sh: Mention new module.
37924
37925 2008-07-10  Ben Pfaff  <blp@gnu.org>
37926
37927         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
37928         * lib/isnand.h: Rename lib/isnand-nolibm.h.
37929         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
37930         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
37931         * modules/isnanf-nolibm: Update references to renamed files.
37932         * modules/isnand-nolibm: Likewise.
37933         * modules/isnanf-nolibm-tests: Likewise.
37934         * modules/isnand-nolibm-tests: Likewise.
37935         * lib/frexp.c: Likewise.
37936         * lib/isfinite.c: Likewise.
37937         * lib/signbitd.c: Likewise.
37938         * lib/signbitf.c: Likewise.
37939         * lib/vasnprintf.c: Likewise.
37940         * tests/test-ceilf1.c: Likewise.
37941         * tests/test-ceilf2.c: Likewise.
37942         * tests/test-floorf1.c: Likewise.
37943         * tests/test-floorf2.c: Likewise.
37944         * tests/test-frexp.c: Likewise.
37945         * tests/test-round1.c: Likewise.
37946         * tests/test-round2.c: Likewise.
37947         * tests/test-roundf1.c: Likewise.
37948         * tests/test-strtod.c: Likewise.
37949         * tests/test-trunc1.c: Likewise.
37950         * tests/test-trunc2.c: Likewise.
37951         * tests/test-truncf1.c: Likewise.
37952         * tests/test-truncf2.c: Likewise.
37953         * NEWS: Mention the renamed header files.
37954
37955 2008-07-11  Jim Meyering  <meyering@redhat.com>
37956
37957         vc-list-files: make the last-resort awk code more portable
37958         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
37959         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
37960         does not support it.
37961
37962 2008-07-10  Eric Blake  <ebb9@byu.net>
37963
37964         Work with tar's bootstrap.
37965         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
37966         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
37967         an m4 comment.
37968
37969 2008-07-09  Jim Meyering  <meyering@redhat.com>
37970
37971         posix-shell.m4: fix typo that made this test malfunction
37972         * m4/posix-shell.m4: Remove capitalization in variable name.
37973
37974 2008-07-08  Bruno Haible  <bruno@clisp.org>
37975
37976         * m4/onceonly.m4: Update comments.
37977         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37978
37979 2008-07-04  Jim Meyering  <meyering@redhat.com>
37980
37981         * users.txt: Add vc-dwim.
37982         (bison, coreutils): Use the gitweb URL.
37983
37984 2008-07-03  Jim Meyering  <meyering@redhat.com>
37985
37986         * users.txt: Add libffcall.  From Sam Steingold.
37987
37988 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
37989
37990         getdate.y: do not ignore TZ with relative day, month or year offset
37991         * lib/getdate.y (get_date): Move the tz-handling block to follow the
37992         relative-date-handling, since otherwise, the latter would clobber the
37993         sole output (an updated Start value) of the tz-handling block.
37994         * tests/test-getdate.c: Tests for the fix
37995
37996 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37997
37998         Recognize 'foo_LIBRARIES += libgnu.a'.
37999         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
38000         makefile snippet has already specified an installation location,
38001         also using '+='.
38002
38003 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
38004
38005         getdate.y: factor out common actions
38006         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
38007         Use them in place of open-coded actions.
38008
38009 2008-07-01  Simon Josefsson  <simon@josefsson.org>
38010
38011         Add self-test for getdate module.
38012         * modules/getdate-tests: New file.
38013         * tests/test-getdate.c: New file.
38014
38015 2008-06-29  Bruno Haible  <bruno@clisp.org>
38016
38017         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
38018         .gitignore.
38019         Reported by Sylvain Beucler <beuc@beuc.net>.
38020
38021 2008-06-29  Bruno Haible  <bruno@clisp.org>
38022
38023         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
38024         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
38025
38026 2008-06-29  Bruno Haible  <bruno@clisp.org>
38027
38028         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
38029         EXTRA_DIST.
38030         Reported by Sylvain Beucler <beuc@beuc.net>.
38031
38032 2008-06-26  Jim Meyering  <meyering@redhat.com>
38033
38034         make several modules depend on the "open" module
38035         This provides slightly increased consistency when opening-for-write
38036         the name of a non-directory spelled with a trailing slash.
38037         * modules/chdir-safer: Likewise.
38038         * modules/chown: Likewise.
38039         * modules/clean-temp: Likewise.
38040         * modules/copy-file: Likewise.
38041         * modules/fchdir: Likewise.
38042         * modules/fcntl-safer: Likewise.
38043         * modules/pipe: Likewise.
38044         * modules/utime: Likewise.
38045         Prompted by Eric Blake and Bruno Haible.
38046
38047 2008-06-24  Andreas Schwab  <schwab@suse.de>
38048
38049         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
38050         literals can be used as initializers for global variables.
38051
38052 2008-06-23  Eric Blake  <ebb9@byu.net>
38053
38054         Make gnulib-cache.m4 easier to diff.
38055         * gnulib-tool (func_import): Allow newlines when reading cached
38056         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
38057
38058 2008-06-23  Bruno Haible  <bruno@clisp.org>
38059
38060         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
38061         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
38062         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
38063         m4/signalblocking.m4.
38064         (gl_PREREQ_SIGACTION): Don't invoke it.
38065         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
38066         gl_PREREQ_SIG_HANDLER_H.
38067         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38068         Don't check for sigaction here.
38069
38070 2008-06-23  Bruno Haible  <bruno@clisp.org>
38071
38072         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
38073         (install_handlers): Don't set the SA_RESETHAND flag.
38074
38075 2008-06-23  Bruno Haible  <bruno@clisp.org>
38076
38077         * m4/sigaction.m4: Comment fixes.
38078         * lib/signal.in.h: Likewise.
38079
38080 2008-06-23  Eric Blake  <ebb9@byu.net>
38081
38082         Fix typo.
38083         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
38084
38085         Avoid SA_ namespace.
38086         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
38087         Reported by Ralf Wildenhues.
38088
38089         Avoid test failure due to SA_RESTORER.
38090         * tests/test-sigaction.c (SA_MASK): New macro.
38091         (main): Avoid failing due to extension flags being set.
38092         Reported by Jim Meyering.
38093
38094         Revert use of sig-handler.h in sigprocmask.c.
38095         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
38096         it requires the existence of struct sigaction.
38097         * lib/sigprocmask.c (handler_t): Restore typedef.
38098         (rpl_signal, old_handlers): Use local type.
38099
38100 2008-06-22  Bruno Haible  <bruno@clisp.org>
38101
38102         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
38103         conditionally.
38104         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38105
38106 2008-06-22  Bruno Haible  <bruno@clisp.org>
38107
38108         * doc/posix-functions/siginterrupt.texi: Move note.
38109
38110         * lib/signal.in.h (SA_RESTART): New macro.
38111         * lib/sigaction.c: Update comment.
38112
38113         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
38114
38115         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
38116         (gl_PREREQ_SIGPROCMASK): Invoke it.
38117         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
38118
38119         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
38120
38121         * lib/sigprocmask.c: Update a comment.
38122
38123 2008-06-21  Eric Blake  <ebb9@byu.net>
38124
38125         Use sigaction module rather than signal().
38126         * modules/c-stack (Depends-on): Add sigaction.
38127         * modules/fatal-signal (Depends-on): Likewise.
38128         * modules/nanosleep (Depends-on): Likewise.
38129         * modules/sigprocmask (Files): Add sig-handler.h.
38130         * modules/sigaction (Files): Likewise.
38131         * lib/sig-handler.h (get_handler): New file, suggested by Paul
38132         Eggert.
38133         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
38134         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
38135         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
38136         (init_fatal_signals): Likewise.
38137         * lib/nanosleep.c (rpl_nanosleep): Likewise.
38138         (siginterrupt): Delete fallback.
38139         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
38140         instead.
38141         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
38142         siginterrupt.
38143
38144         New module sigaction, for mingw.
38145         * modules/sigaction: New module...
38146         * modules/sigaction-tests: ...and its test.
38147         * m4/sigaction.m4: New file.
38148         * lib/sigaction.c: Likewise.
38149         * tests/test-sigaction.c: Likewise.
38150         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
38151         * modules/signal (Makefile.am): Likewise.
38152         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
38153         needed.
38154         * doc/posix-headers/signal.texi (signal.h): Mention provided
38155         types.
38156         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
38157         that sigaction is preferable.
38158         * doc/posix-functions/sigaction.texi (sigaction): Mention new
38159         module.
38160         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38161         sigaction.
38162
38163         Improve robustness of sigprocmask by overriding signal.
38164         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
38165         is in use.
38166         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
38167         (SIGKILL, SIGSTOP): Provide fallbacks.
38168         (rpl_signal): Implement.
38169         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
38170         signal can be called inside handlers.
38171
38172         Fix nanosleep module on mingw.
38173         * modules/nanosleep (Depends-on): Add sys_select.
38174         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
38175
38176         Fix licensing of sigprocmask.
38177         * modules/raise (License): Relicense as LGPL.
38178
38179 2008-06-21  Bruno Haible  <bruno@clisp.org>
38180
38181         * lib/propername.c (proper_name_utf8): Don't use the transliterated
38182         result if it contains question marks.
38183         Reported by Michael Geng <linux@michaelgeng.de>.
38184
38185 2008-06-19  Bruno Haible  <bruno@clisp.org>
38186
38187         Fix CVS-ism.
38188         * doc/gnulib.texi: Include updated-stamp.texi.
38189         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
38190         (updated-stamp.texi): New rule.
38191         (gnulib.info): Depend on it.
38192         * doc/.gitignore: Add updated-stamp.texi.
38193         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
38194
38195 2008-06-19  Bruno Haible  <bruno@clisp.org>
38196
38197         * doc/Makefile (gnulib.info): Update and simplify dependencies.
38198         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
38199
38200 2008-06-19  Eric Blake  <ebb9@byu.net>
38201
38202         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
38203         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
38204         Reported by Stepan Kasal.
38205
38206 2008-06-18  Bruno Haible  <bruno@clisp.org>
38207
38208         * lib/fatal-signal.c (init_fatal_signals): Add comment.
38209         Reported by Eric Blake.
38210
38211 2008-06-18  Eric Blake  <ebb9@byu.net>
38212
38213         Work around cygwin 1.5.25 strsignal bug.
38214         * tests/test-strsignal.c: Allow for const char *.
38215         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
38216
38217 2008-06-18  Simon Josefsson  <simon@josefsson.org>
38218
38219         * users.txt: Update URL to article and add author/date
38220         information.
38221
38222 2008-06-17  Bruno Haible  <bruno@clisp.org>
38223
38224         New macro gl_DISABLE_THREADS.
38225         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
38226         if the user did not pass --enable-threads or --disable-threads option.
38227         (gl_DISABLE_THREADS): New macro.
38228         Reported by Eric Blake <ebb9@byu.net>.
38229
38230 2008-06-17  Bruno Haible  <bruno@clisp.org>
38231
38232         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
38233         when the macro ignores it.
38234         Based on a patch by Eric Blake <ebb9@byu.net>.
38235
38236 2008-06-17  Bruno Haible  <bruno@clisp.org>
38237
38238         * modules/tls (License): Change to LGPLv2+.
38239         Reported by Eric Blake.
38240
38241 2008-06-17  Eric Blake  <ebb9@byu.net>
38242
38243         Simplify c-stack prerequisites.
38244         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
38245         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
38246         no longer requires <ucontext.h> to exist.  Optimize setrlimit
38247         check.
38248         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
38249         <sys/resource.h>.
38250
38251         Move c-stack test into testsuite.
38252         * modules/c-stack-tests: New file.
38253         * lib/c-stack.c [DEBUG]: Move test program...
38254         * tests/test-c-stack.c: ...into this new file.  Skip rather than
38255         fail test if sigaltstack is lacking.
38256         * tests/test-c-stack.sh: New driver file.
38257
38258 2008-06-16  Eric Blake  <ebb9@byu.net>
38259
38260         Use raise module consistently.
38261         * modules/fatal-signal (Depends-on): Add raise.
38262         * modules/sigprocmask (Depends-on): Likewise.
38263         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
38264         * lib/sigprocmask.c (sigprocmask): Likewise.
38265         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38266         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
38267
38268         Fix compliance bug in sigpending.
38269         * lib/sigprocmask.c (sigpending): Return pending array via
38270         parameter, not return value.
38271
38272 2008-06-14  Eric Blake  <ebb9@byu.net>
38273
38274         Improve obstack-printf test code.
38275         * tests/test-obstack-printf.c (test_function): Fix comment, and
38276         simplify usage of obstack_* in macros.  Add a test for coverage.
38277         Reported by Bruno Haible.
38278
38279 2008-06-14  Bruno Haible  <bruno@clisp.org>
38280
38281         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
38282         array size as a constant, not as a const variable.
38283         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
38284         AC_USE_SYSTEM_EXTENSIONS.
38285         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
38286         Test whether the obstack_printf function actually exists.
38287         * modules/obstack-printf (Depends-on): Add extensions.
38288         (Include): Remove obstack.h.
38289         * modules/obstack-printf-posix (Depends-on): Add extensions.
38290         (Include): Remove obstack.h.
38291
38292 2008-06-13  Eric Blake  <ebb9@byu.net>
38293
38294         Add obstack-printf and obstack-printf-posix modules.
38295         * modules/obstack-printf: New file.
38296         * modules/obstack-printf-posix: Likewise.
38297         * MODULES.html.sh (Misc): Mention them.
38298         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
38299         Likewise.
38300         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
38301         Likewise.
38302         * modules/stdio (Makefile.am): Accomodate new modules.
38303         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38304         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
38305         Declare.
38306         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
38307         functions.
38308         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
38309         (gl_REPLACE_OBSTACK_PRINTF): New macros
38310         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
38311         * tests/test-obstack-printf.c: New file.
38312         * modules/obstack-printf-tests: Likewise.
38313         * modules/obstack-printf-posix-tests: Likewise.
38314
38315 2008-06-11  Bruno Haible  <bruno@clisp.org>
38316
38317         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
38318         * lib/open.c: Include errno.h.
38319         (open): Fail when attempting to write to a file that has a trailing
38320         slash.
38321         * tests/test-open.c (main): Test against trailing slash bug.
38322         * doc/posix-functions/open.texi: Mention the trailing slash bug.
38323
38324 2008-06-10  Bruno Haible  <bruno@clisp.org>
38325
38326         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
38327         for $? to work inside the trap command, with various /bin/sh-s.
38328         * tests/test-vc-list-files-cvs.sh: Likewise.
38329
38330 2008-06-10  Bruno Haible  <bruno@clisp.org>
38331
38332         * lib/acl-internal.h: Don't include gettext.h here.
38333         * lib/set-mode-acl.c: Include gettext.h here.
38334         * lib/copy-acl.c: Likewise.
38335
38336 2008-06-10  Bruno Haible  <bruno@clisp.org>
38337
38338         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
38339         * lib/wait-process.c (wait_subprocess): Likewise.
38340         * lib/execute.h (execute): Add termsigp argument.
38341         * lib/execute.c (execute): Likewise.
38342         * lib/csharpcomp.c (compile_csharp_using_pnet,
38343         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
38344         * lib/csharpexec.c (execute_csharp_using_pnet,
38345         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
38346         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
38347         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
38348         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
38349         is_jikes_present): Update.
38350         * lib/javaexec.c (execute_java_class): Update.
38351         * lib/javaversion.c (execute_and_read_line): Update.
38352         * NEWS: Document the changes.
38353         Reported by Eric Blake.
38354
38355 2008-06-10  Eric Blake  <ebb9@byu.net>
38356
38357         Add missing include.
38358         * tests/test-strstr.c (includes): Add <signal.h>.
38359         * tests/test-strcasestr.c (includes): Likewise.
38360         * tests/test-memmem.c (includes): Likewise.
38361
38362 2008-06-10  Bruno Haible  <bruno@clisp.org>
38363
38364         * lib/wait-process.c (wait_subprocess): Add an assertion.
38365
38366 2008-06-10  Bruno Haible  <bruno@clisp.org>
38367
38368         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
38369
38370 2008-06-10  Bruno Haible  <bruno@clisp.org>
38371
38372         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
38373         using alarm().
38374         * tests/test-strcasestr.c (main): Likewise.
38375         * tests/test-strstr.c (main): Likewise.
38376
38377 2008-06-09  Bruno Haible  <bruno@clisp.org>
38378
38379         Work around the Solaris 10 ACE ACLs ABI change.
38380         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
38381         declare if ACL_NO_TRIVIAL is present.
38382         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
38383         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
38384         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
38385         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
38386         define if ACL_NO_TRIVIAL is present.
38387         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
38388         and use the current ABI.
38389         (file_has_acl): Use same #if condition as elsewhere.
38390         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
38391         in use, and use the current ABI.
38392         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
38393         Reported by Jim Meyering.
38394
38395 2008-06-09  Eric Blake  <ebb9@byu.net>
38396
38397         Work around environments that (stupidly) ignore SIGALRM.
38398         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
38399         before using alarm().
38400         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38401         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38402         Reported by Ian Beckwith <ianb@erislabs.net>.
38403
38404         Produce autobuild blurb earlier in log.
38405         * modules/autobuild (configure.ac-early): Move AB_INIT here.
38406
38407 2008-06-09  Jim Meyering  <meyering@redhat.com>
38408         and Ondřej Vašík  <ovasik@redhat.com>
38409
38410         utimens.c: correct kernel bug work-around
38411         Ondřej Vašík found that the invalid return value of 280 indicates
38412         failure, not success, and the kernel bug we're trying to work
38413         around affects not just the utimensat call, but also the fallback
38414         futimens call.
38415         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
38416         not success.
38417         [HAVE_FUTIMENS]: Use the same work-around, here.
38418
38419 2008-06-09  Jim Meyering  <meyering@redhat.com>
38420
38421         add more guards around definition of ACE_-related code
38422         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
38423         ALLOW and ACE_OWNER are also defined.
38424
38425 2008-06-08  Bruno Haible  <bruno@clisp.org>
38426
38427         * lib/acl-internal.h: Add me as co-author.
38428         * lib/file-has-acl.c: Likewise.
38429         * lib/set-mode-acl.c: Likewise.
38430         * lib/copy-acl.c: Likewise.
38431
38432 2008-06-08  Bruno Haible  <bruno@clisp.org>
38433
38434         Add support for AIX ACLs.
38435         * lib/acl-internal.h (acl_nontrivial): New declaration.
38436         * lib/file-has-acl.c (acl_nontrivial): New function.
38437         (file_has_acl): Add implementation using AIX 4 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         Add support for HP-UX ACLs.
38444         * lib/acl-internal.h (acl_nontrivial): New declaration.
38445         * lib/file-has-acl.c (acl_nontrivial): New function.
38446         (file_has_acl): Add implementation using HP-UX 11 ACL API.
38447         * lib/set-mode-acl.c (qset_acl): Likewise.
38448         * lib/copy-acl.c (qcopy_acl): Likewise.
38449
38450 2008-06-08  Bruno Haible  <bruno@clisp.org>
38451
38452         Add support for Cygwin ACLs.
38453         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
38454         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
38455         the chmod_or_fchmod call.
38456         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
38457
38458 2008-06-08  Bruno Haible  <bruno@clisp.org>
38459
38460         Fix bug with setuid modes in Solaris 10+ code.
38461         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
38462         succeeded, when the mode contains some special bits.
38463
38464 2008-06-08  Bruno Haible  <bruno@clisp.org>
38465
38466         Add support for Solaris 7..10 ACLs.
38467         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
38468         declarations.
38469         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
38470         functions.
38471         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
38472         * lib/set-mode-acl.c (qset_acl): Likewise.
38473         * lib/copy-acl.c (qcopy_acl): Likewise.
38474
38475 2008-06-08  Bruno Haible  <bruno@clisp.org>
38476
38477         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
38478         declaration.
38479         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
38480         (acl_access_nontrivial): Remove MacOS X case.
38481         (file_has_acl): Use acl_extended_nontrivial.
38482         * lib/copy-acl.c (qcopy_acl): Likewise.
38483
38484 2008-06-08  Bruno Haible  <bruno@clisp.org>
38485
38486         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
38487
38488 2008-06-08  Jim Meyering  <meyering@redhat.com>
38489
38490         * modules/acl (Maintainer): Add Bruno Haible.
38491
38492 2008-06-07  Bruno Haible  <bruno@clisp.org>
38493
38494         Improve support for Tru64 ACLs.
38495         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
38496         ACL on OSF/1.
38497
38498 2008-06-07  Bruno Haible  <bruno@clisp.org>
38499
38500         Add support for MacOS X ACLs.
38501         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
38502         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
38503         * lib/set-mode-acl.c (qset_acl): Likewise.
38504         * lib/copy-acl.c (qcopy_acl): Likewise.
38505
38506 2008-06-07  Bruno Haible  <bruno@clisp.org>
38507
38508         Fix memory leak introduced on 2008-05-22.
38509         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
38510         use.
38511
38512 2008-06-07  Bruno Haible  <bruno@clisp.org>
38513
38514         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
38515         to construct an empty ACL.
38516
38517 2008-06-07  Bruno Haible  <bruno@clisp.org>
38518
38519         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
38520         precisely.
38521         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
38522
38523 2008-06-07  Bruno Haible  <bruno@clisp.org>
38524
38525         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
38526         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
38527
38528 2008-06-07  Bruno Haible  <bruno@clisp.org>
38529
38530         * doc/posix-functions/_setjmp.texi: Explain the use of this function
38531         regardless of POSIX.
38532         * doc/posix-functions/_longjmp.texi: Likewise.
38533         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
38534         SystemV platform in this case.
38535
38536 2008-06-06  Eric Blake  <ebb9@byu.net>
38537
38538         Document abort() bugs.
38539         * doc/posix-functions/abort.texi (abort): Mention anomalies.
38540
38541         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
38542         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
38543         sigsetjmp.
38544         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
38545         siglongjmp, but only as a macro.
38546         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
38547         is obsolete.
38548         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
38549
38550         Tweak documentation to cover cygwin argz bugs.
38551         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
38552         argz bug fix; no code change needed since no cygwin releases
38553         occurred between the last fix and the bug being tested.
38554         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
38555         module and recently fixed cygwin bugs.
38556         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
38557         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
38558         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
38559         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
38560         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
38561         Likewise.
38562         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
38563         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
38564         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
38565         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
38566         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
38567         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
38568         Likewise.
38569
38570         Avoid gcc warning on cygwin.
38571         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
38572         !ACL_NO_TRIVIAL]: Avoid unused variable.
38573
38574 2008-06-05  Eric Blake  <ebb9@byu.net>
38575
38576         Be tolerant of UNKNOWN version in gnulib-tool test dir.
38577         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
38578         git-version-gen fails to come up with a version.
38579         Reported by Simon Josefsson.
38580
38581 2008-06-05  Jim Meyering  <meyering@redhat.com>
38582             Paul Eggert  <eggert@cs.ucla.edu>
38583
38584         utimens.c: work around a probable Linux kernel bug
38585         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
38586         appears to be a kernel bug that causes utimensat to return 280
38587         instead of 0, indicating success.
38588
38589 2008-06-04  Bruno Haible  <bruno@clisp.org>
38590
38591         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
38592         2008-06-01 commit.
38593
38594 2008-06-04  Bruno Haible  <bruno@clisp.org>
38595
38596         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
38597         * lib/file-has-acl.c (acl_access_nontrivial): New function.
38598         (file_has_acl): Use it. Save errno afterwards.
38599         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
38600
38601 2008-06-03  Bruno Haible  <bruno@clisp.org>
38602
38603         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
38604         draft code. Simplify #ifs.
38605         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
38606         Put Solaris code after POSIX-draft code. Fix comments regarding
38607         Solaris 10, HP-UX. Mention Cygwin.
38608         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
38609
38610 2008-06-03  Eric Blake  <ebb9@byu.net>
38611
38612         Provide fallback for older kernels.
38613         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
38614         Provide runtime fallback if kernel lacks support.
38615         Reported by Mike Frysinger.
38616
38617 2008-06-02  Bruno Haible  <bruno@clisp.org>
38618
38619         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
38620         it exists.
38621
38622 2008-06-02  Bruno Haible  <bruno@clisp.org>
38623
38624         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
38625         * lib/copy-acl.c (qcopy_acl): Update comment.
38626
38627 2008-06-02  Bruno Haible  <bruno@clisp.org>
38628
38629         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
38630         like ACL APIs.
38631
38632 2008-06-02  Bruno Haible  <bruno@clisp.org>
38633
38634         * tests/test-file-has-acl.sh: Use different code for Cygwin.
38635         * tests/test-set-mode-acl.sh: Likewise.
38636         * tests/test-copy-acl.sh: Likewise.
38637         * tests/test-copy-file.sh: Likewise.
38638
38639 2008-06-02  Bruno Haible  <bruno@clisp.org>
38640
38641         * tests/test-file-has-acl.sh: Remove unused code.
38642
38643 2008-06-01  Bruno Haible  <bruno@clisp.org>
38644
38645         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
38646         (copy_acl): Just a wrapper around qcopy_acl that emits the error
38647         messages.
38648         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
38649
38650 2008-06-01  Bruno Haible  <bruno@clisp.org>
38651
38652         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
38653         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
38654         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
38655         APIs.
38656         * modules/acl-tests (configure.ac): Remove tests now contained in
38657         m4/acl.m4.
38658
38659 2008-06-02  Jim Meyering  <meyering@redhat.com>
38660
38661         announce-gen: use a better key-server host name
38662         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
38663         it may be more consistently reliable.  Suggested by Werner Koch
38664         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
38665
38666 2008-06-01  Bruno Haible  <bruno@clisp.org>
38667
38668         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
38669         Reported by Voroskoi Andras <voroskoi@gmail.com>.
38670
38671 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
38672
38673         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
38674
38675 2008-06-01  Bruno Haible  <bruno@clisp.org>
38676
38677         New ACL tests.
38678         * tests/test-file-has-acl.sh: New file.
38679         * tests/test-file-has-acl.c: New file.
38680         * tests/test-set-mode-acl.sh: New file.
38681         * tests/test-set-mode-acl.c: New file.
38682         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
38683         * tests/test-copy-acl.c: New file.
38684         * modules/acl-tests: New file, based on modules/copy-file-tests.
38685         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
38686         (Depends-on): Add acl-tests.
38687         (configure.ac): Remove checks.
38688         (Makefile.am): Don't create test-sameacls program here any more.
38689
38690 2008-06-01  Bruno Haible  <bruno@clisp.org>
38691
38692         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
38693         * tests/test-sameacls.c: Include progname.h.
38694         (main): Invoke set_program_name. Portability fixes for MacOS X,
38695         Solaris, HP-UX.
38696
38697 2008-06-01  Bruno Haible  <bruno@clisp.org>
38698
38699         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
38700         function.
38701         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
38702
38703 2008-06-01  Bruno Haible  <bruno@clisp.org>
38704
38705         * modules/rpmatch (Depends-on): Add strdup.
38706
38707 2008-06-01  Bruno Haible  <bruno@clisp.org>
38708
38709         * lib/pipe.c: Include unistd-safer.h.
38710         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
38711         * modules/pipe (Depends-on): Add unistd-safer.
38712
38713 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38714
38715         * modules/autobuild (configure.ac): Call AB_INIT.
38716
38717 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38718
38719         * tests/test-getaddrinfo.c: Don't print debug messages by default.
38720         Suggested by Bruno Haible <bruno@clisp.org>.
38721
38722 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38723
38724         * tests/test-base64.c: Cast size_t to unsigned long when invoking
38725         printf.  Use %lu instead of %d.  Reported by Bruno Haible
38726         <bruno@clisp.org>.
38727
38728 2008-05-29  Eric Blake  <ebb9@byu.net>
38729
38730         Prefer new POSIX 200x interfaces over futimesat.
38731         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
38732         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
38733         when available.
38734         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
38735
38736 2008-05-28  Bruno Haible  <bruno@clisp.org>
38737
38738         * modules/stpcpy (License): Change to LGPLv2+.
38739         Requested by David Lutterkort <dlutter@redhat.com>.
38740
38741 2008-05-27  Bruno Haible  <bruno@clisp.org>
38742
38743         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
38744         current mingw.
38745         Reported by Jose E. Marchesi <jemarch@gnu.org>.
38746
38747 2008-05-27  Bruno Haible  <bruno@clisp.org>
38748
38749         * modules/iconv_open (Link): New section, from module 'iconv'.
38750         * modules/striconv (Link): Likewise.
38751         * modules/striconveh (Link): Likewise.
38752         * modules/xstriconv (Link): Likewise.
38753         * modules/unicodeio (Link): Likewise.
38754         * modules/propername (Link): Likewise.
38755         Reported by Jim Meyering.
38756
38757 2008-05-26  Jim Meyering  <meyering@redhat.com>
38758
38759         sha256: do not artificially restrict buffer length to be < 2^32
38760         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
38761         uint32_t to size_t.
38762         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
38763         to match.
38764
38765         avoid unaligned access errors, e.g., on sparc
38766         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
38767         direct access through a possibly-unaligned uint64* pointer.
38768         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
38769         direct access through a possibly-unaligned uint32* pointer.
38770         Prompted by this patch from Tom "spot" Callaway:
38771         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
38772
38773         sha512.c: fix typo in comment
38774         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
38775
38776 2008-05-25  Bruno Haible  <bruno@clisp.org>
38777
38778         * lib/set-mode-acl.c: Renamed from lib/acl.c.
38779         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
38780         (Makefile.am): Update lib_SOURCES.
38781
38782 2008-05-25  Bruno Haible  <bruno@clisp.org>
38783
38784         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
38785
38786 2008-05-25  Jim Meyering  <meyering@redhat.com>
38787
38788         useless-if-before-free: freed expr may have white-space differences
38789         * build-aux/useless-if-before-free: Recognize cases in which the
38790         freed expression differs from the tested one in embedded white
38791         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
38792         $1 was used, so we can't make any regexp shy.  Improved tests now
38793         detect this.
38794
38795         useless-if-before-free: accept white space in the expression.
38796         * build-aux/useless-if-before-free: For now, any white space
38797         in the expression must be identical in the free argument.
38798
38799         useless-if-before-free: efficiency tweak
38800         * build-aux/useless-if-before-free: Make the expression-matching
38801         regexp "shy".
38802         Make the *outer* regexp shy, not the expr-matching one.
38803
38804         update code-in-comment to accept cast of free arg
38805         * build-aux/useless-if-before-free: Update regexp.
38806
38807 2008-05-25  Bruno Haible  <bruno@clisp.org>
38808
38809         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
38810         * modules/copy-file-tests (Files, Makefile.am): Update.
38811         * tests/test-copy-file.c (func_test_copy): Update.
38812
38813 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
38814
38815         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
38816
38817 2008-05-23  Bruno Haible  <bruno@clisp.org>
38818
38819         Improve support for ACLs on OSF/1.
38820         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
38821         Remove fallback for unknown flavors of ACLs.
38822
38823 2008-05-22  Bruno Haible  <bruno@clisp.org>
38824
38825         Add support for ACLs on OSF/1.
38826         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
38827         replacements.
38828         (acl_free_text): New macro fallback.
38829         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
38830         acl_free.
38831         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
38832         acl_free_text function. Require AC_C_INLINE.
38833
38834 2008-05-22  Bruno Haible  <bruno@clisp.org>
38835
38836         Make copy_acl work on MacOS X 10.5.
38837         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
38838         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
38839         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
38840         If MODE_INSIDE_ACL, don't assume that every system has the same text
38841         representation for ACLs as FreeBSD.
38842         * lib/copy-acl.c (copy_acl): Add support for platforms with
38843         !MODE_INSIDE_ACL.
38844         * lib/file-has-acl.c (file_has_acl): Likewise.
38845         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
38846         FreeBSD, MacOS X, or IRIX, respectively.
38847
38848 2008-05-22  Bruno Haible  <bruno@clisp.org>
38849
38850         * lib/acl.h: Don't include <sys/acl.h>.
38851         (GETACLCNT): Move fallback to lib/acl-internal.h.
38852         * lib/acl-internal.h: Include <sys/acl.h> here.
38853         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
38854
38855 2008-05-22  Bruno Haible  <bruno@clisp.org>
38856
38857         Split off copy_acl function to separate file.
38858         * lib/copy-acl.c: New file, extracted from lib/acl.c.
38859         * lib/acl.c (copy_acl): Moved function to separate file.
38860         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
38861         * modules/acl (Files): Add lib/copy-acl.c.
38862         (Makefiles.am): Augment lib_SOURCES.
38863
38864 2008-05-22  Bruno Haible  <bruno@clisp.org>
38865
38866         * modules/copy-file-tests: New file.
38867         * tests/test-copy-file.sh: New file.
38868         * tests/test-copy-file.c: New file.
38869         * tests/test-copy-file-sameacls.c: New file.
38870
38871 2008-05-22  Eric Blake  <ebb9@byu.net>
38872
38873         Avoid gcc warning.
38874         * tests/test-memcmp.c (main): Pass NULL indirectly.
38875
38876 2008-05-21  Bruno Haible  <bruno@clisp.org>
38877
38878         Add reference doc about ACLs.
38879         * doc/acl-resources.txt: New file.
38880         * doc/acl-cygwin.txt: New file.
38881
38882 2008-05-21  Bruno Haible  <bruno@clisp.org>
38883
38884         Avoid one more warning from gcc.
38885         * lib/vasnprintf.c (IF_LINT): Update comments.
38886         (VASNPRINTF): Use it also for the 'prefix' array initializer.
38887
38888 2008-05-21  Jim Meyering  <meyering@redhat.com>
38889
38890         avoid a warning from gcc
38891         * lib/vasnprintf.c (IF_LINT): Define.
38892         (scale10_round_decimal_long_double):
38893         Use it to avoid a "may be used uninitialized" warning.
38894         (scale10_round_decimal_double): Likewise.
38895
38896 2008-05-21  Simon Josefsson  <simon@josefsson.org>
38897
38898         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
38899         declared.
38900
38901 2008-05-20  Bruno Haible  <bruno@clisp.org>
38902
38903         * tests/test-memcmp.c (main): Test also the sign of the result. Test
38904         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
38905
38906 2008-05-20  Simon Josefsson  <simon@josefsson.org>
38907
38908         * modules/memcmp-tests: New file.
38909         * tests/test-memcmp.c: New file.
38910
38911 2008-05-19  Bruno Haible  <bruno@clisp.org>
38912
38913         * modules/propername (Notice, configure.ac): Put quoted "..." into
38914         --keyword option.
38915         * lib/propername.h: Update comments accordingly.
38916         Reported by Eric Blake.
38917
38918 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
38919
38920         * modules/getpass-gnu (Depends-on): Add fseeko.
38921
38922 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38923
38924         * modules/base64-tests: New file.
38925
38926 2008-05-19  Bo Borgerson <gigabo@gmail.com>
38927
38928         * lib/base64.c (base64_decode_ctx): If a decode context structure
38929         was passed in use it to ignore newlines.  If a context structure
38930         was _not_ passed in, continue to treat newlines as garbage (this
38931         is the historical behavior).  Formerly base64_decode.
38932         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38933         takes a decode context structure.
38934         * lib/base64.h (base64_decode): Macro for four-argument calls.
38935         (base64_decode_alloc): Likewise.
38936         * lib/base64.c (base64_decode_ctx): If a decode context structure
38937         was passed in use it to ignore newlines.  If a context structure
38938         was _not_ passed in, continue to treat newlines as garbage (this
38939         is the historical behavior).  Formerly base64_decode.
38940         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38941         takes a decode context structure.
38942         * lib/base64.h (base64_decode): Macro for four-argument calls.
38943         (base64_decode_alloc): Likewise.
38944
38945 2008-05-19  Jim Meyering  <meyering@redhat.com>
38946
38947         avoid a warning from gcc
38948         * lib/trim.c (IF_LINT): Define.
38949         (trim2): Use it to avoid a "may be used uninitialized" warning.
38950
38951         Fix doc typo.
38952         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
38953
38954 2008-05-19  Bruno Haible  <bruno@clisp.org>
38955
38956         * doc/glibc-functions/getpass.texi: Document limits of other
38957         implementations.
38958
38959 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38960             Bruno Haible <bruno@clisp.org>
38961
38962         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
38963
38964 2008-05-18  Bruno Haible  <bruno@clisp.org>
38965
38966         * modules/propername: New file, from GNU gettext.
38967         * lib/propername.h: New file, from GNU gettext.
38968         * lib/propername.c: New file, from GNU gettext.
38969         * MODULES.html.sh (Internationalization functions): Add propername.
38970
38971 2008-05-16  Jim Meyering  <meyering@redhat.com>
38972             Bruno Haible  <bruno@clisp.org>
38973
38974         Avoid some warnings from "gcc -Wshadow".
38975         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
38976
38977 2008-05-15  Eric Blake  <ebb9@byu.net>
38978
38979         Extend previous patch to cygwin 1.7.0.
38980         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
38981         fast implementation in cygwin >= 1.7.0.
38982         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38983         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38984
38985 2008-05-15  Bruno Haible  <bruno@clisp.org>
38986
38987         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
38988         implementation in glibc >= 2.9.
38989         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38990         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38991
38992 2008-05-15  Bruno Haible  <bruno@clisp.org>
38993
38994         * MODULES.html.sh (Internationalization functions): Remove linebreak.
38995         (Unicode string functions): Add unilbrk/*.
38996         Reported by Karl Berry.
38997
38998 2008-05-15  Eric Blake  <ebb9@byu.net>
38999
39000         Fix violation of <stdbool.h> replacement in regex.
39001         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
39002         * lib/regexec.c (re_search_internal): Likewise.
39003         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
39004
39005 2008-05-15  Jim Meyering  <meyering@redhat.com>
39006
39007         avoid distracting test output when git or cvs is not found
39008         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
39009         * tests/test-vc-list-files-git.sh: Likewise.
39010
39011 2008-05-15  Eric Blake  <ebb9@byu.net>
39012
39013         Glibc finally accepted the memmem speedup code, bugzilla #5514.
39014         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
39015         glibc version.
39016         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
39017         * doc/posix-functions/strstr.texi (strstr): Likewise.
39018         * lib/str-two-way.h (MAX): Sychronize with glibc.
39019
39020 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
39021
39022         * lib/regcomp.c (optimize_utf8): Add a note on why we test
39023         opr.ctx_type.
39024         (calc_first): Initialize constraint field.
39025         (duplicate_node_closure): Use it instead of special casing ANCHORS.
39026         Fix grammar.
39027         (duplicate_node): Merge constraint field for all node types.
39028         (calc_eclosure_iter): Look at constraint field for all node types.
39029         * lib/regex_internal.c (create_cd_newstate): Don't look at
39030         opr.ctx_type.
39031
39032 2008-05-14  Bruno Haible  <bruno@clisp.org>
39033
39034         Help GCC to do better code generation.
39035         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
39036         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
39037         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
39038         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
39039         Declare with attribute 'malloc' if supported.
39040
39041 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
39042
39043         use "echo STR|wc -c" rather than unportable "expr length STR"
39044         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
39045         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
39046
39047 2008-05-14  Jim Meyering  <meyering@redhat.com>
39048
39049         use dd ibs=$n count=1 ... rather than less-portable head -c$n
39050         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
39051         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
39052         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
39053         via Collin Lasse.
39054
39055 2008-05-14  Eric Blake  <ebb9@byu.net>
39056
39057         Avoid quadratic growth in gl_LIBSOURCES.
39058         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
39059         Suggested by Bruno Haible.
39060
39061         Test xmemdup0.
39062         * modules/xmemdup0-tests: New file.
39063         * tests/test-xmemdup0.c: Likewise.
39064
39065 2008-05-13  Eric Blake  <ebb9@byu.net>
39066
39067         Split xmemdup0 into its own module.
39068         * modules/xmemdup0: New file.
39069         * lib/xmemdup0.h: Likewise.
39070         * lib/xmemdup0.c: Likewise.
39071         * MODULES.html.sh (Memory management functions): Add xmemdup0.
39072         * lib/xalloc.h (xmemdup0): Remove.
39073         * lib/xmalloc.c (xmemdup0): Likewise.
39074
39075 2008-05-13  Eric Blake  <ebb9@byu.net>
39076             Bruno Haible  <bruno@clisp.org>
39077
39078         Reduce number of forks required during autoconf.
39079         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
39080         and gl_LIBSOURCES_DIR.
39081         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
39082         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
39083         m4_syscmd per file.
39084         <m4_foreach_w>: Move...
39085         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
39086
39087 2008-05-13  Eric Blake  <ebb9@byu.net>
39088
39089         * gnulib-tool: Fix various comment typos.
39090
39091 2008-05-12  Bruno Haible  <bruno@clisp.org>
39092
39093         Tailor the linebreaking algorithm.
39094         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
39095
39096 2008-05-12  Bruno Haible  <bruno@clisp.org>
39097
39098         Update to Unicode 5.0.0.
39099         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
39100         LBP_JV, LBP_JT. Redistribute values.
39101         (unilbrk_table): Change size.
39102         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
39103         Unicode TR#14 rev. 22.
39104         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
39105         LBP_JV, LBP_JT. Redistribute values.
39106         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
39107         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
39108         Update.
39109         * lib/unilbrk/lbrkprop1.h: Regenerated.
39110         * lib/unilbrk/lbrkprop2.h: Regenerated.
39111         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
39112         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
39113         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
39114         Likewise.
39115         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
39116         Likewise.
39117         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
39118         result.
39119         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
39120         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
39121         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
39122         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
39123         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
39124         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
39125
39126 2008-05-11  Bruno Haible  <bruno@clisp.org>
39127
39128         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
39129
39130 2008-05-11  Bruno Haible  <bruno@clisp.org>
39131
39132         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
39133         * modules/unilbrk/gen-lbrk: New file.
39134
39135 2008-05-11  Bruno Haible  <bruno@clisp.org>
39136
39137         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
39138         * m4/sha512.m4 (gl_SHA512): Likewise.
39139
39140 2008-05-11  Jim Meyering  <meyering@redhat.com>
39141
39142         New modules: crypto/sha256, crypto/sha512 (from coreutils)
39143         * modules/crypto/sha256: New file.
39144         * modules/crypto/sha512: Likewise.
39145         * lib/sha256.c: Likewise.
39146         * lib/sha256.h: Likewise.
39147         * lib/sha512.c: Likewise.
39148         * lib/sha512.h: Likewise.
39149         * lib/u64.h: Likewise.
39150         * m4/sha256.m4: Likewise.
39151         * m4/sha512.m4: Likewise.
39152         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
39153
39154 2008-05-10  Bruno Haible  <bruno@clisp.org>
39155
39156         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
39157         (Input/Output <stdio.h>): Add xprintf.
39158         (Signal handling <signal.h>): Add strsignal.
39159         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
39160         (Core language properties): Add func.
39161         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
39162         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
39163         strings.
39164         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
39165         (Input/output): New section.
39166         (File system functions): Add openat-die, stat-macros.
39167         (Networking functions): Add sockets.
39168         (Unicode string functions): Add unictype/*.
39169         (Support for building libraries and executables): Add gperf.
39170         (Support for building documentation): Add agpl-3.0.
39171         (Misc): Add nocrash.
39172
39173 2008-05-10  Bruno Haible  <bruno@clisp.org>
39174
39175         * modules/unictype/gen-ctype: New file.
39176
39177 2008-05-10  Jim Meyering  <meyering@redhat.com>
39178
39179         Make chdir-safer.c more efficient on a system with no symlinks.
39180         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
39181         also if ELOOP is zero.  Suggested by Bruno Haible.
39182
39183         Make chdir-safer.c slightly safer.
39184         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
39185         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
39186
39187         Avoid compile failure on systems without ELOOP (like mingw).
39188         * lib/chdir-safer.c (ELOOP): Define if not already defined.
39189         Reported by Bruno Haible.
39190
39191 2008-05-10  Bruno Haible  <bruno@clisp.org>
39192
39193         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
39194         (is_utf8_encoding): Use a case-insensitive comparison.
39195         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
39196         streq.
39197
39198 2008-05-10  Bruno Haible  <bruno@clisp.org>
39199
39200         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
39201         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
39202         * lib/unilbrk/ulc-common.h (iconv_string_length,
39203         iconv_string_keeping_offsets): Remove declarations.
39204         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
39205         Don't include <iconv.h>, streq.h, xsize.h.
39206         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
39207         conversion.
39208         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
39209         <iconv.h>, streq.h, xsize.h.
39210         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
39211         conversion.
39212         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
39213         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
39214         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
39215         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
39216
39217 2008-05-10  Bruno Haible  <bruno@clisp.org>
39218
39219         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
39220         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
39221
39222         * modules/unilbrk/u32-width-linebreaks-tests: New file.
39223         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
39224
39225         * modules/unilbrk/u16-width-linebreaks-tests: New file.
39226         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
39227
39228         * modules/unilbrk/u8-width-linebreaks-tests: New file.
39229         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
39230
39231         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
39232         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
39233
39234         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
39235         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
39236
39237         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
39238         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
39239
39240         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
39241         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
39242
39243 2008-05-10  Bruno Haible  <bruno@clisp.org>
39244
39245         Split up 'linebreak' module.
39246         * lib/unilbrk.h: New file, based on lib/linebreak.h.
39247         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
39248         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
39249         modifications.
39250         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
39251         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
39252         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
39253         lib/linebreak.c.
39254         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
39255         lib/linebreak.c.
39256         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
39257         lib/linebreak.c.
39258         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
39259         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
39260         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
39261         lib/linebreak.c.
39262         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
39263         lib/linebreak.c.
39264         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
39265         lib/linebreak.c.
39266         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
39267         lib/linebreak.c.
39268         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
39269         lib/linebreak.c.
39270         * modules/unilbrk/base: New file.
39271         * modules/unilbrk/tables: New file.
39272         * modules/unilbrk/u8-possible-linebreaks: New file.
39273         * modules/unilbrk/u16-possible-linebreaks: New file.
39274         * modules/unilbrk/u32-possible-linebreaks: New file.
39275         * modules/unilbrk/ulc-common: New file.
39276         * modules/unilbrk/ulc-possible-linebreaks: New file.
39277         * modules/unilbrk/u8-width-linebreaks: New file.
39278         * modules/unilbrk/u16-width-linebreaks: New file.
39279         * modules/unilbrk/u32-width-linebreaks: New file.
39280         * modules/unilbrk/ulc-width-linebreaks: New file.
39281         * lib/linebreak.h: Remove file.
39282         * lib/linebreak.c: Remove file.
39283         * m4/linebreak.m4: Remove file.
39284         * modules/linebreak: Remove file.
39285         * NEWS: Mention the changes.
39286
39287 2008-05-09  Eric Blake  <ebb9@byu.net>
39288
39289         Add xmemdup0.
39290         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
39291         implementation.
39292         * lib/xmalloc.c (xmemdup0): New C implementation.
39293
39294 2008-05-08  Bruno Haible  <bruno@clisp.org>
39295
39296         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
39297
39298 2008-05-07  Eric Blake  <ebb9@byu.net>
39299
39300         Support cross-compilation of <wctype.h>.
39301         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
39302         AC_CACHE_CHECK.
39303
39304 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
39305
39306         * build-aux/vc-list-files: Add support for bzr.
39307
39308 2008-05-03  Jim Meyering  <meyering@redhat.com>
39309
39310         avoid failed assertion with tight malloc
39311         * tests/test-getndelim2.c: Correct an off-by-one assertion.
39312
39313 2008-05-03  Simon Josefsson  <simon@josefsson.org>
39314
39315         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
39316         are needed from arpa/inet.h.
39317         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
39318         Reported by Bruno Haible.
39319
39320 2008-05-02  Jim Meyering  <meyering@redhat.com>
39321
39322         avoid compilation error on FreeBSD 6
39323         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
39324
39325 2008-05-01  Jim Meyering  <meyering@redhat.com>
39326
39327         useless-if-before-free: correct --help's exit status description
39328         * build-aux/useless-if-before-free (usage): Like grep, exit 0
39329         for one or more matches, etc.  Reported by Bruno Haible.
39330
39331         vc-list-files: make the stand-alone gnulib test work
39332         * modules/vc-list-files-tests (configure.ac):
39333         Define and AC_SUBST abs_aux_dir.
39334         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
39335         $(abs_top_srcdir) to each script and having each of them
39336         duplicate the work of setting PATH, set PATH here, using
39337         the new variable, abs_aux_dir instead.
39338         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
39339         * tests/test-vc-list-files-git.sh: Likewise.
39340         Reported by Bruno Haible.
39341
39342 2008-05-01  Bruno Haible  <bruno@clisp.org>
39343
39344         * lib/getndelim2.c (getndelim2): Fix newsize computation during
39345         reallocation. Rename 'done' to 'found_delimiter'.
39346
39347 2008-05-01  Jim Meyering  <meyering@redhat.com>
39348
39349         vc-list-files: accommodate /bin/sh like the one from Solaris 10
39350         * build-aux/vc-list-files: Use `...`, not $(...).
39351
39352 2008-04-30  Jim Meyering  <meyering@redhat.com>
39353
39354         add tests for vc-list-files
39355         * modules/vc-list-files-tests: New module.
39356         * tests/test-vc-list-files-cvs.sh: New file.
39357         * tests/test-vc-list-files-git.sh: New file.
39358
39359         avoid a warning from gcc
39360         * lib/getndelim2.c (IF_LINT): Define.
39361         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
39362
39363         vc-list-files: work properly with build-aux/cvsu, too
39364         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
39365         to all cvs-based clauses.
39366
39367         vc-list-files: work properly in the CVS+awk case, too
39368         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
39369
39370         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
39371         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
39372         take more than one file argument, so .  Add quotes, just in case $dir
39373         ever contains a shell meta-character.  Prompted by Soren Hansen in
39374         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
39375
39376 2008-04-29  Eric Blake  <ebb9@byu.net>
39377
39378         Optimize getndelim2 to use block operations when possible.
39379         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
39380         freadseek, and memchr2.
39381         * lib/getndelim2.c (getndelim2): Use them for block reads.
39382
39383 2008-04-29  Bruno Haible  <bruno@clisp.org>
39384
39385         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
39386         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39387         * modules/inet_ntop (Depends-on): Add extensions.
39388         * modules/inet_pton (Depends-on): Likewise.
39389         Reported by Simon Josefsson.
39390
39391 2008-04-29  Jim Meyering  <meyering@redhat.com>
39392
39393         When the is more than one match in a block, match all of them.
39394         * build-aux/useless-if-before-free: Iterate through each block
39395         until there are no more matches.
39396
39397         Fix broken useless-if-before-free script.
39398         * build-aux/useless-if-before-free: Fix typo: missing "?" after
39399         the expression to match cast of argument to free-like function.
39400
39401 2008-04-29  Eric Blake  <ebb9@byu.net>
39402
39403         Use new header.
39404         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
39405
39406 2008-04-29  Jim Meyering  <meyering@redhat.com>
39407
39408         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
39409         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
39410         by gnulib to exist and to declare e.g., inet_ntop.
39411         Don't include "inet_ntop.h", now removed.
39412
39413         * m4/arpa_inet_h.m4: Remove trailing blanks.
39414
39415 2008-04-29  Eric Blake  <ebb9@byu.net>
39416
39417         Silence valgrind on safe reads beyond potential array bounds.
39418         * lib/rawmemchr.valgrind: New file.
39419         * lib/strchrnul.valgrind: Likewise.
39420         * modules/rawmemchr (Files): Distribute new file.
39421         * modules/strchrnul (Files): Likewise.
39422         Suggested by Bruno Haible.
39423
39424 2008-04-29  Bruno Haible  <bruno@clisp.org>
39425
39426         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
39427         (inet_ntop, inet_pton): Change portability warning's wording.
39428         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
39429         Invoke gl_CHECK_NEXT_HEADERS.
39430         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
39431         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
39432         set ARPA_INET_H.
39433         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39434         * modules/arpa_inet (Description): No longer only for systems that
39435         lack it.
39436         (Depends-on): Add include_next.
39437         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
39438         HAVE_ARPA_INET_H.
39439
39440 2008-04-29  Jim Meyering  <meyering@redhat.com>
39441
39442         * modules/mkdir (License): Re-license as LGPLv2+.
39443
39444 2008-04-29  Bruno Haible  <bruno@clisp.org>
39445
39446         * modules/rawmemchr (Maintainer): Set to Eric.
39447         * modules/strchrnul (Maintainer): Likewise.
39448
39449 2008-04-29  Simon Josefsson  <simon@josefsson.org>
39450
39451         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
39452         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
39453
39454         * modules/arpa_inet (arpa/inet.h): Use them.
39455
39456 2008-04-28  Eric Blake  <ebb9@byu.net>
39457
39458         Test getndelim2.
39459         * modules/getndelim2-tests: New file.
39460         * tests/test-getndelim2.c: Likewise.
39461         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
39462         stream.
39463         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
39464
39465         * MODULES.html.sh: Document new module.
39466
39467 2008-04-20  Bruno Haible  <bruno@clisp.org>
39468
39469         * lib/c-stack.c (die): Use raise.
39470         * modules/c-stack (Depends-on): Add raise.
39471
39472 2008-04-28  Bruno Haible  <bruno@clisp.org>
39473
39474         Expect rpmatch to be declared.
39475         * lib/yesno.c (rpmatch): Remove declaration.
39476
39477         Declare rpmatch.
39478         * lib/stdlib.in.h (rpmatch): New declaration.
39479         * lib/rpmatch.c: Include <stdlib.h> first.
39480         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
39481         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
39482         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
39483         HAVE_RPMATCH.
39484         * modules/rpmatch (Depends-on): Add stdlib, extensions.
39485         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39486         (Include): Set to <stdlib.h>.
39487         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
39488         HAVE_RPMATCH.
39489         * NEWS: Document the change.
39490
39491 2008-04-28  Bruno Haible  <bruno@clisp.org>
39492
39493         Change rpmatch to use nl_langinfo when appropriate.
39494         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
39495         (N_): New macro.
39496         (localized_pattern): New function/macro.
39497         (try): Remove match, nomatch arguments. Copy the pattern into safe
39498         memory before caching it.
39499         (rpmatch): Use localized_pattern. Add translator comments.
39500         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
39501         Suggested by Eric Blake.
39502         * modules/rpmatch (Depends-on): Add stdbool.
39503
39504 2008-04-28  Eric Blake  <ebb9@byu.net>
39505
39506         Add rawmemchr module, matching glibc.
39507         * modules/string (Makefile.am): New indicator.
39508         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
39509         * lib/string.in.h (rawmemchr): Declare when appropriate.
39510         * modules/rawmemchr: New file.
39511         * m4/rawmemchr.m4: Likewise.
39512         * lib/rawmemchr.c: Likewise.
39513         * modules/rawmemchr-tests: Likewise.
39514         * tests/test-rawmemchr.c: Likewise.
39515         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
39516         module.
39517         * modules/strchrnul (Depends-on): Add rawmemchr.
39518         * lib/strchrnul.c (strchrnul): Optimize a corner case.
39519
39520         Whitespace cleanup.
39521         * tests/test-strchrnul.c: Reindent.
39522         * lib/strchrnul.c: Likewise.
39523
39524         Optimize and test strchrnul.
39525         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
39526         * modules/strchrnul-tests: New file.
39527         * tests/test-strchrnul.c: Likewise.
39528
39529         Remove intprops dependency.
39530         * modules/memchr (Depends-on): Remove intprops.
39531         * modules/memrchr (Depends-on): Likewise.
39532         * modules/memchr2 (Depends-on): Likewise.
39533         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
39534         * lib/memrchr.c (__memrchr): Likewise.
39535         * lib/memrchr2.c (memchr2): Likewise.
39536         Reported by Simon Josefsson.
39537
39538 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39539
39540         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
39541         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39542
39543 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39544
39545         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
39546
39547         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
39548
39549         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
39550
39551         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
39552         declarations.
39553         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
39554
39555         * m4/inet_pton.m4: Don't check for header files.
39556
39557         * m4/inet_ntop.m4: Don't check for header files.
39558
39559 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39560
39561         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
39562         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
39563         trigger for cygwin).
39564         Reported by Bruno Haible  <bruno@clisp.org>.
39565
39566 2008-04-28  Bruno Haible  <bruno@clisp.org>
39567
39568         * doc/posix-functions/strdup.texi: Mention mingw problem.
39569
39570 2008-04-27  Bruno Haible  <bruno@clisp.org>
39571
39572         * modules/stat-time-tests (Depends-on): Add sleep.
39573         * tests/test-stat-time.c (force_unlink): New function.
39574         (cleanup): Use it.
39575         (test_mtime): Remove the ctime related tests.
39576         (test_ctime): New function, containing the ctime related tests.
39577         (main): Call test_ctime, except on native Windows platforms.
39578
39579 2008-04-27  Bruno Haible  <bruno@clisp.org>
39580
39581         * lib/rpmatch.c (rpmatch): Add some comments.
39582         Reported by James Youngman <jay@gnu.org>.
39583
39584 2008-04-27  Bruno Haible  <bruno@clisp.org>
39585
39586         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
39587         quiet NaNs.
39588
39589 2008-04-27  Bruno Haible  <bruno@clisp.org>
39590
39591         Make test-yesno.sh work on mingw.
39592         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
39593         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
39594         (main): Set stdin to binary mode.
39595         * modules/yesno-tests (Depends-on): Add binary-io.
39596
39597 2008-04-27  Bruno Haible  <bruno@clisp.org>
39598
39599         Fix 'isfinite' on x86, x86_64, ia64 platforms.
39600         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
39601         argument that lie outside the IEEE 854 domain.
39602         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
39603         (gl_ISFINITE): Use it.
39604         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
39605
39606 2008-04-27  Bruno Haible  <bruno@clisp.org>
39607
39608         Allow local renaming in config.h.
39609         * lib/memrchr.c (memrchr): Don't undefine outside libc.
39610
39611 2008-04-27  Bruno Haible  <bruno@clisp.org>
39612
39613         * lib/memchr.c (__memchr): Change type of 'i'.
39614         * lib/memchr2.c (memchr2): Likewise.
39615
39616 2008-04-26  Eric Blake  <ebb9@byu.net>
39617         and Bruno Haible  <bruno@clisp.org>
39618
39619         Optimize and test memrchr.
39620         * modules/memrchr (Depends-on): Add intprops.
39621         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
39622         * modules/memrchr-tests: New file.
39623         * tests/test-memrchr.c: New file.
39624
39625 2008-04-26  Bruno Haible  <bruno@clisp.org>
39626
39627         Add tentative support for DragonFly BSD.
39628         * lib/stdio-impl.h: Add macros for DragonFly BSD.
39629         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
39630         fp.
39631         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39632         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
39633         * lib/fpurge.c (fpurge): Likewise.
39634         * lib/freadable.c (freaadable): Likewise.
39635         * lib/freadahead.c (freadahead): Likewise.
39636         * lib/freading.c (freading): Likewise.
39637         * lib/freadptr.c (freadptr): Likewise.
39638         * lib/freadseek.c (freadptrinc): Likewise.
39639         * lib/fseeko.c (fseeko): Likewise.
39640         * lib/fseterr.c (fseterr): Likewise.
39641         * lib/fwritable.c (fwritable): Likewise.
39642         * lib/fwriting.c (fwriting): Likewise.
39643
39644 2008-04-26  Bruno Haible  <bruno@clisp.org>
39645
39646         * lib/stdio-impl.h: New file.
39647         * lib/fbufmode.c: Include stdio-impl.h.
39648         (fbufmode): Use fp_, remove redundant #defines.
39649         * lib/fflush.c: Include stdio-impl.h.
39650         (clear_ungetc_buffer): Remove redundant #defines.
39651         * lib/fpurge.c: Include stdio-impl.h.
39652         (fpurge): Remove redundant #defines.
39653         * lib/freadable.c: Include stdio-impl.h.
39654         (freadable): Remove redundant #defines.
39655         * lib/freadahead.c: Include stdio-impl.h.
39656         (freadahead): Remove redundant #defines.
39657         * lib/freading.c: Include stdio-impl.h.
39658         (freading): Remove redundant #defines.
39659         * lib/freadptr.c: Include stdio-impl.h.
39660         (freadptr): Remove redundant #defines.
39661         * lib/freadseek.c: Include stdio-impl.h.
39662         (freadptrinc): Remove redundant #defines.
39663         * lib/fseeko.c: Include stdio-impl.h.
39664         (rpl_fseeko): Remove redundant #defines.
39665         * lib/fseterr.c: Include stdio-impl.h.
39666         (fseterr): Remove redundant #defines.
39667         * lib/fwritable.c: Include stdio-impl.h.
39668         (fwritable: Remove redundant #defines.
39669         * lib/fwriting.c: Include stdio-impl.h.
39670         (fwriting): Remove redundant #defines.
39671         * modules/fbufmode (Files): Add lib/stdio-impl.h.
39672         * modules/fflush (Files): Likewise.
39673         * modules/fpurge (Files): Likewise.
39674         * modules/freadable (Files): Likewise.
39675         * modules/freadahead (Files): Likewise.
39676         * modules/freading (Files): Likewise.
39677         * modules/freadptr (Files): Likewise.
39678         * modules/freadseek (Files): Likewise.
39679         * modules/fseeko (Files): Likewise.
39680         * modules/fseterr (Files): Likewise.
39681         * modules/fwritable (Files): Likewise.
39682         * modules/fwriting (Files): Likewise.
39683
39684 2008-04-26  Bruno Haible  <bruno@clisp.org>
39685
39686         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39687         restore_seek_optimization, update_fpos_cache): New functions, extracted
39688         from rpl_fflush.
39689         (rpl_fflush): Use them.
39690         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
39691         (gl_REPLACE_FFLUSH): Use it.
39692
39693 2008-04-26  Bruno Haible  <bruno@clisp.org>
39694
39695         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
39696         on Solaris.
39697         * tests/test-xstrtoimax.sh: Likewise.
39698         * tests/test-xstrtoumax.sh: Likewise.
39699         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39700
39701 2008-04-26  Bruno Haible  <bruno@clisp.org>
39702
39703         * modules/memchr-tests: New file.
39704         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
39705
39706 2008-04-26  Eric Blake  <ebb9@byu.net>
39707             Bruno Haible  <bruno@clisp.org>
39708
39709         * lib/memchr.c: Include intprops.h.
39710         (__memchr): Optimize parallel detection of matching bytes. Rename local
39711         variables. Add explanatory comments.
39712
39713 2008-04-26  Bruno Haible  <bruno@clisp.org>
39714
39715         Fix module 'memchr', broken since 2000-10-28.
39716         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
39717
39718 2008-04-26  Bruno Haible  <bruno@clisp.org>
39719
39720         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
39721         comments.
39722
39723 2008-04-25  Eric Blake  <ebb9@byu.net>
39724
39725         Use native fstatat on cygwin 1.7.0.
39726         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
39727         first.
39728
39729 2008-04-23  Eric Blake  <ebb9@byu.net>
39730
39731         Improve memchr2 performance.
39732         * lib/memchr2.c (memchr2): Further optimize parallel detection of
39733         NUL bytes.
39734         * modules/memchr2 (Depends-on): Use intprops.h.
39735
39736 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39737
39738         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
39739         an inline function instead of a CPP macro.  Patch by Ben Pfaff
39740         <blp@cs.stanford.edu>.
39741
39742 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39743
39744         * lib/arpa_inet.in.h: New file.
39745
39746         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
39747         (Makefile.am): Sed in substitute header file.
39748
39749         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
39750         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
39751
39752         * modules/inet_ntop (configure.ac): Use
39753         gl_ARPA_INET_MODULE_INDICATOR.
39754
39755         * modules/inet_pton (configure.ac): Use
39756         gl_ARPA_INET_MODULE_INDICATOR.
39757
39758 2008-04-22  Jim Meyering  <meyering@redhat.com>
39759
39760         * modules/verify (License): Re-license as LGPLv2+.
39761
39762 2008-04-22  Simon Josefsson  <simon@josefsson.org>
39763
39764         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
39765         parameter to void* as per POSIX standard (MinGW uses char*).
39766
39767 2008-04-21  Bruno Haible  <bruno@clisp.org>
39768
39769         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
39770         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
39771         Define to replacements if REPLACE_ISWCNTRL is 1.
39772         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
39773         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
39774         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
39775         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
39776         what it fixes.
39777         * doc/posix-functions/iswalpha.texi: Likewise.
39778         * doc/posix-functions/iswblank.texi: Likewise.
39779         * doc/posix-functions/iswcntrl.texi: Likewise.
39780         * doc/posix-functions/iswdigit.texi: Likewise.
39781         * doc/posix-functions/iswgraph.texi: Likewise.
39782         * doc/posix-functions/iswlower.texi: Likewise.
39783         * doc/posix-functions/iswprint.texi: Likewise.
39784         * doc/posix-functions/iswpunct.texi: Likewise.
39785         * doc/posix-functions/iswspace.texi: Likewise.
39786         * doc/posix-functions/iswupper.texi: Likewise.
39787         * doc/posix-functions/iswxdigit.texi: Likewise.
39788         Reported by Alain Guibert.
39789
39790 2008-04-21  Bruno Haible  <bruno@clisp.org>
39791
39792         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
39793         Patch by Alain Guibert.
39794
39795 2008-04-21  Bruno Haible  <bruno@clisp.org>
39796
39797         Fix test failures on mingw.
39798         * tests/test-xstrtol.c (print_no_progname): New function.
39799         (main): Install it in error_print_progname hook.
39800         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
39801         * tests/test-xstrtoimax.sh: Likewise.
39802         * tests/test-xstrtoumax.sh: Likewise.
39803
39804 2008-04-21  Bruno Haible  <bruno@clisp.org>
39805
39806         Fix test failure on mingw.
39807         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
39808
39809 2008-04-21  Bruno Haible  <bruno@clisp.org>
39810
39811         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
39812         Actually assign a value.
39813
39814 2008-04-20  Bruno Haible  <bruno@clisp.org>
39815
39816         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
39817         take 2.
39818         * lib/canonicalize.c (canonicalize_file_name): Elide if the
39819         'canonicalize-lgpl' module is also used.
39820         * lib/canonicalize-lgpl.c: Undo last change.
39821         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
39822
39823 2008-04-20  Bruno Haible  <bruno@clisp.org>
39824
39825         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
39826         config.h. Provide _mkdir based fallback for mingw.
39827         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
39828         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
39829         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
39830         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
39831         rather than defining mkdir in config.h.
39832         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
39833         (gl_SYS_STAT_H_DEFAULTS): New macro.
39834         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
39835         HAVE_IO_H any more.
39836         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
39837         HAVE_DECL_MKDIR and HAVE_IO_H.
39838
39839 2008-04-20  Bruno Haible  <bruno@clisp.org>
39840
39841         * lib/isapipe.c: Port to native Windows platforms.
39842
39843 2008-04-20  Bruno Haible  <bruno@clisp.org>
39844
39845         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
39846
39847 2008-04-21  Eric Blake  <ebb9@byu.net>
39848
39849         Work around preprocessors that don't handle UINTMAX_MAX.
39850         * lib/memchr2.c (memchr2): Avoid embedded #if.
39851         Reported by Alain Guibert, fix suggested by Bruno Haible.
39852
39853 2008-04-21  Simon Josefsson  <simon@josefsson.org>
39854
39855         * doc/posix-functions/strftime.texi (strftime): Explain better
39856         Windows incompatibility.  Suggested by Micah Cowan
39857         <micah@cowan.name>.
39858
39859 2008-04-20  Bruno Haible  <bruno@clisp.org>
39860
39861         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
39862         unistr/u8-mblen.
39863
39864 2008-04-20  Bruno Haible  <bruno@clisp.org>
39865
39866         Fix test failure on platforms with non-GNU iconv.
39867         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
39868         (U_TO_U8): Use it, rather than u16_to_u8.
39869         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
39870         units at the end of the input string.
39871         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
39872
39873 2008-04-20  Bruno Haible  <bruno@clisp.org>
39874
39875         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
39876         when the resulting length is 0.
39877         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
39878
39879 2008-04-20  Bruno Haible  <bruno@clisp.org>
39880
39881         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
39882         works.
39883         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
39884
39885 2008-04-20  Bruno Haible  <bruno@clisp.org>
39886
39887         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
39888         * modules/tsearch-tests (configure.ac): Test for initstate function.
39889
39890 2008-04-20  Bruno Haible  <bruno@clisp.org>
39891
39892         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
39893         for nlink_t if missing.
39894         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
39895
39896 2008-04-19  Bruno Haible  <bruno@clisp.org>
39897
39898         Work around snprintf bug on Linux libc5.
39899         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
39900         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39901         gl_SNPRINTF_SIZE1.
39902         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39903         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
39904         that test failed.
39905         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
39906         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
39907         * modules/snprintf (Files): Add m4/printf.m4.
39908         * modules/vsnprintf (Files): Likewise.
39909         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
39910         * doc/posix-functions/vsnprintf.texi: Likewise.
39911
39912 2008-04-19  Bruno Haible  <bruno@clisp.org>
39913
39914         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
39915         from 0.0058 to less than 10^-7.
39916
39917 2008-04-19  Bruno Haible  <bruno@clisp.org>
39918
39919         Fix rounding when a precision is given.
39920         * lib/vasnprintf.c (is_borderline): New function.
39921         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
39922         9...9x.
39923         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
39924         %e, %g.
39925         * tests/test-vasprintf-posix.c (test_function): Likewise.
39926         * tests/test-snprintf-posix.h (test_function): Likewise.
39927         * tests/test-sprintf-posix.h (test_function): Likewise.
39928         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
39929         * tests/test-printf-posix.h (test_function): Likewise.
39930         * tests/test-printf-posix.output: Update.
39931         Reported by John Darrington <john@darrington.wattle.id.au> via
39932         Ben Pfaff <blp@cs.stanford.edu>.
39933
39934 2008-04-18  Simon Josefsson  <simon@josefsson.org>
39935
39936         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
39937         Suggested by Bruno Haible <bruno@clisp.org>.
39938
39939 2008-04-17  Bruno Haible  <bruno@clisp.org>
39940
39941         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
39942         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
39943         implementation.
39944         Patch by Bruce Merry <bmerry@gmail.com>.
39945
39946 2008-04-17  Simon Josefsson  <simon@josefsson.org>
39947
39948         * doc/posix-functions/strftime.texi (strftime): Mention that %e
39949         doesn't work under Windows.
39950
39951 2008-04-16  Bruno Haible  <bruno@clisp.org>
39952
39953         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
39954         New macros.
39955         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
39956         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
39957         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
39958         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
39959         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
39960         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
39961         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
39962         macros.
39963         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
39964         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
39965         Northern Sotho, Uighur.
39966
39967 2008-04-16  Bruno Haible  <bruno@clisp.org>
39968
39969         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
39970         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
39971         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
39972         Reported by Daniel Bergström <daniel@octocode.com>.
39973
39974 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
39975             Bruno Haible  <bruno@clisp.org>
39976
39977         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
39978         function.
39979         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
39980         New functions, mostly extracted from gl_locale_name_default.
39981         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
39982
39983 2008-04-16  Eric Blake  <ebb9@byu.net>
39984
39985         Adjust strtod detection to catch glibc 2.7 bug.
39986         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
39987         Reported by John Gatewood Ham.
39988
39989 2008-04-16  Bruno Haible  <bruno@clisp.org>
39990
39991         Add tentative support for Linux libc5.
39992         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
39993         * lib/fpurge.c (fpurge): Likewise.
39994         * lib/freadable.c (freadable): Likewise.
39995         * lib/freadahead.c (freadahead): Likewise.
39996         * lib/freading.c (freading): Likewise.
39997         * lib/freadptr.c (freadptr): Likewise.
39998         * lib/freadseek.c (freadptrinc): Likewise.
39999         * lib/fseeko.c (rpl_fseeko): Likewise.
40000         * lib/fseterr.c (fseterr): Likewise.
40001         * lib/fwritable.c (fwritable): Likewise.
40002         * lib/fwriting.c (fwriting): Likewise.
40003         Reported by Alain Guibert <alguibert+bts@free.fr>.
40004
40005 2008-04-15  Bruno Haible  <bruno@clisp.org>
40006
40007         * modules/mathl (configure.ac): Define module indicator.
40008
40009 2008-04-15  Bruno Haible  <bruno@clisp.org>
40010
40011         * lib/logl.c (logl): Remove unused variables.
40012
40013 2008-04-15  Bruno Haible  <bruno@clisp.org>
40014
40015         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
40016         fails.
40017
40018 2008-04-15  Bruno Haible  <bruno@clisp.org>
40019
40020         * lib/trim.c (trim2): Fix argument of isspace() macro.
40021
40022 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
40023
40024         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
40025         to 0.
40026         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
40027
40028 2008-04-14  Bruno Haible  <bruno@clisp.org>
40029
40030         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
40031         AC_LANG_PROGRAM argument.
40032         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
40033         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
40034         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
40035         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
40036         * m4/math_h.m4 (gl_MATH_H): Likewise.
40037         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
40038         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
40039         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
40040         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
40041         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
40042         * m4/regex.m4 (gl_REGEX): Likewise.
40043         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
40044         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
40045         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40046         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
40047         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40048         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40049         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
40050         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
40051
40052 2008-04-14  Jim Meyering  <meyering@redhat.com>
40053
40054         test-strtod: fix typos: s/abs/fabs/
40055         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
40056
40057 2008-04-13  Bruno Haible  <bruno@clisp.org>
40058
40059         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
40060         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
40061         module is also used and while not building the reloc-wrapper.
40062
40063 2008-04-13  Bruno Haible  <bruno@clisp.org>
40064
40065         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
40066
40067 2008-04-13  Bruno Haible  <bruno@clisp.org>
40068
40069         Fix AIX compilation failure introduced on 2008-04-02.
40070         * tests/test-frexp.c (exp): Undefine before redefining.
40071         * tests/test-frexpl.c (exp): Likewise.
40072
40073 2008-04-13  Bruno Haible  <bruno@clisp.org>
40074
40075         Work around a HP-UX stdio bug.
40076         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
40077         * tests/test-ftello.c (main): Likewise.
40078         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
40079         * doc/posix-functions/ftello.texi: Likewise.
40080
40081 2008-04-13  Bruno Haible  <bruno@clisp.org>
40082
40083         Make test-signbit pass on HP-UX/hppa.
40084         * tests/test-signbit.c (minus_zerol): New variable.
40085         (test_signbitl): Use it.
40086
40087 2008-04-13  Bruno Haible  <bruno@clisp.org>
40088
40089         Make truncl work on OSF/1 4.0.
40090         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
40091         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
40092         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
40093         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
40094         HAVE_DECL_TRUNCL.
40095         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
40096         HAVE_DECL_TRUNCL.
40097         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
40098
40099 2008-04-13  Bruno Haible  <bruno@clisp.org>
40100
40101         * lib/unictype.h: Remove trailing comma from enumeration definitions.
40102
40103 2008-04-13  Bruno Haible  <bruno@clisp.org>
40104
40105         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
40106         expression, so as to avoid HP-UX 11 cc compiler bug.
40107
40108 2008-04-13  Bruno Haible  <bruno@clisp.org>
40109
40110         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
40111
40112 2008-04-13  Bruno Haible  <bruno@clisp.org>
40113
40114         * lib/git-merge-changelog.c: Remove empty declaration outside of
40115         functions.
40116
40117 2008-04-13  Bruno Haible  <bruno@clisp.org>
40118
40119         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
40120
40121 2008-04-13  Bruno Haible  <bruno@clisp.org>
40122
40123         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
40124         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
40125         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
40126         also if it exists but lacks definitions of the SHUT_* macros.
40127         * modules/sys_socket (Description): Update.
40128         Reported by Elbert Pol <e.pol@chello.nl>.
40129
40130 2008-04-13  Bruno Haible  <bruno@clisp.org>
40131
40132         * lib/localcharset.c (OS2): Don't redefine if already defined.
40133         Reported by Elbert Pol <e.pol@chello.nl>.
40134
40135 2008-04-13  Bruno Haible  <bruno@clisp.org>
40136
40137         * lib/binary-io.h [__EMX__]: Include <io.h>.
40138         Reported by Elbert Pol <e.pol@chello.nl>.
40139
40140 2008-04-12  Bruno Haible  <bruno@clisp.org>
40141
40142         * lib/fpucw.h: Enable the definitions also for x86_64.
40143         Needed for NetBSD/x86_64.
40144         Reported by Thomas Klausner <tk@giga.or.at>.
40145
40146 2008-04-12  Bruno Haible  <bruno@clisp.org>
40147
40148         * tests/test-strtod.c: Include isnand.h.
40149         (main): Use isnand instead of isnan.
40150         Reported by Jim Meyering.
40151
40152 2008-04-12  Bruno Haible  <bruno@clisp.org>
40153
40154         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
40155         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
40156
40157 2008-04-12  Jim Meyering  <meyering@redhat.com>
40158
40159         * m4/math_h.m4 (gl_MATH_H): Fix typos.
40160
40161 2008-04-12  Bruno Haible  <bruno@clisp.org>
40162
40163         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
40164         Reported by Elbert Pol <e.pol@chello.nl>.
40165
40166 2008-04-12  Eric Blake  <ebb9@byu.net>
40167
40168         Work around Solaris 10 math.h bug.
40169         * m4/math_h.m4 (gl_MATH_H): Check for bug.
40170         (gl_MATH_H_DEFAULTS): Set up default.
40171         * modules/math (Makefile.am): Replace new indicators.
40172         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
40173         * tests/test-math.c (main): Test this.
40174         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
40175         * doc/posix-headers/math.texi (math.h): Mention bug.
40176         Reported by Nelson H. F. Beebe and Jim Meyering.
40177
40178 2008-04-11  Bruno Haible  <bruno@clisp.org>
40179
40180         Adapt to future versions of Apple GCC.
40181         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
40182         Reported by Peter O'Gorman <peter@pogma.com>.
40183
40184 2008-04-11  Bruno Haible  <bruno@clisp.org>
40185
40186         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
40187
40188 2008-04-11  Bruno Haible  <bruno@clisp.org>
40189
40190         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
40191
40192         * modules/getaddrinfo-tests (Makefile.am): Define
40193         test_getaddrinfo_LDADD.
40194
40195 2008-04-11  Bruno Haible  <bruno@clisp.org>
40196
40197         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
40198         (init): Fix syntax error.
40199         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
40200         is declared.
40201
40202 2008-04-11  Bruno Haible  <bruno@clisp.org>
40203
40204         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
40205         * modules/glob (Depends-on): Add stdbool.
40206
40207 2008-04-11  Bruno Haible  <bruno@clisp.org>
40208
40209         * lib/trim.c: Include <string.h>.
40210
40211 2008-04-11  Eric Blake  <ebb9@byu.net>
40212
40213         Avoid compile failure on OS/2.
40214         * lib/regex_internal.h (internal_function): Disable optimization
40215         on OS/2 (__EMX__), where it caused compiler error.
40216         Reported by Elbert Pol.
40217
40218 2008-04-11  Bruno Haible  <bruno@clisp.org>
40219
40220         Flush the standard error stream before aborting. Needed on mingw.
40221         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
40222         * tests/test-array_list.c (ASSERT): Likewise.
40223         * tests/test-array_oset.c (ASSERT): Likewise.
40224         * tests/test-avltree_list.c (ASSERT): Likewise.
40225         * tests/test-avltree_oset.c (ASSERT): Likewise.
40226         * tests/test-avltreehash_list.c (ASSERT): Likewise.
40227         * tests/test-binary-io.c (ASSERT): Likewise.
40228         * tests/test-byteswap.c (ASSERT): Likewise.
40229         * tests/test-c-ctype.c (ASSERT): Likewise.
40230         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
40231         * tests/test-c-strcasestr.c (ASSERT): Likewise.
40232         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
40233         * tests/test-c-strstr.c (ASSERT): Likewise.
40234         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
40235         * tests/test-canonicalize.c (ASSERT): Likewise.
40236         * tests/test-carray_list.c (ASSERT): Likewise.
40237         * tests/test-ceilf1.c (ASSERT): Likewise.
40238         * tests/test-ceilf2.c (ASSERT): Likewise.
40239         * tests/test-ceill.c (ASSERT): Likewise.
40240         * tests/test-count-one-bits.c (ASSERT): Likewise.
40241         * tests/test-fbufmode.c (ASSERT): Likewise.
40242         * tests/test-fflush2.c (ASSERT): Likewise.
40243         * tests/test-floorf1.c (ASSERT): Likewise.
40244         * tests/test-floorf2.c (ASSERT): Likewise.
40245         * tests/test-floorl.c (ASSERT): Likewise.
40246         * tests/test-fopen.c (ASSERT): Likewise.
40247         * tests/test-fpending.c (ASSERT): Likewise.
40248         * tests/test-fprintf-posix.c (ASSERT): Likewise.
40249         * tests/test-fpurge.c (ASSERT): Likewise.
40250         * tests/test-freadable.c (ASSERT): Likewise.
40251         * tests/test-freadahead.c (ASSERT): Likewise.
40252         * tests/test-freading.c (ASSERT): Likewise.
40253         * tests/test-freadptr.c (ASSERT): Likewise.
40254         * tests/test-freadptr2.c (ASSERT): Likewise.
40255         * tests/test-freadseek.c (ASSERT): Likewise.
40256         * tests/test-freopen.c (ASSERT): Likewise.
40257         * tests/test-frexp.c (ASSERT): Likewise.
40258         * tests/test-frexpl.c (ASSERT): Likewise.
40259         * tests/test-fseek.c (ASSERT): Likewise.
40260         * tests/test-fseeko.c (ASSERT): Likewise.
40261         * tests/test-fstrcmp.c (ASSERT): Likewise.
40262         * tests/test-ftell.c (ASSERT): Likewise.
40263         * tests/test-ftello.c (ASSERT): Likewise.
40264         * tests/test-func.c (ASSERT): Likewise.
40265         * tests/test-fwritable.c (ASSERT): Likewise.
40266         * tests/test-fwriting.c (ASSERT): Likewise.
40267         * tests/test-getdelim.c (ASSERT): Likewise.
40268         * tests/test-getline.c (ASSERT): Likewise.
40269         * tests/test-i-ring.c (ASSERT): Likewise.
40270         * tests/test-iconv-utf.c (ASSERT): Likewise.
40271         * tests/test-iconv.c (ASSERT): Likewise.
40272         * tests/test-isfinite.c (ASSERT): Likewise.
40273         * tests/test-isnand.c (ASSERT): Likewise.
40274         * tests/test-isnanf.c (ASSERT): Likewise.
40275         * tests/test-isnanl.h (ASSERT): Likewise.
40276         * tests/test-ldexpl.c (ASSERT): Likewise.
40277         * tests/test-linked_list.c (ASSERT): Likewise.
40278         * tests/test-linkedhash_list.c (ASSERT): Likewise.
40279         * tests/test-localename.c (ASSERT): Likewise.
40280         * tests/test-lseek.c (ASSERT): Likewise.
40281         * tests/test-mbscasecmp.c (ASSERT): Likewise.
40282         * tests/test-mbscasestr1.c (ASSERT): Likewise.
40283         * tests/test-mbscasestr2.c (ASSERT): Likewise.
40284         * tests/test-mbscasestr3.c (ASSERT): Likewise.
40285         * tests/test-mbscasestr4.c (ASSERT): Likewise.
40286         * tests/test-mbschr.c (ASSERT): Likewise.
40287         * tests/test-mbscspn.c (ASSERT): Likewise.
40288         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
40289         * tests/test-mbspbrk.c (ASSERT): Likewise.
40290         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
40291         * tests/test-mbsrchr.c (ASSERT): Likewise.
40292         * tests/test-mbsspn.c (ASSERT): Likewise.
40293         * tests/test-mbsstr1.c (ASSERT): Likewise.
40294         * tests/test-mbsstr2.c (ASSERT): Likewise.
40295         * tests/test-mbsstr3.c (ASSERT): Likewise.
40296         * tests/test-memchr2.c (ASSERT): Likewise.
40297         * tests/test-memmem.c (ASSERT): Likewise.
40298         * tests/test-open.c (ASSERT): Likewise.
40299         * tests/test-printf-frexp.c (ASSERT): Likewise.
40300         * tests/test-printf-frexpl.c (ASSERT): Likewise.
40301         * tests/test-printf-posix.c (ASSERT): Likewise.
40302         * tests/test-quotearg.c (ASSERT): Likewise.
40303         * tests/test-rbtree_list.c (ASSERT): Likewise.
40304         * tests/test-rbtree_oset.c (ASSERT): Likewise.
40305         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
40306         * tests/test-round1.c (ASSERT): Likewise.
40307         * tests/test-roundf1.c (ASSERT): Likewise.
40308         * tests/test-roundl.c (ASSERT): Likewise.
40309         * tests/test-signbit.c (ASSERT): Likewise.
40310         * tests/test-sleep.c (ASSERT): Likewise.
40311         * tests/test-snprintf-posix.c (ASSERT): Likewise.
40312         * tests/test-snprintf.c (ASSERT): Likewise.
40313         * tests/test-sprintf-posix.c (ASSERT): Likewise.
40314         * tests/test-stat-time.c (ASSERT): Likewise.
40315         * tests/test-strcasestr.c (ASSERT): Likewise.
40316         * tests/test-strerror.c (ASSERT): Likewise.
40317         * tests/test-striconv.c (ASSERT): Likewise.
40318         * tests/test-striconveh.c (ASSERT): Likewise.
40319         * tests/test-striconveha.c (ASSERT): Likewise.
40320         * tests/test-strsignal.c (ASSERT): Likewise.
40321         * tests/test-strstr.c (ASSERT): Likewise.
40322         * tests/test-strtod.c (ASSERT): Likewise.
40323         * tests/test-trunc1.c (ASSERT): Likewise.
40324         * tests/test-trunc2.c (ASSERT): Likewise.
40325         * tests/test-truncf1.c (ASSERT): Likewise.
40326         * tests/test-truncf2.c (ASSERT): Likewise.
40327         * tests/test-truncl.c (ASSERT): Likewise.
40328         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
40329         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
40330         * tests/test-vasnprintf.c (ASSERT): Likewise.
40331         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
40332         * tests/test-vasprintf.c (ASSERT): Likewise.
40333         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
40334         * tests/test-vprintf-posix.c (ASSERT): Likewise.
40335         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
40336         * tests/test-vsnprintf.c (ASSERT): Likewise.
40337         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
40338         * tests/test-wcwidth.c (ASSERT): Likewise.
40339         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
40340         * tests/test-xprintf-posix.c (ASSERT): Likewise.
40341         * tests/test-xvasprintf.c (ASSERT): Likewise.
40342         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
40343         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
40344         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
40345         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
40346         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
40347         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
40348         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
40349         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
40350         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
40351         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
40352         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
40353         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
40354         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
40355         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
40356         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
40357         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
40358         * tests/unictype/test-block_list.c (ASSERT): Likewise.
40359         * tests/unictype/test-block_of.c (ASSERT): Likewise.
40360         * tests/unictype/test-block_test.c (ASSERT): Likewise.
40361         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
40362         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
40363         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
40364         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
40365         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
40366         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
40367         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
40368         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
40369         * tests/unictype/test-combining.c (ASSERT): Likewise.
40370         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
40371         * tests/unictype/test-digit.c (ASSERT): Likewise.
40372         * tests/unictype/test-mirror.c (ASSERT): Likewise.
40373         * tests/unictype/test-numeric.c (ASSERT): Likewise.
40374         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
40375         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
40376         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
40377         * tests/unictype/test-scripts.c (ASSERT): Likewise.
40378         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
40379         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
40380         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
40381         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
40382         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
40383         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
40384         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
40385         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
40386         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
40387         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
40388         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
40389         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
40390         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
40391         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
40392         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
40393         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
40394         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
40395         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
40396         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
40397         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
40398         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
40399         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
40400         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
40401         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
40402         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
40403         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
40404         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
40405         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
40406         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
40407         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
40408         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
40409         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
40410         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
40411         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
40412         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
40413         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
40414         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
40415         Reported by Eric Blake.
40416
40417 2008-04-11  Bruno Haible  <bruno@clisp.org>
40418
40419         * lib/wchar.in.h: Tweak comment.
40420
40421 2008-04-11  Bruno Haible  <bruno@clisp.org>
40422
40423         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
40424         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
40425         gl_COMMON.
40426         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
40427
40428 2008-04-11  Bruno Haible  <bruno@clisp.org>
40429
40430         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
40431
40432 2008-04-11  Simon Josefsson  <simon@josefsson.org>
40433
40434         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
40435         of attempting to use non-existing /dev/*random.  Based on patch
40436         from Adam Strzelecki <ono@java.pl> in
40437         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
40438
40439 2008-04-08  Bruno Haible  <bruno@clisp.org>
40440
40441         Add tentative support for emx+gcc.
40442         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
40443         * lib/fpurge.c (fpurge): Likewise.
40444         * lib/freadable.c (freadable): Likewise.
40445         * lib/freadahead.c (freadahead): Likewise.
40446         * lib/freading.c (freading): Likewise.
40447         * lib/freadptr.c (freadptr): Likewise.
40448         * lib/freadseek.c (freadptrinc): Likewise.
40449         * lib/fseeko.c (rpl_fseeko): Likewise.
40450         * lib/fseterr.c (fseterr): Likewise.
40451         * lib/fwritable.c (fwritable): Likewise.
40452         * lib/fwriting.c (fwriting): Likewise.
40453         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
40454
40455 2008-04-09  Eric Blake  <ebb9@byu.net>
40456
40457         Avoid some autoconf warnings.
40458         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
40459         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
40460         * m4/afs.m4 (gl_AFS): Likewise.
40461         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
40462         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
40463         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40464         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
40465         (gl_INTEGER_TYPE_SUFFIX): Likewise.
40466         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
40467         (AC_CHECK_DECLS_ONCE): Likewise.
40468         Rename file...
40469         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
40470         gnulib-tool requires autoconf 2.59 or better.
40471         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
40472
40473 2008-04-08  Eric Blake  <ebb9@byu.net>
40474
40475         Use 'git describe --match' if present (added in git 1.5.5).
40476         * build-aux/git-version-gen: Limit result to tags that match 'v*'
40477         if possible.
40478
40479 2008-04-08  Bruno Haible  <bruno@clisp.org>
40480
40481         Add tentative support for OpenServer.
40482         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
40483         _ptr, _cnt.
40484         * lib/fpurge.c (fpurge): Likewise.
40485         * lib/freadable.c (freadable): Likewise.
40486         * lib/freadahead.c (freadahead): Likewise.
40487         * lib/freading.c (freading): Likewise.
40488         * lib/freadptr.c (freadptr): Likewise.
40489         * lib/freadseek.c (freadptrinc): Likewise.
40490         * lib/fseeko.c (rpl_fseeko): Likewise.
40491         * lib/fseterr.c (fseterr): Likewise.
40492         * lib/fwritable.c (fwritable): Likewise.
40493         * lib/fwriting.c (fwriting): Likewise.
40494         Reported by Roger Cornelius <rac@tenzing.org> and
40495         Brian K. White <brian@aljex.com>.
40496
40497 2008-04-06  Jim Meyering  <meyering@redhat.com>
40498
40499         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
40500
40501 2008-04-06  Bruno Haible  <bruno@clisp.org>
40502
40503         Avoid possible error with non-ASCII bytes in UTF-8 locales.
40504         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
40505         * tests/test-printf-posix.sh: Likewise.
40506         * tests/test-vfprintf-posix.sh: Likewise.
40507         * tests/test-vprintf-posix.sh: Likewise.
40508         * tests/test-xprintf-posix.sh: Likewise.
40509
40510 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40511
40512         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
40513         hide error from 'ls', needed on OS/2.
40514         Report by Elbert Pol <elbert.pol@gmail.com>.
40515
40516 2008-04-04  Eric Blake  <ebb9@byu.net>
40517
40518         Make test-fseeko.c failures meaningful.
40519         * tests/test-fseeko.c: Print line number on failure.
40520         * tests/test-fseek.c: Likewise.
40521         Reported by Nelson H. F. Beebe.
40522
40523         Improve strtod bug detection check.
40524         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
40525         required for Solaris 10.
40526         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
40527
40528 2008-04-04  Bruno Haible  <bruno@clisp.org>
40529
40530         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
40531         by m4/setenv.m4.
40532
40533 2008-04-03  Eric Blake  <ebb9@byu.net>
40534
40535         Ensure sane .version contents.
40536         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
40537         version string.
40538         * build-aux/git-version-gen: Improve documentation.
40539
40540         Make GNU make output nicer.
40541         * top/GNUmakefile [!_have-Makefile]: Add dependency on
40542         MAKECMDGOALS to enforce message for all command line targets.  Set
40543         srcdir for use in maint.mk.
40544
40545         Another maintainer tweak.
40546         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
40547         a target that regenerates version.
40548
40549 2008-04-03  Jim Meyering  <meyering@redhat.com>
40550
40551         vc-list-files: don't cause coreutils "make po-check" failure
40552         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
40553
40554 2008-04-03  Eric Blake  <ebb9@byu.net>
40555
40556         Allow VPATH usage of vc-list-files.
40557         * build-aux/vc-list-files (scriptversion): Add timestamp.
40558         (options): Add --help, --version, -C.
40559         (CVS): Support installed cvsu.
40560
40561 2008-04-02  Bruno Haible  <bruno@clisp.org>
40562
40563         Avoid some "statement with no effect" warnings from gcc.
40564         * tests/test-wctype.c (main): Explicitly ignore unused values.
40565         Reported by Jim Meyering.
40566
40567 2008-04-02  Jim Meyering  <meyering@redhat.com>
40568
40569         Avoid some warnings from "gcc -Wshadow".
40570         * tests/test-frexp.c (exp): Define to a different identifier.
40571         * tests/test-frexpl.c (exp): Likewise.
40572
40573 2008-04-03  Jim Meyering  <meyering@redhat.com>
40574
40575         bootstrap: remove dangling *.[ch] symlinks from lib
40576         * build-aux/bootstrap [dangling symlink removal]: Move find's
40577         -depth option to precede all others, to avoid a warning.
40578         Remove *.[ch] files too, and from "$source_base" (usually lib/).
40579
40580 2008-04-02  Bruno Haible  <bruno@clisp.org>
40581
40582         Avoid some warnings from "gcc -Wshadow".
40583         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
40584         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
40585         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
40586         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
40587         Reported by Jim Meyering.
40588
40589 2008-04-01  Bruno Haible  <bruno@clisp.org>
40590
40591         Fix test to work on IRIX 6.5 with cc.
40592         * tests/test-math.c (numeric_equal): New function.
40593         (main): Use it.
40594
40595 2008-04-01  Bruno Haible  <bruno@clisp.org>
40596
40597         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
40598
40599 2008-04-01  Bruno Haible  <bruno@clisp.org>
40600
40601         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
40602         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40603         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
40604         (Depends-on): Remove math.
40605
40606         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
40607         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40608         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
40609         (Depends-on): Remove math.
40610
40611         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
40612         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40613         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
40614         (Depends-on): Remove math.
40615         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
40616         (Depends-on): Remove math.
40617
40618         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
40619         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40620         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
40621         (Depends-on): Remove math.
40622         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
40623         (Depends-on): Remove math.
40624
40625         * tests/test-round1.c: Include nan.h.
40626         (main): Use NaNd instead of NAN.
40627         * modules/round-tests (Files): Add tests/nan.h.
40628
40629         * tests/test-trunc1.c: Include nan.h.
40630         (main): Use NaNd instead of NAN.
40631         * modules/trunc-tests (Files): Add tests/nan.h.
40632
40633         * tests/test-roundf1.c: Include nan.h.
40634         (main): Use NaNf instead of NAN.
40635         * modules/roundf-tests (Files): Add tests/nan.h.
40636
40637         * tests/test-truncf1.c: Include nan.h.
40638         (main): Use NaNf instead of NAN.
40639         * modules/truncf-tests (Files): Add tests/nan.h.
40640
40641         * tests/test-ceilf1.c: Include nan.h.
40642         (main): Use NaNf instead of NAN.
40643         * modules/ceilf-tests (Files): Add tests/nan.h.
40644
40645         * tests/test-floorf1.c: Include nan.h.
40646         (main): Use NaNf instead of NAN.
40647         * modules/floorf-tests (Files): Add tests/nan.h.
40648
40649         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
40650         (main): Use NaNf instead of NAN.
40651         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
40652
40653         * tests/test-isnand.c: Include nan.h instead of <math.h>.
40654         (main): Use NaNd instead of NAN.
40655         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
40656
40657         * tests/test-frexp.c: Include nan.h.
40658         (main): Use NaNd instead of NAN.
40659         * modules/frexp-tests (Files): Add tests/nan.h.
40660
40661         * lib/isnan.c: Don't include <math.h>.
40662         (FUNC): Don't use NAN macro.
40663         * modules/isnand-nolibm (Depends-on): Remove math.
40664         * modules/isnanf-nolibm (Depends-on): Remove math.
40665         * modules/isnanl (Depends-on): Remove math.
40666         * modules/isnanl-nolibm (Depends-on): Remove math.
40667
40668         * tests/nan.h: New file.
40669
40670 2008-04-01  Eric Blake  <ebb9@byu.net>
40671
40672         Fix typos.
40673         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
40674         values to be the right type.
40675
40676         For now, cater to gnulib strtod inaccuracies.
40677         * tests/test-strtod.c (main): Allow 1-ulp error on expected
40678         fractional results.  While not as nice from a QoI perspective, it
40679         is a quicker patch than correctly implementing decimal to binary
40680         rounding.
40681
40682 2008-03-31  Eric Blake  <ebb9@byu.net>
40683
40684         Guarantee a definition of NAN.
40685         * lib/math.in.h (NAN): Define if missing.
40686         * tests/test-math.c (main): Test it.
40687         * doc/posix-headers/math.texi (math.h): Document this.
40688         * lib/isnan.c (rpl_isnand): Use it.
40689         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
40690         * tests/test-floorf1.c (NaN): Likewise.
40691         * tests/test-frexp.c (NaN): Likewise.
40692         * tests/test-isnand.c (NaN): Likewise.
40693         * tests/test-isnanf.c (NaN): Likewise.
40694         * tests/test-round1.c (NaN): Likewise.
40695         * tests/test-roundf1.c (NaN): Likewise.
40696         * tests/test-snprintf-posix.h (NaN): Likewise.
40697         * tests/test-sprintf-posix.h (NaN): Likewise.
40698         * tests/test-trunc1.c (NaN): Likewise.
40699         * tests/test-truncf1.c (NaN): Likewise.
40700         * tests/test-vasnprintf-posix.c (NaN): Likewise.
40701         * tests/test-vasprintf-posix.c (NaN): Likewise.
40702         * modules/isnand-nolibm (Depends-on): Add math.
40703         * modules/isnanf-nolibm (Depends-on): Likewise.
40704         * modules/isnanl (Depends-on): Likewise.
40705         * modules/isnanl-nolibm (Depends-on): Likewise.
40706         * modules/snprintf-posix-tests (Depends-on): Likewise.
40707         * modules/sprintf-posix-tests (Depends-on): Likewise.
40708         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
40709         * modules/vsprintf-posix-tests (Depends-on): Likewise.
40710         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
40711         * modules/vasprintf-posix-tests (Depends-on): Likewise.
40712
40713 2008-03-31  Bruno Haible  <bruno@clisp.org>
40714
40715         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
40716         * doc/posix-functions/strtod.texi: Likewise.
40717
40718 2008-03-31  Bruno Haible  <bruno@clisp.org>
40719
40720         * tests/test-strtod.c (main): Don't use C99 syntax.
40721
40722 2008-03-31  Bruno Haible  <bruno@clisp.org>
40723
40724         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
40725         Reported by Eric Blake.
40726
40727 2008-03-31  Jim Meyering  <meyering@redhat.com>
40728
40729         Don't compare actual signbit return values.
40730         * tests/test-strtod.c (main): Rather, compare only their
40731         zero/non-zero nature.
40732
40733 2008-03-31  Eric Blake  <ebb9@byu.net>
40734
40735         More strtod documentation.
40736         * doc/posix-functions/strtod.texi (strtod): Interpret more test
40737         failures as distinct bugs.
40738
40739 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40740
40741         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
40742         Problem reported by Erik Benada in
40743         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
40744
40745 2008-03-30  Bruno Haible  <bruno@clisp.org>
40746
40747         * tests/test-strtod.c: Add comments about which assertion fails on which
40748         platform.
40749         * doc/posix-functions/strtod.texi: Add info about many more platforms.
40750
40751 2008-03-30  Eric Blake  <ebb9@byu.net>
40752
40753         Test signbit behavior on zeros.
40754         * tests/test-signbit.c (test_signbitf): Add tests for zero.
40755         (test_signbitd, test_signbitl): Likewise.
40756
40757         More strtod touchups.
40758         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
40759         sign of negative underflow, for now.  Use .5, not .1.
40760         * doc/posix-functions/strtod.texi (strtod): Mention these
40761         limitations.
40762         Reported by Jim Meyering.
40763
40764 2008-03-30  Bruno Haible  <bruno@clisp.org>
40765
40766         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
40767         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
40768
40769 2008-03-30  Bruno Haible  <bruno@clisp.org>
40770
40771         Avoid failure when attempting to return empty iconv results on some
40772         platforms.
40773         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
40774         allocation, don't report ENOMEM when the resulting string is empty.
40775
40776 2008-03-30  Bruno Haible  <bruno@clisp.org>
40777
40778         Fix buffer overrun.
40779         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
40780         Don't consider the width for tmp_length. Check count against tmp_length
40781         before doing the padding. Ensure enough allocation during padding.
40782
40783 2008-03-30  Eric Blake  <ebb9@byu.net>
40784
40785         strtod touchups.
40786         * lib/strtod.c (strtod): Avoid compiler warnings.
40787         Reported by Jim Meyering.
40788
40789 2008-03-30  Bruno Haible  <bruno@clisp.org>
40790
40791         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
40792         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
40793         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
40794         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
40795         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
40796         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
40797         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
40798         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
40799
40800         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
40801         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
40802         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
40803         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
40804         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
40805         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
40806         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
40807         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
40808
40809         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
40810         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
40811         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
40812         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
40813         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
40814         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
40815         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
40816         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
40817
40818         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
40819         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
40820
40821         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
40822         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
40823
40824         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
40825         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
40826
40827         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
40828         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
40829         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
40830
40831         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
40832         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
40833         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
40834
40835         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
40836         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
40837         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
40838
40839         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
40840         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
40841         * modules/vasprintf (Depends-on): Add EOVERFLOW.
40842
40843         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
40844         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
40845         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
40846         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
40847         (Depends-on): Add EOVERFLOW.
40848         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
40849         (Depends-on): Add EOVERFLOW.
40850         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40851         (Depends-on): Add EOVERFLOW.
40852         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40853         (Depends-on): Add EOVERFLOW.
40854         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40855         (Depends-on): Add EOVERFLOW.
40856         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40857         (Depends-on): Add EOVERFLOW.
40858         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40859         (Depends-on): Add EOVERFLOW.
40860         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40861         (Depends-on): Add EOVERFLOW.
40862
40863         * lib/sprintf.c (EOVERFLOW): Remove fallback.
40864         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
40865         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
40866
40867         * lib/snprintf.c (EOVERFLOW): Remove fallback.
40868         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
40869         * modules/snprintf (Depends-on): Add EOVERFLOW.
40870
40871         * lib/poll.c (EOVERFLOW): Remove fallback.
40872         * modules/poll (Depends-on): Add EOVERFLOW.
40873
40874         * lib/getugroups.c (EOVERFLOW): Remove fallback.
40875         * modules/getugroups (Depends-on): Add EOVERFLOW.
40876
40877         * lib/getdelim.c (EOVERFLOW): Remove fallback.
40878         * modules/getdelim (Depends-on): Add EOVERFLOW.
40879
40880         * lib/ftell.c (EOVERFLOW): Remove fallback.
40881         * modules/ftell (Depends-on): Add EOVERFLOW.
40882
40883         * lib/fprintf.c (EOVERFLOW): Remove fallback.
40884         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
40885         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
40886
40887         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
40888
40889         * modules/EOVERFLOW-tests: New file.
40890         * tests/test-EOVERFLOW.c: New file.
40891
40892         * modules/EOVERFLOW: New file.
40893         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
40894
40895 2008-03-30  Bruno Haible  <bruno@clisp.org>
40896
40897         Fix bug introduced on 2007-06-10.
40898         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
40899         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
40900
40901 2008-03-30  Bruno Haible  <bruno@clisp.org>
40902
40903         Improve freadseek's efficiency after ungetc.
40904         * lib/freadseek.c: Include freadahead.h.
40905         (freadptrinc): New function, extracted from freadseek.
40906         (freadseek): Use it in a loop. Use freadahead to determine the number
40907         of loop iterations.
40908         * modules/freadseek (Depends-on): Add freadahead.
40909         (configure.ac): Require AC_C_INLINE.
40910
40911 2008-03-30  Bruno Haible  <bruno@clisp.org>
40912
40913         * lib/freadseek.c (freadseek): Don't ignore the return value of
40914         freadptr.
40915
40916 2008-03-29  Eric Blake  <ebb9@byu.net>
40917
40918         Add hex float support.
40919         * modules/strtod (Depends-on): Add c-ctype.
40920         (Link): Mention POW_LIB.
40921         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
40922         whitespace between 'e' and exponent.
40923         * tests/test-strtod.c (main): Enable hex float tests.
40924         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
40925         now provides.
40926
40927         Document various strtod bugs, with some fixes.
40928         * doc/posix-functions/strtod.texi (strtod): Document bugs with
40929         "-0x", "inf", "nan", and hex constants.
40930         * doc/posix-functions/atof.texi (atof): Likewise.
40931         * modules/stdlib (Makefile.am): Support strtod.
40932         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
40933         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
40934         detect additional strtod bugs.
40935         * lib/stdlib.in.h (rpl_strtod): Add declarations.
40936         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
40937         bool where appropriate.  Parse 'inf' and 'nan'.
40938         * tests/test-strtod.c: New file.
40939         * modules/strtod (Depends-on): Add stdbool, stdlib.
40940         (configure.ac): Turn on module indicator.
40941         * modules/strtod-tests: New module.
40942
40943 2008-03-29  Eric Blake  <ebb9@byu.net>
40944
40945         Fix ftell on mingw.
40946         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
40947         * modules/ftell-tests (Depends-on): Add binary-io.
40948         * modules/ftello-tests (Depends-on): Likewise.
40949         * tests/test-ftell.c (main): Enhance test to cover behavior after
40950         ungetc.  Enforce binary mode.
40951         * tests/test-ftello.c (main): Likewise.
40952
40953         Pass test-freadseek on cygwin.
40954         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
40955         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
40956         ungetc buffer.
40957
40958         * tests/test-fflush2.c (main): Fix typo.
40959
40960 2008-03-29  Bruno Haible  <bruno@clisp.org>
40961
40962         * tests/test-fflush2.c (main): Temporarily disable the contents of
40963         this test.
40964         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
40965         Reported by Eric Blake.
40966
40967 2008-03-28  Simon Josefsson  <simon@josefsson.org>
40968
40969         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
40970         (GC_SHA224_DIGEST_SIZE): Add.
40971
40972         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
40973         (gc_hash_digest_length): Likewise.
40974         (gc_hash_buffer): Likewise.
40975
40976 2008-03-25  Bruno Haible  <bruno@clisp.org>
40977
40978         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
40979         detail which gettext release to use.
40980         Reported by Simon Josefsson.
40981
40982 2008-03-26  Jim Meyering  <meyering@redhat.com>
40983
40984         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
40985         * modules/gnumakefile (clean-GNUmakefile): Also, use
40986         test ... && ... || : syntax rather than if-then ... fi.
40987
40988         gnumakefile: Don't double-quote-expand $(VPATH) value.
40989         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
40990
40991 2008-03-24  Eric Blake  <ebb9@byu.net>
40992
40993         Alter GNUmakefile to install into top directory.
40994         * modules/maintainer-makefile: Split, and add dependency...
40995         * modules/gnumakefile: to this new module.
40996         * build-aux/GNUmakefile: Move...
40997         * top/GNUmakefile: ...here.
40998         * build-aux/maint.mk: Move...
40999         * top/maint.mk: ...here.
41000         * MODULES.html.sh (Support for maintaining...): Document new
41001         module.
41002
41003 2008-03-23  Bruno Haible  <bruno@clisp.org>
41004
41005         * gnulib-tool: New options --vc-files, --no-vc-files.
41006         (func_usage): Document them.
41007         (vc_files): New variable.
41008         (func_import): Consider vc_files.
41009         (func_create_testdir): Set vc_files to empty.
41010         Suggested by Jim Meyering and Karl Berry.
41011
41012 2008-03-23  Bruno Haible  <bruno@clisp.org>
41013
41014         Fix regex compilation error on HP-UX 11.
41015         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
41016         * modules/regex (Files): Add m4/mbstate_t.m4.
41017         Reported by Ton Voon <ton.voon@altinity.com>.
41018
41019 2008-03-23  Bruno Haible  <bruno@clisp.org>
41020
41021         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
41022
41023 2008-03-23  Eric Blake  <ebb9@byu.net>
41024             Bruno Haible  <bruno@clisp.org>
41025
41026         Install files from top/ in the destination directory.
41027         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
41028         augmentation also for the files from top/.
41029         (func_import, func_create_testdir): Rewrite file names:
41030         top/filename -> filename.
41031
41032 2008-03-23  Bruno Haible  <bruno@clisp.org>
41033
41034         Tweak "gnulib --version" output.
41035         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
41036
41037 2008-03-23  Bruno Haible  <bruno@clisp.org>
41038
41039         Tweak "gnulib --version" output.
41040         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
41041         rather than contents of ChangeLog, when possible.
41042
41043 2008-03-21  Eric Blake  <ebb9@byu.net>
41044
41045         More --version tweaks.
41046         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
41047         date of last ChangeLog entry.
41048
41049 2008-03-21  Jim Meyering  <meyering@redhat.com>
41050
41051         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
41052
41053 2008-03-20  Eric Blake  <ebb9@byu.net>
41054
41055         VPATH fix.
41056         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
41057
41058 2008-03-20  Simon Josefsson  <simon@josefsson.org>
41059
41060         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
41061         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
41062
41063 2008-03-20  Eric Blake  <ebb9@byu.net>
41064
41065         Sync GNUmakefile with coreutils.
41066         * build-aux/GNUmakefile (have-Makefile): Rename...
41067         (_have-Makefile): ...to this, for namespace consideration.
41068         (GNUmakefile.cfg): Include, if present.
41069         (_autoreconf): Define a default.
41070         (_is-dist-target): New rule for rebuilds to pick up intra-release
41071         version.
41072         (maint-cfg.mk): Rename...
41073         (cfg.mk): ...to this.
41074
41075 2008-03-18  Jim Meyering  <meyering@redhat.com>
41076
41077         New script and module: mktempd
41078         * MODULES.html.sh (maint+release support): Add mktempd.
41079         * build-aux/mktempd: New file.
41080         * modules/mktempd: New file.
41081
41082 2008-03-15  Jim Meyering  <meyering@redhat.com>
41083
41084         Undo last change.
41085         * lib/sha1.c, lib/md5.c: 63 != ~63.
41086         Reported by Andreas Schwab.
41087
41088         sha1.c, md5.c: Hoist a redundant expression.
41089         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
41090         "ctx->buflen" only once, before calling *_process_block.
41091         * lib/md5.c (md5_process_bytes): Likewise.
41092
41093 2008-03-14  Eric Blake  <ebb9@byu.net>
41094
41095         Bump copyright year in files generated by gnulib-tool.
41096         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
41097         gnulib-tool, rather than hard-coding it.
41098
41099         Fix 'gnulib-tool --version' output to work with git.
41100         * gnulib-tool (func_gnulib_dir): New function, extracted from...
41101         (startup): ...here.
41102         (func_version): Use it to invoke git-version-gen, rather than
41103         relying on CVS keyword expansion.  Modernize wording.
41104         (cvsdatestamp, last_checkin_date, version): Kill unused
41105         variables.
41106
41107 2008-03-12  Jim Meyering  <meyering@redhat.com>
41108
41109         Recognize optional cast of the argument to free.
41110         * build-aux/useless-if-before-free: Update regexps.
41111
41112         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
41113
41114 2008-03-11  Bruno Haible  <bruno@clisp.org>
41115
41116         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
41117         by a single package.
41118         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
41119         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
41120         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
41121         Reported by Sam Steingold <sds@gnu.org>.
41122
41123 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41124
41125         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
41126         repositories.
41127
41128 2008-03-11  Bruno Haible  <bruno@clisp.org>
41129
41130         Avoid conflicts between local macro definitions.
41131         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
41132         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
41133
41134 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
41135             Bruno Haible  <bruno@clisp.org>
41136
41137         Make va_copy work with some version of xlc on AIX 5.1.
41138         * lib/stdarg.in.h: New file.
41139         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
41140         On AIX, use a <stdarg.h> file substitute.
41141         * modules/stdarg (Files): Add lib/stdarg.in.h.
41142         (Depends-on): Add include_next.
41143         (Makefile.am): Build a stdarg.h substitute if requested.
41144         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
41145
41146 2008-03-10  Bruno Haible  <bruno@clisp.org>
41147
41148         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
41149         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41150         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41151
41152 2008-03-10  Bruno Haible  <bruno@clisp.org>
41153
41154         * modules/stdlib (Depends-on): Add include_next, remove
41155         absolute-header.
41156
41157 2008-03-09  Bruno Haible  <bruno@clisp.org>
41158
41159         * lib/freadahead.h (freadahead): Document more precisely.
41160         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
41161         the sum of both buffer sizes.
41162         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
41163         * NEWS: Document the change.
41164
41165 2008-03-09  Bruno Haible  <bruno@clisp.org>
41166
41167         Extend freadptr to return also the buffer size.
41168         * lib/freadptr.h (freadptr): Add sizep argument.
41169         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
41170         (freadptr): Add sizep argument. Determine buffer size like freadahead
41171         does.
41172         * tests/test-freadptr.c: Don't include freadahead.h.
41173         (main): Adapt for new calling convention of freadptr.
41174         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
41175         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
41176         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
41177         tests/test-freadptr2.sh.
41178         (Depends): Remove freadahead.
41179         (TESTS): Add test-freadptr2.sh.
41180         (check_PROGRAMS): Add test-freadptr2.
41181
41182 2008-03-09  Bruno Haible  <bruno@clisp.org>
41183
41184         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
41185         Report and solution by Simon Josefsson.
41186
41187 2008-03-06  Bruno Haible  <bruno@clisp.org>
41188
41189         Make fflush after ungetc work on BSD platforms.
41190         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
41191         * tests/test-fflush2.c: New file.
41192         * tests/test-fflush2.sh: New file.
41193         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
41194         tests/test-fflush2.c.
41195         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
41196         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
41197
41198 2008-03-06  Eric Blake  <ebb9@byu.net>
41199
41200         Likewise for ftello.
41201         * modules/ftello (Dependencies): Add extensions.
41202         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
41203
41204 2008-03-06  Bruno Haible  <bruno@clisp.org>
41205
41206         * modules/fseeko (Dependencies): Add extensions.
41207         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
41208         Needed on glibc systems.
41209
41210 2008-03-06  Bruno Haible  <bruno@clisp.org>
41211
41212         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
41213         email address.
41214         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41215
41216 2008-03-06  Bruno Haible  <bruno@clisp.org>
41217
41218         * users.txt: Add libgnupdf.
41219
41220 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
41221
41222         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
41223         (Header File Substitutes, Function Substitutes,
41224         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
41225         (Build robot for gnulib): Fix typo.
41226
41227 2008-03-06  Bruno Haible  <bruno@clisp.org>
41228
41229         * doc/gnulib-tool.texi (VCS Issues): Small updates.
41230         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41231
41232 2008-03-06  Bruno Haible  <bruno@clisp.org>
41233
41234         * doc/func.texi: New file, extracted from doc/gnulib.texi.
41235         * doc/gnulib.texi: Include it.
41236
41237 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41238
41239         * modules/func (License): Change license to unlimited; there was
41240         no LGPL parts in the module anyway.
41241
41242 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41243
41244         * modules/__func__: Renamed to modules/func.
41245         * modules/__func__-tests: Renamed to modules/func-tests.
41246         * tests/test-__func__.c: Renamed to tests/test-func.c.
41247         * m4/__func__.m4: Renamed to m4/func.m4.
41248         * doc/gnulib.texi (__func__): Section renamed to func.
41249         Suggested by Eric Blake <ebb9@byu.net>.
41250
41251 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41252
41253         * doc/gnulib.texi (__func__): Use C99 terminology when talking
41254         about __func__.  Make example self-contained.  Suggested by Eric
41255         Blake <ebb9@byu.net>.
41256
41257         * tests/test-__func__.c (main): Avoid extraneous () around __func.
41258         Suggested by Eric Blake <ebb9@byu.net>.
41259
41260 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41261
41262         * modules/__func__: New file.
41263         * modules/__func__-tests: New file.
41264         * tests/test-__func__.c: New file.
41265         * m4/__func__.m4: New file.
41266         * doc/gnulib.texi (__func__): Document __func__ module.
41267
41268 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41269
41270         * modules/byteswap (License): Re-license as LGPLv2+.
41271
41272 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41273
41274         * doc/Makefile: Add pdf target.
41275
41276 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41277
41278         * modules/inline (License): Use 'unlimited', since there are only
41279         *.m4 files in this module.
41280
41281 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
41282             Bruno Haible  <bruno@clisp.org>
41283
41284         Add support for HP C 7.1 on OpenVMS 8.3.
41285         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
41286
41287 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
41288
41289         Update VMS specifics.
41290         * lib/getopt.c [VMS]: Remove include of unixlib.h.
41291
41292 2008-03-02  Jim Meyering  <meyering@redhat.com>
41293
41294         Remove the last dependency on the "free" module.
41295         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
41296         Reported by Bob Proulx.
41297
41298         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
41299
41300         Remove useless "if" tests before free.  Deprecate "free" module.
41301         * doc/posix-functions/free.texi: Mention that this
41302         module is no longer useful.
41303         * modules/free (Notice): Say this module is obsolete.
41304         * modules/readutmp (Depends-on): Remove free.
41305         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
41306         * lib/putenv.c (putenv): Likewise.
41307         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
41308         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
41309         * tests/test-c-strcasestr.c (main): Likewise.
41310         * tests/test-c-strstr.c (main): Likewise.
41311         * tests/test-mbscasestr1.c (main): Likewise.
41312         * tests/test-mbscasestr2.c (main): Likewise.
41313         * tests/test-mbsstr1.c (main): Likewise.
41314         * tests/test-mbsstr2.c (main): Likewise.
41315         * tests/test-memmem.c (main): Likewise.
41316         * tests/test-strcasestr.c (main): Likewise.
41317         * tests/test-striconv.c (main): Likewise.
41318         * tests/test-striconveh.c (main): Likewise.
41319         * tests/test-striconveha.c (main): Likewise.
41320         * tests/test-strstr.c (main): Likewise.
41321
41322         * build-aux/git-version-gen: Adjust a comment and the Usage string.
41323
41324         bootstrap: sync from coreutils again
41325         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
41326
41327 2008-03-01  Jim Meyering  <meyering@redhat.com>
41328
41329         bootstrap: sync from coreutils
41330         * build-aux/bootstrap (update_po_files): Copy a .po file into place
41331         also when the target doesn't exist.
41332
41333 2008-03-01  Eric Blake  <ebb9@byu.net>
41334
41335         Fix bugs in last patch.
41336         * lib/memchr2.c (memchr2): Fix typo.
41337         * tests/test-memchr2.c: Test previous bug, and don't use GNU
41338         extension.
41339         Reported by Bruce Korb.
41340
41341         New module 'memchr2'.
41342         * modules/memchr2: New file.
41343         * modules/memchr2-tests: Likewise.
41344         * lib/memchr2.h: Likewise.
41345         * lib/memchr2.c: Likewise, based on memchr.c.
41346         * tests/test-memchr2.c: New test.
41347         * MODULES.html.sh (String handling): Add memchr2.
41348
41349 2008-02-29  Bruno Haible  <bruno@clisp.org>
41350
41351         * modules/freadseek-tests: New file.
41352         * tests/test-freadseek.sh: New file.
41353         * tests/test-freadseek.c: New file.
41354
41355         New module 'freadseek'.
41356         * modules/freadseek: New file.
41357         * lib/freadseek.h: New file.
41358         * lib/freadseek.c: New file.
41359         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
41360
41361 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
41362
41363         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
41364         wydawca.
41365
41366         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
41367         program_invocation_name and program_invocation_short_name are
41368         present.
41369
41370 2008-02-28  Bruno Haible  <bruno@clisp.org>
41371
41372         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
41373         * tests/test-freadptr.sh: Also test non-seekable stdin.
41374
41375 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
41376
41377         * build-aux/bootstrap (source_base, m4_base)
41378         (doc_base, tests_base): New variables.
41379         (gnulib_tool_options): Do not hardcode base directories, use
41380         the above variables instead.
41381
41382 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
41383
41384         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
41385
41386 2008-02-28  Bruno Haible  <bruno@clisp.org>
41387
41388         * modules/freadptr-tests: New file.
41389         * tests/test-freadptr.sh: New file.
41390         * tests/test-freadptr.c: New file.
41391
41392         New module 'freadptr'.
41393         * modules/freadptr: New file.
41394         * lib/freadptr.h: New file.
41395         * lib/freadptr.c: New file.
41396         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
41397
41398 2008-02-26  Karl Berry  <karl@freefriends.org>
41399
41400         Sync from Libtool:
41401         * libltdl/argz.c (argz_add, argz_count): New functions.
41402         * libltdl/argz.in.h: Declare them.
41403         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
41404
41405 2008-02-22  Bruno Haible  <bruno@clisp.org>
41406
41407         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
41408         is a pointer type.  Needed for HP-UX 10.
41409         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
41410         * doc/posix-functions/gmtime_r.texi: Likewise.
41411         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41412
41413 2008-02-24  Bruno Haible  <bruno@clisp.org>
41414
41415         * modules/environ-tests: New file.
41416         * tests/test-environ.c: New file.
41417
41418         New module 'environ'.
41419         * modules/environ: New file.
41420         * lib/unistd.in.h (environ): New declaration.
41421         * m4/environ.m4: New file.
41422         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
41423         after use.
41424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
41425         HAVE_DECL_ENVIRON.
41426         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
41427         HAVE_DECL_ENVIRON.
41428         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
41429         wrong claim that 'environ' is missing on some systems.
41430         * modules/execute (Depends-on): Add environ.
41431         * lib/execute.c (environ): Remove fallback declaration.
41432         * modules/pipe (Depends-on): Add environ.
41433         * lib/pipe.c (environ): Remove fallback declaration.
41434         * modules/setenv (Depends-on): Add environ.
41435         * lib/setenv.c (environ): Remove fallback declaration.
41436         * modules/unsetenv (Depends-on): Add environ.
41437         * lib/unsetenv.c (environ): Remove fallback declaration.
41438         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
41439         m4/environ.m4.
41440         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
41441         (gl_PREREQ_UNSETENV): Likewise.
41442
41443 2008-02-24  Bruno Haible  <bruno@clisp.org>
41444
41445         * doc/posix-functions/environ.texi: Document the MacOS X problem.
41446
41447 2008-02-20  Bob Proulx  <bob@proulx.com>
41448
41449         Enable use of older two part flavor 'git describe'.
41450         * build-aux/git-version-gen: If using the older two part flavor of
41451         git version then recreate the third part now present in the
41452         newer three part flavor of git describe.
41453
41454 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
41455
41456         * lib/fts.c (fts_build): Typo correction to comment.
41457
41458 2008-02-17  Bruno Haible  <bruno@clisp.org>
41459
41460         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
41461         generating no-op conflicts.
41462
41463 2008-02-17  Bruno Haible  <bruno@clisp.org>
41464
41465         Speed up by 10%.
41466         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
41467         result_entries, rather than an index-based loop.
41468
41469 2008-02-17  Bruno Haible  <bruno@clisp.org>
41470
41471         Speed up by 25%.
41472         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
41473         'hashcode_cached'.
41474         (entry_create): New function.
41475         (entry_hashcode): Use the cached hashcode if possible.
41476         (read_changelog_file, try_split_merged_entry): Use entry_create.
41477
41478 2008-02-17  Bruno Haible  <bruno@clisp.org>
41479
41480         Speed up from O(n^2) to O(n) for long ChangeLog files.
41481         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
41482         (read_changelog_file): Change implementation of entries_reversed list
41483         to rbtreehash.
41484         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
41485
41486 2008-02-17  Bruno Haible  <bruno@clisp.org>
41487
41488         New option --split-merged-entry.
41489         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
41490         (find_paragraph_end, try_split_merged_entry): New functions.
41491         (long_options): Add option --split-merged-entry.
41492         (usage): Document option --split-merged-entry.
41493         (main): Implement option --split-merged-entry.
41494         Reported by Eric Blake.
41495
41496 2008-02-17  Bruno Haible  <bruno@clisp.org>
41497
41498         * lib/git-merge-changelog.c: Include c-strstr.h.
41499         (main): Support the "git pull --rebase" situation.
41500         * modules/git-merge-changelog (Depends-on): Add c-strstr.
41501         Reported by Eric Blake.
41502
41503 2008-02-16  Eric Blake  <ebb9@byu.net>
41504
41505         Avoid doubling \ in common case of "c-maybe" quoting style.
41506         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
41507         eliding outer quotes.
41508         * lib/quotearg.h: Document this.
41509         * tests/test-quotearg.c (result_strings, inputs, results_g)
41510         (flag_results, locale_results): Test it by adding a new string to
41511         each test group.
41512         (compare_strings): Test new string.
41513
41514 2008-02-13  Eric Blake  <ebb9@byu.net>
41515
41516         Avoid trigraph quoting in default output.
41517         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
41518         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
41519         unless explicitly requested.
41520         * tests/test-quotearg.c (flag_results, main): Add additional tests.
41521
41522 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
41523
41524         Don't rely on signed integer overflowing to negative value.
41525         * lib/getugroups.c (getugroups): Include <limits.h>.
41526         Instead, compare against INT_MAX, and increment only if the test passes.
41527
41528 2008-02-13  Jim Meyering  <meyering@redhat.com>
41529         and Eric Blake  <ebb9@byu.net>
41530
41531         Avoid shadowing warning and compile errors on Linux.
41532         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
41533         forwarding macros on Linux.
41534         (dcgettext): Define a stub, for Linux.
41535         (results_g, main): Avoid warnings.
41536
41537 2008-02-12  Eric Blake  <ebb9@byu.net>
41538
41539         Silence warning in last patch.
41540         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
41541
41542         Quotearg part 4: add tests, fix c-maybe colon quoting.
41543         * lib/quotearg.h: Improve documentation.
41544         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
41545         escapes when adding outer quotes.  When quoting trigraphs, use
41546         valid C notation.  When quoting NUL, omit extra characters if next
41547         character is not digit.  Alter prototype.
41548         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
41549         callers.
41550         * modules/quotearg-tests: New module.
41551         * tests/test-quotearg.c: New test.
41552
41553 2008-02-07  Eric Blake  <ebb9@byu.net>
41554
41555         Quotearg part 3: add flag to control outer quote elision.
41556         * lib/quotearg.h (c_maybe_quoting_style): New style.
41557         (enum quoting_flags): Better documentation of flags.
41558         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
41559         c-maybe style.
41560         (quotearg_buffer_restyled): Handle new flag to elide outer
41561         quotes.
41562
41563         Quotearg part 2: add flag that can control NUL elision.
41564         * lib/quotearg.h (set_quoting_flags): New prototype.
41565         * lib/quotearg.c (struct quoting_options): Add flag field.
41566         (set_quoting_flags): New function.
41567         (quotearg_buffer_restyled): Add flags parameter.
41568         (quotearg_alloc_mem): Set the flag if length cannot be returned.
41569         (quotearg_n_options): Set the flag, since length cannot be
41570         returned.
41571         (quoting_options_from_style): Default flags correctly.
41572
41573         Quotearg part 1: more wrappers, restore quotearg_char state.
41574         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
41575         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
41576         (quotearg_colon_mem): New wrappers.
41577         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
41578         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
41579         functions.
41580         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
41581         (quotearg_colon_mem): New functions.
41582
41583 2008-02-11  Bruno Haible  <bruno@clisp.org>
41584
41585         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
41586         library in the current directory: it does not work with parallel make.
41587         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41588
41589 2008-02-11  Bruno Haible  <bruno@clisp.org>
41590
41591         * .gitattributes: New file.
41592
41593 2008-02-11  Jim Meyering  <meyering@redhat.com>
41594
41595         useless-if-before-free: Fix reversed exit values.
41596         * build-aux/useless-if-before-free: Use correct values
41597         for EXIT_MATCH and EXIT_NO_MATCH.
41598
41599         * build-aux/useless-if-before-free: Close stdout carefully.
41600
41601 2008-02-10  Bruno Haible  <bruno@clisp.org>
41602
41603         New module 'git-merge-changelog'.
41604         * modules/git-merge-changelog: New file.
41605         * lib/git-merge-changelog.c: New file.
41606
41607 2008-02-10  Jim Meyering  <meyering@redhat.com>
41608
41609         useless-if-before-free: New option: --list (-l).
41610
41611         useless-if-before-free: Don't exit immediately upon open failure.
41612         * build-aux/useless-if-before-free: Exit 2 for errors.
41613         Upon failure to open a file, don't exit immediately.
41614         Rather, just warn and continue with any remaining files.
41615
41616 2008-02-10  Bruno Haible  <bruno@clisp.org>
41617
41618         New abstract list operation 'node_set_value'.
41619         * lib/gl_list.h (gl_list_node_set_value): New function.
41620         (struct gl_list_implementation): New field node_set_value.
41621         * lib/gl_list.c (gl_list_node_set_value): New function.
41622         * lib/gl_array_list.c (gl_array_node_set_value): New function.
41623         (gl_array_list_implementation): Update.
41624         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
41625         (gl_carray_list_implementation): Update.
41626         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
41627         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
41628         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
41629         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
41630         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
41631         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
41632         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
41633         Update.
41634         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
41635         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
41636         (gl_sublist_list_implementation): Update.
41637
41638 2008-02-10  Bruno Haible  <bruno@clisp.org>
41639
41640         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
41641         Needed when ELEMENT is #defined to 'some_type *'.
41642
41643 2008-02-10  Jim Meyering  <meyering@redhat.com>
41644
41645         New script and module: useless-if-before-free
41646         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
41647         * build-aux/useless-if-before-free: New file.
41648         * modules/useless-if-before-free: New file.
41649
41650         * build-aux/gitlog-to-changelog: Use committer date, not author date.
41651
41652         xstrtol_error: Fix typo.
41653         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
41654         s/exit_failure/exit_status/.
41655
41656 2008-02-09  Jim Meyering  <meyering@redhat.com>
41657
41658         New script and module: gitlog-to-changelog
41659         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
41660         * modules/gitlog-to-changelog: New file.
41661         * build-aux/gitlog-to-changelog: New file.
41662
41663 2008-02-08  Jim Meyering  <meyering@redhat.com>
41664
41665         Avoid two "parameter unused" warnings.
41666         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
41667         Mark "st" as used.
41668
41669         Use "git COMMAND", not "git-COMMAND".
41670         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
41671         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
41672         * build-aux/git-version-gen: Use "git status", not "git-status".
41673
41674 2008-02-07  Bruno Haible  <bruno@clisp.org>
41675
41676         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
41677         Avoids a crash on Windows Vista.
41678         Reported by Adam Strzelecki <ono@java.pl> via
41679         Simon Josefsson <simon@josefsson.org>.
41680
41681 2008-02-06  Bruno Haible  <bruno@clisp.org>
41682
41683         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
41684         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
41685         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
41686         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
41687         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41688         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41689         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
41690         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
41691         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41692         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41693         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41694         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41695         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41696         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41697         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41698         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
41699         left-adjust flag.
41700         * tests/test-snprintf-posix.h (test_function): Likewise.
41701         * tests/test-sprintf-posix.h (test_function): Likewise.
41702         * tests/test-vasprintf-posix.c (test_function): Likewise.
41703         * doc/posix-functions/fprintf.texi: Update.
41704         * doc/posix-functions/printf.texi: Update.
41705         * doc/posix-functions/snprintf.texi: Update.
41706         * doc/posix-functions/sprintf.texi: Update.
41707         * doc/posix-functions/vfprintf.texi: Update.
41708         * doc/posix-functions/vprintf.texi: Update.
41709         * doc/posix-functions/vsnprintf.texi: Update.
41710         * doc/posix-functions/vsprintf.texi: Update.
41711         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41712
41713 2008-02-06  Bruno Haible  <bruno@clisp.org>
41714
41715         Fix bug introduced on 2008-01-26.
41716         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
41717
41718 2008-02-06  Bruno Haible  <bruno@clisp.org>
41719
41720         Fix bug introduced on 2007-06-10.
41721         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
41722         !NEED_PRINTF_FLAG_ZERO.
41723
41724 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
41725
41726         getloadavg: use libperfstat on AIX5
41727         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
41728
41729 2008-02-03  Bruno Haible  <bruno@clisp.org>
41730
41731         * lib/diffseq.h: Add comments about required #includes.
41732         Reported by Michael Biggs <gnulib@doubleplum.net>.
41733
41734 2008-02-01  Bruno Haible  <bruno@clisp.org>
41735
41736         * users.txt: Add gnuit.
41737
41738 2008-01-31  Bruno Haible  <bruno@clisp.org>
41739
41740         * lib/md4.c (set_uint32): Mark as inline.
41741         * lib/md5.c (set_uint32): Likewise.
41742         * lib/sha1.c (set_uint32): Likewise.
41743         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
41744         * m4/md5.m4 (gl_MD5): Likewise.
41745         * m4/sha1.m4 (gl_SHA1): Likewise.
41746
41747 2008-01-31  Jim Meyering  <meyering@redhat.com>
41748
41749         Use "sizeof VAR", rather than a literal "4".
41750         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
41751         * lib/md4.c (md4_read_ctx): Likewise.
41752         * lib/sha1.c (sha1_read_ctx): Likewise.
41753
41754 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41755
41756         * tests/test-sha1.c: New file, based on test-md5.c.
41757
41758         * modules/crypto/sha1-tests: New file.
41759
41760 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41761
41762         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
41763
41764 2008-01-31  Jim Meyering  <meyering@redhat.com>
41765
41766         Prefer "sizeof v" over the equivalent "4".
41767         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
41768         * lib/md5.c (set_uint32): Likewise.
41769         * lib/sha1.c (set_uint32): Likewise.
41770
41771 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41772
41773         * lib/sha1.c (set_uint32): Mark function as static.
41774
41775 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41776
41777         md2: clarify comments to say that alignment is not required.
41778         * lib/md2.h: Remove warning about alignment in comment.
41779         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
41780         never been required.
41781
41782 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41783
41784         md4: adapt alignment constraint fix from sha1.
41785         * lib/md4.c (set_uint32): New function, from sha1.c
41786         (md4_read_ctx): Use it.
41787         (md4_finish_ctx): Doc fix.
41788         * lib/md4.h: Doc fix.
41789
41790 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41791
41792         md5: adapt alignment constraint fix from sha1.
41793         * lib/md5.c (set_uint32): New function, from sha1.c
41794         (md5_read_ctx): Use it.
41795         (md5_finish_ctx): Doc fix.
41796         * lib/md5.h: Doc fix.
41797
41798 2008-01-30  Peter Palfrader  <weasel@debian.org>
41799
41800         sha1: remove the result buffer alignment constraint
41801         * lib/sha1.c (set_uint32): New function.
41802         (sha1_read_ctx): Rewrite to remove the result buffer alignment
41803         constraint.
41804         (sha1_finish_ctx): Remove comment warning about alignment constraint.
41805         * lib/sha1.h: Likewise.
41806
41807 2008-01-30  Andreas Schwab  <schwab@suse.de>
41808             Bruno Haible  <bruno@clisp.org>
41809
41810         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
41811         correct definition of LDBL_MIN_EXP.
41812
41813 2008-01-30  Karl Berry  <karl@gnu.org>
41814
41815         * config/srclist-update: try to preserve x bit on updates.
41816         * config/srclistvars.sh: update for karl.
41817
41818 2008-01-29  Jim Meyering  <meyering@redhat.com>
41819
41820         vasnprintf.c: Avoid warning about unused label
41821         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
41822         "overflow" label definition and associated code with the
41823         same cpp condition that guards the sole use of that label.
41824
41825 2008-01-26  Bruno Haible  <bruno@clisp.org>
41826
41827         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
41828         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
41829         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
41830         * lib/isnanl-nolibm.h (isnanl): Likewise.
41831         Reported by Paul Eggert <eggert@cs.ucla.edu>.
41832
41833 2008-01-26  Bruno Haible  <bruno@clisp.org>
41834
41835         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
41836         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
41837
41838 2008-01-26  Bruno Haible  <bruno@clisp.org>
41839
41840         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
41841         GCC >= 4.0 built-in.
41842         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
41843
41844 2008-01-26  Bruno Haible  <bruno@clisp.org>
41845
41846         Rename isnan, applicable to 'double' only, to isnand.
41847         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
41848         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
41849         (configure.ac): Update.
41850         (Include): Replace "isnan.h" with "isnand.h".
41851         * m4/isnand.m4: Renamed from m4/isnan.m4.
41852         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
41853         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
41854         instead of isnan.c.
41855         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
41856         instead of HAVE_ISNAN_IN_LIBC.
41857         (isnand): Renamed from isnan.
41858         * lib/isnand.c: New file.
41859         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
41860         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
41861         (Makefile.am): Update.
41862         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
41863         Include isnand.h instead of isnan.h.
41864         (main): Test isnand instead of isnan.
41865         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
41866         isnan-nolibm.
41867         * modules/frexp (Depends-on): Likewise.
41868         * modules/frexp-tests (Depends-on): Likewise.
41869         * modules/frexp-nolibm (Depends-on): Likewise.
41870         * modules/frexp-nolibm-tests (Depends-on): Likewise.
41871         * modules/isfinite (Depends-on): Likewise.
41872         * modules/round-tests (Depends-on): Likewise.
41873         * modules/signbit (Depends-on): Likewise.
41874         * modules/signbit-tests (Depends-on): Likewise.
41875         * modules/snprintf-posix (Depends-on): Likewise.
41876         * modules/sprintf-posix (Depends-on): Likewise.
41877         * modules/trunc-tests (Depends-on): Likewise.
41878         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41879         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41880         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41881         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41882         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41883         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41884         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41885         * modules/vasnprintf-posix (Depends-on): Likewise.
41886         * modules/vasprintf-posix (Depends-on): Likewise.
41887         * modules/vfprintf-posix (Depends-on): Likewise.
41888         * modules/vsnprintf-posix (Depends-on): Likewise.
41889         * modules/vsprintf-posix (Depends-on): Likewise.
41890         * lib/frexp.c: Include isnand.h instead of isnan.h.
41891         (ISNAN): Set to isnand instead of isnan.
41892         * lib/isfinite.c: Include isnand.h instead of isnan.h.
41893         (gl_isfinited): Use isnand instead of isnan.
41894         * lib/signbitd.c: Include isnand.h instead of isnan.h.
41895         (gl_signbitd): Use isnand instead of isnan.
41896         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
41897         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
41898         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
41899         (main): Use isnand instead of isnan.
41900         * tests/test-round1.c: Include isnand.h.
41901         (main): Use isnand instead of isnan.
41902         * tests/test-round2.c: Include isnand.h instead of isnan.h.
41903         (ISNAN): Set to isnand instead of isnan.
41904         * tests/test-trunc1.c: Include isnand.h.
41905         (main): Use isnand instead of isnan.
41906         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
41907         (equal): Use isnand instead of isnan.
41908         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
41909         isnand-nolibm.
41910         * NEWS: Mention the change.
41911
41912 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
41913             Bruno Haible  <bruno@clisp.org>
41914
41915         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
41916         the GCC builtins for signbits are present and set
41917         REPLACE_SIGNBIT_USING_GCC if so.
41918         * lib/math.in.h (signbit): Define using GCC builtins if
41919         REPLACE_SIGNBIT_USING_GCC is set.
41920         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
41921         REPLACE_SIGNBIT_USING_GCC.
41922         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
41923
41924 2008-01-25  Jim Meyering  <meyering@redhat.com>
41925
41926         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
41927         * lib/poll.c: Include <config.h>, not "config.h".
41928         * tests/test-getaddrinfo.c: Likewise.
41929
41930 2008-01-25  Simon Josefsson  <simon@josefsson.org>
41931
41932         * modules/sockets-tests: New file.
41933
41934 2008-01-24  Simon Josefsson  <simon@josefsson.org>
41935
41936         * modules/sockets: New module, can be used to call WSA_Startup and
41937         WSA_Cleanup when needed.
41938
41939         * lib/sockets.h, lib/sockets.c: New files.
41940
41941         * m4/sockets.m4: New file.
41942
41943         * tests/test-sockets.c: New file.
41944
41945 2008-01-19  Bruno Haible  <bruno@clisp.org>
41946
41947         * doc/posix-headers: Renamed from doc/headers.
41948         * doc/posix-functions: Renamed from doc/functions.
41949         * doc/gnulib.texi: Update.
41950
41951 2008-01-19  Bruno Haible  <bruno@clisp.org>
41952
41953         * doc/glibc-functions/strcasestr.texi: Include contents of
41954         doc/functions/strcasestr.texi, fixing the list of platforms.
41955         * doc/functions/strcasestr.texi: Remove file.
41956
41957 2008-01-19  Bruno Haible  <bruno@clisp.org>
41958
41959         * doc/glibc-functions/memmem.texi: Include contents of
41960         doc/functions/memmem.texi.
41961         * doc/functions/memmem.texi: Remove file.
41962
41963 2008-01-18  Bruno Haible  <bruno@clisp.org>
41964
41965         * doc/glibc-functions/*.texi: New files.
41966         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
41967         to use the new files.
41968
41969 2008-01-17  Bruno Haible  <bruno@clisp.org>
41970
41971         * tests/test-gethostname.c (main): Fix printf statement.
41972
41973 2008-01-17  Simon Josefsson  <simon@josefsson.org>
41974
41975         * modules/gethostname-tests: New file.
41976
41977         * tests/test-gethostname.c: New file.
41978
41979 2008-01-17  Simon Josefsson  <simon@josefsson.org>
41980
41981         * lib/gethostname.c: Include string.h unconditionally, strncpy is
41982         used by the UNAME case.  Reported by Bruno Haible
41983         <bruno@clisp.org>.
41984
41985 2008-01-17  Eric Blake  <ebb9@byu.net>
41986
41987         Convert c-strcasestr to be more efficient.
41988         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
41989         (Depends-on): Add c-strcase, remove malloca, strnlen.
41990         * tests/test-c-strcasestr.c (main): Enhance test.
41991         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
41992
41993 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
41994
41995         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
41996         Use it in creating po/Makevars.
41997
41998 2008-01-15  Simon Josefsson  <simon@josefsson.org>
41999
42000         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
42001         Applications that requires it should initialize libgcrypt
42002         manually.
42003
42004 2008-01-16  Simon Josefsson  <simon@josefsson.org>
42005
42006         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
42007
42008 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
42009
42010         Fix problem with getdate on mingw32 reported by Simon Josefsson
42011         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
42012         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
42013         tzname", when deciding whether to declare tzname.
42014         * lib/strftime.c (tzname): Likewise.
42015
42016 2008-01-15  Bruno Haible  <bruno@clisp.org>
42017
42018         Work around a MacOS X 10.5 bug in frexpl().
42019         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
42020         * doc/functions/frexpl.texi: Document the bug.
42021         Reported by Elias Pipping <pipping@gentoo.org>.
42022
42023 2008-01-14  Eric Blake  <ebb9@byu.net>
42024
42025         Touch up previous patch.
42026         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
42027         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
42028
42029         Convert strcasestr module to use Two-Way algorithm.
42030         * modules/strcasestr-simple: New module, based on the old
42031         strcasestr, but with Two-Way rather than KMP.
42032         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
42033         * lib/string.in.h (rpl_strcasestr): Declare.
42034         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
42035         performance.
42036         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
42037         * modules/string (Makefile.am): Support strcasestr.
42038         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42039         * modules/strcasestr-tests (Depends-on): Check for alarm.
42040         * tests/test-strcasestr.c: Augment test.
42041         * lib/str-two-way.h: Clean up stray macro.
42042         * NEWS: Document new module.
42043         * MODULES.html.sh (string handling): Likewise.
42044         * doc/functions/strcasestr.texi: New file.
42045         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
42046         here, since it is not a POSIX function.
42047
42048 2008-01-14  Colin Watson  <cjwatson@debian.org>
42049             Bruno Haible  <bruno@clisp.org>
42050
42051         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
42052         works fine; if not, set REPLACE_STRSIGNAL.
42053         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
42054         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42055         REPLACE_STRSIGNAL.
42056         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
42057         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
42058         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
42059
42060 2008-01-14  Bruno Haible  <bruno@clisp.org>
42061
42062         * modules/strsignal (Include): Change to <string.h>.
42063
42064 2008-01-14  Colin Watson  <cjwatson@debian.org>
42065
42066         * modules/argp (Notice): Add a notice recommending to change
42067         XGETTEXT_OPTIONS.
42068         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
42069
42070 2008-01-13  Colin Watson  <cjwatson@debian.org>
42071
42072         * modules/strsignal-tests: New file.
42073         * tests/test-strsignal.c: New file.
42074
42075         * lib/strsignal.c: New file, from glibc with modifications.
42076         * lib/siglist.h: New file, from glibc with modifications.
42077         * lib/string.in.h (strsignal): New declaration.
42078         * m4/strsignal.m4: New file.
42079         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42080         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
42081         * modules/strsignal: New file.
42082         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
42083         HAVE_DECL_STRSIGNAL.
42084
42085 2008-01-13  Bruno Haible  <bruno@clisp.org>
42086
42087         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
42088         locale encoding is not ASCII. Needed for OpenBSD 4.0.
42089         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42090         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42091
42092 2008-01-13  Bruno Haible  <bruno@clisp.org>
42093
42094         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
42095         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
42096         * lib/argp.h (__attribute__): Likewise.
42097         * lib/c-stack.c (__attribute__): Likewise.
42098         * lib/error.h (__attribute__): Likewise.
42099         * lib/fts.c (__attribute__): Likewise.
42100         * lib/openat.h (__attribute__): Likewise.
42101         * lib/stdio.in.h (__attribute__): Likewise.
42102         * lib/string.in.h (__attribute__): Likewise.
42103         * lib/utimens.c (__attribute__): Likewise.
42104         * lib/vasnprintf.h (__attribute__): Likewise.
42105         * lib/xalloc.h (__attribute__): Likewise.
42106         * lib/xprintf.h (__attribute__): Likewise.
42107         * lib/xstrtol.h (__attribute__): Likewise.
42108         * lib/xvasprintf.h (__attribute__): Likewise.
42109
42110 2008-01-12  Bruno Haible  <bruno@clisp.org>
42111
42112         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
42113         * doc/glibc-headers/a.out.texi: New file.
42114         * doc/glibc-headers/aliases.texi: New file.
42115         * doc/glibc-headers/alloca.texi: New file.
42116         * doc/glibc-headers/ar.texi: New file.
42117         * doc/glibc-headers/argp.texi: New file.
42118         * doc/glibc-headers/argz.texi: New file.
42119         * doc/glibc-headers/byteswap.texi: New file.
42120         * doc/glibc-headers/crypt.texi: New file.
42121         * doc/glibc-headers/endian.texi: New file.
42122         * doc/glibc-headers/envz.texi: New file.
42123         * doc/glibc-headers/err.texi: New file.
42124         * doc/glibc-headers/error.texi: New file.
42125         * doc/glibc-headers/execinfo.texi: New file.
42126         * doc/glibc-headers/fpu_control.texi: New file.
42127         * doc/glibc-headers/fstab.texi: New file.
42128         * doc/glibc-headers/fts.texi: New file.
42129         * doc/glibc-headers/getopt.texi: New file.
42130         * doc/glibc-headers/ieee754.texi: New file.
42131         * doc/glibc-headers/ifaddrs.texi: New file.
42132         * doc/glibc-headers/libintl.texi: New file.
42133         * doc/glibc-headers/mcheck.texi: New file.
42134         * doc/glibc-headers/mntent.texi: New file.
42135         * doc/glibc-headers/obstack.texi: New file.
42136         * doc/glibc-headers/paths.texi: New file.
42137         * doc/glibc-headers/printf.texi: New file.
42138         * doc/glibc-headers/pty.texi: New file.
42139         * doc/glibc-headers/resolv.texi: New file.
42140         * doc/glibc-headers/shadow.texi: New file.
42141         * doc/glibc-headers/sysexits.texi: New file.
42142         * doc/glibc-headers/ttyent.texi: New file.
42143
42144 2008-01-12  Jim Meyering  <meyering@redhat.com>
42145
42146         announce-gen: emit Gnulib's git-based version string.
42147         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
42148         New option --gnulib-version=V, where V is expected to be
42149         the output of running git describe in the gnulib directory.
42150         (get_tool_versions): Request feedback on xdelta.  I suspect it's
42151         not useful, and plan to stop publishing an xdelta file with each
42152         coreutils release.
42153
42154         * build-aux/announce-gen: Also check for lzma-compressed files.
42155
42156 2008-01-11  Bruno Haible  <bruno@clisp.org>
42157
42158         * tests/test-memmem.c (main): Increase maximum allowed time.
42159         * tests/test-strstr.c (main): Likewise.
42160
42161 2008-01-11  Bruno Haible  <bruno@clisp.org>
42162
42163         * doc/functions/memmem.texi: Add more precisions about platforms.
42164         * doc/functions/strstr.texi: Likewise.
42165
42166 2008-01-10  Eric Blake  <ebb9@byu.net>
42167
42168         * m4/strstr.m4: Delete cruft from copy-n-paste.
42169         Reported by Bruno Haible.
42170
42171 2008-01-10  Bruno Haible  <bruno@clisp.org>
42172
42173         Make c-strstr rely on strstr.
42174         * lib/c-strstr.c: Don't include str-kmp.h.
42175         (c_strstr): Define in terms of strstr.
42176         * modules/c-strstr (Files): Remove lib/str-kmp.h.
42177         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
42178
42179 2008-01-10  Bruno Haible  <bruno@clisp.org>
42180
42181         * doc/gnulib.texi (String Functions in C Locale): New section.
42182         * doc/c-ctype.texi: New file.
42183         * doc/c-strcase.texi: New file.
42184         * doc/c-strcaseeq.texi: New file.
42185         * doc/c-strcasestr.texi: New file.
42186         * doc/c-strstr.texi: New file.
42187         * doc/c-strtod.texi: New file.
42188         * doc/c-strtold.texi: New file.
42189
42190 2008-01-10  Eric Blake  <ebb9@byu.net>
42191
42192         * lib/relocatable.h: Fix a comment.
42193
42194 2008-01-10  Eric Blake  <ebb9@byu.net>
42195
42196         Share two-way algorithm.
42197         * lib/str-two-way.h: New file, merged from...
42198         * lib/memmem.c: ...here...
42199         * lib/strstr.c: ...and here.
42200         * modules/memmem (Files): Use it.
42201         * modules/strstr (Files): Likewise.
42202
42203         Avoid quadratic strstr implementations.
42204         * lib/strstr.c: New file.
42205         * m4/strstr.m4: Likewise.
42206         * modules/strstr: Likewise.
42207         * modules/strstr-tests: Likewise.
42208         * tests/test-strstr.c: Likewise.
42209         * lib/string.in.h (rpl_strstr): Declare.
42210         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
42211         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
42212         * modules/string (Makefile.am): Likewise.
42213         * MODULES.html.sh (string handling): Mention new module.
42214         * doc/functions/strstr.texi (strstr): Document the bug.
42215
42216 2008-01-10  Bruno Haible  <bruno@clisp.org>
42217
42218         * lib/relocatable.h (relocate): State whether result is freshly
42219         allocated or not.
42220         * lib/relocatable.c (relocate): Return a freshly allocated string
42221         instead of a pointer to a privately held string.
42222         Reported by Sylvain Beucler <beuc@gnu.org>.
42223
42224 2008-01-10  Colin Watson  <cjwatson@debian.org>
42225
42226         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
42227         s/S_ISNLK/S_ISLNK/.
42228
42229 2008-01-09  Bruno Haible  <bruno@clisp.org>
42230
42231         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
42232         and other files.
42233         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
42234         if it's only a guess.
42235         * modules/memmem: Simplify by depending on memmem-simple.
42236
42237 2008-01-09  Bruno Haible  <bruno@clisp.org>
42238
42239         Work around OpenBSD 4.0 tdelete() bug.
42240         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
42241         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
42242         macros and don't redefine the enum values.
42243         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
42244         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
42245         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
42246
42247 2008-01-09  Bruno Haible  <bruno@clisp.org>
42248
42249         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
42250         (main): Don't perform the tests if setlocale did not install a UTF-8
42251         locale. Needed on OpenBSD 4.0.
42252         * modules/wcwidth-tests (Depends-on): Add localcharset.
42253
42254 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
42255
42256         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
42257         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
42258         * NEWS: announce this.
42259         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
42260
42261 2008-01-09  Simon Josefsson  <simon@josefsson.org>
42262         and Eric Blake  <ebb9@byu.net>
42263
42264         Add memmem-simple module.
42265         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
42266         (gl_FUNC_MEMMEM): Separate performance from presence checks.
42267         * modules/memmem-simple: New file.
42268         * modules/memmem (Description): Tweak.
42269         * MODULES.html.sh (string handling): Mention new module.
42270         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
42271         addressed by memmem-simple.
42272         * NEWS: Document the difference.
42273
42274 2008-01-09  Eric Blake  <ebb9@byu.net>
42275
42276         Give gcc some memmem optimization hints.
42277         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
42278         (strcasestr): Declare as pure.
42279         * modules/memmem (Maintainer): Claim my implementation.
42280
42281 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42282
42283         Support AIX 6.1 and higher.
42284         * build-aux/config.libpath: Likewise.
42285         * build-aux/config.rpath: Likewise.
42286
42287 2008-01-08  Jim Meyering  <meyering@redhat.com>
42288             Bruno Haible  <bruno@clisp.org>
42289
42290         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
42291         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
42292         Reported by Peter Fales in
42293         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
42294
42295 2008-01-08  Bruno Haible  <bruno@clisp.org>
42296
42297         * modules/unictype/category-of (Depends-on): Add
42298         unictype/category-none.
42299         * modules/unictype/category-and-tests (Depends-on): Add
42300         unictype/category-{L,N,Lu,Nd}.
42301         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
42302         * modules/unictype/category-or-tests (Depends-on): Add
42303         unictype/category-{L,N}.
42304         * modules/unictype/category-name-tests (Depends-on): Add
42305         unictype/category-{Z,Nl}.
42306         Reported by Simon Josefsson.
42307
42308 2008-01-08  Bruno Haible  <bruno@clisp.org>
42309
42310         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
42311         convention better.
42312         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
42313         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
42314         Reported by Peter Miller <millerp@canb.auug.org.au>.
42315
42316 2008-01-08  Eric Blake  <ebb9@byu.net>
42317
42318         Rewrite memmem to guarantee linear complexity without malloc.
42319         * lib/memmem.c (memmem): Use Two-Way rather than
42320         Knuth-Morris-Pratt, to allow O(1) space usage.
42321         (critical_factorization, two_way_short_needle)
42322         (two_way_long_needle): New functions.
42323         (knuth_morris_pratt): Delete.
42324         * modules/memmem (Depends-on): No longer need malloca or stdbool.
42325         Add stdint.
42326         * tests/test-memmem.c (main): Add tests for periodic needle and
42327         sublinear performance.
42328         * doc/functions/memmem.texi (memmem): Document other deficiencies
42329         in cygwin and older glibc.
42330
42331 2008-01-08  Bruno Haible  <bruno@clisp.org>
42332
42333         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
42334         augmentation.
42335
42336 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
42337
42338         Add a configure time option: --disable-acl.
42339         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
42340         AC_ARG_ENABLE(acl).
42341
42342 2008-01-06  Simon Josefsson  <simon@josefsson.org>
42343
42344         * tests/test-localename.c: Don't include obsolete "setenv.h".
42345
42346         * modules/localename-tests (Depends-on): Need unsetenv.
42347
42348 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42349
42350         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
42351
42352 2008-01-06  Colin Watson  <cjwatson@debian.org>
42353
42354         * users.txt: Add man-db.
42355
42356 2008-01-07  Bruno Haible  <bruno@clisp.org>
42357
42358         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
42359         previous section name.
42360
42361 2008-01-07  Bruno Haible  <bruno@clisp.org>
42362
42363         * lib/progname.c (set_program_name): Don't strip off a leading
42364         "lt-" prefix outside a .libs directory.
42365         Suggested by Paul Eggert.
42366
42367 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
42368             Bruno Haible  <bruno@clisp.org>
42369
42370         Improve memory cleanup in 'relocatable' module.
42371         * lib/relocatable.h (compute_curr_prefix): Change return type to
42372         'char *'.
42373         * lib/relocatable.c (compute_curr_prefix): Change return type to
42374         'char *'. Free curr_installdir after use.
42375         (relocate): Free curr_prefix_better after use.
42376         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
42377
42378 2008-01-01  Bruno Haible  <bruno@clisp.org>
42379
42380         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
42381         failure on older glibc systems.
42382         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42383
42384 2008-01-05  Eric Blake  <ebb9@byu.net>
42385
42386         Avoid quadratic system memmem.
42387         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
42388         Reported by Ralf Wildenhues.
42389
42390         Fix memmem test for mingw.
42391         * modules/memmem-tests (configure.ac): Check for alarm.
42392         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
42393         it.
42394         * doc/functions/memmem.texi: New file.
42395         * doc/gnulib.texi (Function Substitutes): Add memmem.
42396         Reported by Bruno Haible.
42397
42398 2008-01-04  Bruno Haible  <bruno@clisp.org>
42399
42400         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
42401         Require gl_HEADER_STRINGS_H_DEFAULTS, not
42402         gl_HEADER_STRING_H_DEFAULTS.
42403
42404 2008-01-04  Eric Blake  <ebb9@byu.net>
42405
42406         Shorten duration of memmem test.
42407         * tests/test-memmem.c (main): Use alarm to declare failure if test
42408         is taking too long.
42409         Reported by Ralf Wildenhues.
42410
42411 2007-12-21  Simon Josefsson  <simon@josefsson.org>
42412
42413         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
42414         string, needed by strerror.
42415
42416 2008-01-03  Colin Watson  <cjwatson@debian.org>
42417             Bruno Haible  <bruno@clisp.org>
42418
42419         * doc/gnulib-tool.texi (Localization): New section.
42420
42421 2008-01-02  Bruno Haible  <bruno@clisp.org>
42422
42423         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
42424         variables to 'unsigned char *' type.
42425         Reported by Paul Eggert.
42426
42427 2008-01-02  Jim Meyering  <jim@meyering.net>
42428
42429         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
42430
42431 2007-12-31  Jim Meyering  <jim@meyering.net>
42432
42433         Avoid use of private FTS type name.
42434         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
42435
42436 2007-12-30  Karl Berry  <karl@gnu.org>
42437
42438         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
42439         work around defect in Texinfo and/or the standalone Info browser.
42440
42441 2007-12-30  Bruno Haible  <bruno@clisp.org>
42442
42443         Unify 5 copies of the KMP code.
42444         * lib/str-kmp.h: New file.
42445         * lib/c-strcasestr.c: Include str-kmp.h.
42446         (knuth_morris_pratt): Remove function.
42447         (c_strcasestr): Update.
42448         * lib/c-strstr.c: Include str-kmp.h.
42449         (knuth_morris_pratt): Remove function.
42450         (c_strcasestr): Update.
42451         * lib/mbscasestr.c: Include str-kmp.h.
42452         (knuth_morris_pratt_unibyte): Remove function.
42453         * lib/mbsstr.c: Include str-kmp.h.
42454         (knuth_morris_pratt_unibyte): Remove function.
42455         * lib/strcasestr.c: Include str-kmp.h.
42456         (knuth_morris_pratt): Remove function.
42457         (strcasestr): Update.
42458         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
42459         * modules/c-strstr (Files): Likewise.
42460         * modules/mbscasestr (Files): Likewise.
42461         * modules/mbsstr (Files): Likewise.
42462         * modules/strcasestr (Files): Likewise.
42463         Suggested by Paul Eggert.
42464
42465 2007-12-30  Bruno Haible  <bruno@clisp.org>
42466
42467         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
42468         defined.
42469
42470 2007-12-30  Bruno Haible  <bruno@clisp.org>
42471
42472         * lib/xmalloca.h: Include xalloc.h.
42473         (xnmalloca): New macro.
42474
42475 2007-12-30  Bruno Haible  <bruno@clisp.org>
42476
42477         * lib/malloca.h (nmalloca): New macro.
42478         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
42479         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
42480         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
42481         knuth_morris_pratt_multibyte): Likewise.
42482         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
42483         knuth_morris_pratt_multibyte): Likewise.
42484         * lib/memmem.c (knuth_morris_pratt): Likewise.
42485         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
42486
42487 2007-12-25  Bruno Haible  <bruno@clisp.org>
42488
42489         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
42490         * lib/glob.c: Don't include openat.h.
42491         (link_exists2_p): Add back the code that deals with the
42492         !GLOB_ALTDIRFUNC case.
42493         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
42494         let it do the filename concatenation.
42495         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
42496         * modules/glob (Depends-on): Remove openat.
42497
42498 2007-12-31  Bruno Haible  <bruno@clisp.org>
42499
42500         * modules/dirfd (License): Change to LGPLv2+.
42501         Approved by Jim Meyering.
42502
42503 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
42504
42505         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
42506         when multiplying M by sizeof (size_t).
42507
42508 2007-12-10  Martin Lambers  <marlam@marlam.de>
42509
42510         Override getpagesize on mingw.
42511         * lib/getpagesize.c: New file.
42512         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
42513         * modules/getpagesize (Files): Add lib/getpagesize.c.
42514         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
42515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42516         REPLACE_GETPAGESIZE.
42517         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
42518
42519 2007-12-25  Bruno Haible  <bruno@clisp.org>
42520
42521         * modules/localcharset (Notice): New field.
42522         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
42523         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
42524
42525 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
42526             Bruno Haible  <bruno@clisp.org>
42527
42528         Avoid using the syntax symbol() in formatted documentation.
42529         * MODULES.html.sh (func_module): When replacing symbol() with a
42530         hyperlink, remove the parentheses. Show an error if some remain.
42531         Recognize and render the '...' syntax.
42532         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
42533         Rework. Add paragraph about GCC's inlining.
42534         * doc/alloca.texi: Likewise.
42535         * doc/error.texi: Remove parentheses from symbol reference.
42536         * doc/gnulib-intro.texi: Likewise.
42537         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
42538         * modules/fnmatch (Description): Reword to say "the ... function".
42539         * modules/full-read (Description): Likewise.
42540         * modules/full-write (Description): Likewise.
42541         * modules/safe-read (Description): Likewise.
42542         * modules/safe-write (Description): Likewise.
42543         * modules/strchrnul (Description): Likewise.
42544         * modules/trim (Description): Likewise.
42545         * modules/error (Description): Remove parentheses from symbol
42546         references.
42547         * modules/verror (Description): Likewise.
42548         Reported by Karl Berry.
42549
42550 2007-12-25  Bruno Haible  <bruno@clisp.org>
42551
42552         Fixup after 2007-10-16 commit.
42553         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
42554
42555 2007-12-24  Bruno Haible  <bruno@clisp.org>
42556
42557         Make --enable-relocatable work with DESTDIR.
42558         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
42559         to compute installdir from destprog.
42560         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
42561         also set the RELOC_DESTDIR variable.
42562         Reported by Левашев Иван <octagram@bluebottle.com>.
42563
42564 2007-12-24  Bruno Haible  <bruno@clisp.org>
42565
42566         Fix link error due to xalloc_die().
42567         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
42568         of xreadlink.
42569         * lib/relocwrapper.c: Update comments.
42570         * build-aux/install-reloc: Remove xreadlink.c from file list.
42571         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
42572         xreadlink.c.
42573         Reported by Левашев Иван <octagram@bluebottle.com>.
42574
42575 2007-12-24  Bruno Haible  <bruno@clisp.org>
42576
42577         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
42578         * lib/setenv.h: Remove file.
42579         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
42580         lib/setenv.h.
42581         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
42582         (Depends-on): Add stdlib.
42583         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
42584         gl_FUNC_UNSETENV.
42585         (Include): Replace setenv.h with <stdlib.h>.
42586         * modules/unsetenv: New file.
42587         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
42588         * lib/unsetenv.c: Include <stdlib.h> first.
42589         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
42590         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
42591         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
42592         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
42593         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
42594         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42595         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
42596         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42597         * doc/functions/unsetenv.texi: Update.
42598         * modules/xsetenv (Depends-on): Add unsetenv.
42599         * modules/getdate (Depends-on): Likewise.
42600         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
42601         * lib/xsetenv.c: Don't include setenv.h.
42602         * lib/getdate.y: Likewise.
42603         * lib/relocwrapper.c: Likewise.
42604         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
42605         (Depends-on): Add stdlib.
42606         * NEWS: Mention the changes.
42607         Reported by Левашев Иван <octagram@bluebottle.com>.
42608
42609 2007-12-23  Bruno Haible  <bruno@clisp.org>
42610
42611         * lib/memmem.c (memmem): Use lowercase variable names. Tab
42612         indentation.
42613
42614 2007-12-23  Bruno Haible  <bruno@clisp.org>
42615
42616         * lib/c-strcasestr.c: Add more comments.
42617         * lib/c-strstr.c: Likewise.
42618         * lib/mbscasestr.c: Likewise.
42619         * lib/mbsstr.c: Likewise.
42620         * lib/strcasestr.c: Likewise.
42621         * lib/memmem.c: Likewise.
42622
42623 2007-12-23  Bruno Haible  <bruno@clisp.org>
42624
42625         * tests/test-memmem.c: Include <string.h> first.
42626
42627 2007-12-22  Bruno Haible  <bruno@clisp.org>
42628
42629         * gnulib-tool (func_create_testdir): Change $auxdir while generating
42630         the contents of $testsbase.
42631         Reported by Ralf Wildenhues.
42632
42633 2007-12-22  Bruno Haible  <bruno@clisp.org>
42634
42635         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
42636         two variables local_ldadd_before, local_ldadd_last.
42637
42638 2007-12-20  Eric Blake  <ebb9@byu.net>
42639
42640         Work around circular library issue when cross-compiling.
42641         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
42642         that progname.o does not need to pull in rpl_memcmp.
42643
42644 2007-12-19  Eric Blake  <ebb9@byu.net>
42645
42646         Fix memmem to avoid O(n^2) worst-case complexity.
42647         * lib/memmem.c (knuth_morris_pratt): New function.
42648         (memmem): Use it if first few naive iterations fail.
42649         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
42650         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
42651         * modules/memchr (License): Likewise.
42652         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
42653         malloca.
42654         * tests/test-memmem.c: Rewrite, borrowing ideas from
42655         test-mbsstr1.c; the old version wouldn't even compile!
42656         * modules/memmem-tests: New file.
42657         * lib/string.in.h (rpl_memmem): Add declaration.
42658         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
42659         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
42660         REPLACE_MEMMEM.
42661
42662 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42663
42664         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
42665         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
42666         before any system include files, and undef after them all.  This
42667         should fix a problem on VMS reported by John E. Malmberg in
42668         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
42669
42670 2007-12-17  Eric Blake  <ebb9@byu.net>
42671
42672         Revert addition of verify, for BSD/OS.
42673         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
42674         can't handle large files, for the sake of obsolete platforms.
42675         * modules/fseeko (Depends-on): Remove verify.
42676         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
42677         * doc/functions/ftello.texi (ftello): Likewise.
42678         * doc/functions/fgetpos.texi (fgetpos): Likewise.
42679         Reported by Larry Jones.
42680
42681 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
42682
42683         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
42684         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
42685
42686 2007-12-17  Jim Meyering  <meyering@redhat.com>
42687
42688         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
42689         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
42690         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
42691         * modules/getcwd (Depends-on): Add openat.
42692         Reported by Petr Salinger.
42693
42694 2007-12-17  Bruno Haible  <bruno@clisp.org>
42695
42696         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
42697         avoid a segmentation fault of the configure test on x86_64 systems.
42698
42699 2007-12-15  Jim Meyering  <meyering@redhat.com>
42700
42701         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
42702
42703 2007-12-13  Eric Blake  <ebb9@byu.net>
42704
42705         Another fseek test.
42706         * tests/test-fseek.c (main): Also test ungetc handling.
42707         * tests/test-fseeko.c (main): Likewise.
42708         * modules/fseeko (Depends-on): Add verify.
42709         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
42710         large.
42711         Reported by Larry Jones.
42712
42713         Fix fseeko on mingw.
42714         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
42715         seek.
42716
42717         Beef up fseek tests.
42718         * tests/test-fseek.c (main): Also test eof handling.
42719         * tests/test-fseeko.c (main): Likewise.
42720         Reported by Larry Jones.
42721
42722 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
42723
42724         Fix fseeko on BSD-based platforms.
42725         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
42726         successful seek.
42727
42728 2007-12-12  Eric Blake  <ebb9@byu.net>
42729
42730         Allow circular dependency of separate libtests.a
42731         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
42732         when use_libtests.
42733
42734 2007-12-11  Eric Blake  <ebb9@byu.net>
42735
42736         Fix bug with -0.0L in previous patch.
42737         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
42738         * tests/test-isnan.c (main): Also test on zeroes.
42739         * tests/test-isnanf.c (main): Likewise.
42740         * tests/test-isnanl.h (main): Likewise.
42741
42742         Detect pseudo-denormals on x86 even when cross-compiling.
42743         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
42744         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
42745         invalid bit patterns that happen to satisfy ==.
42746
42747         Avoid link failures with separate libtests.a.
42748         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
42749         last, to satisfy circular dependencies.
42750
42751 2007-12-11  Eric Blake  <ebb9@byu.net>
42752         and Bruno Haible  <bruno@clisp.org>
42753
42754         Fix OpenBSD 4.0 <float.h> handling of long double.
42755         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
42756         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
42757         * doc/headers/float.texi (float.h): Document OpenBSD bug.
42758
42759 2007-12-11  Jim Meyering  <meyering@redhat.com>
42760
42761         * users.txt: Add libvirt.
42762
42763         Support versions of autoconf prior to 2.59c.
42764         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
42765         if it is not already defined.
42766
42767 2007-12-09  Bruno Haible  <bruno@clisp.org>
42768
42769         Let 'gnulib-tool --import' collect sources needed for the tests in
42770         tests/ rather than in lib/.
42771         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
42772         argument. If true, add rules to generate libtests.a, and put libtests.a
42773         into $(LDADD). Consider source files in subdirectories and set
42774         uses_subdirs.
42775         (func_emit_initmacro_start, func_emit_initmacro_end,
42776         func_emit_initmacro_done): Pass all arguments explicitly.
42777         (func_import): Determine two module lists main_modules,
42778         testsrelated_modules. Determine use_libtests. Determine two variables
42779         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
42780         instead of just sed_transform_lib_file. Determine two variables
42781         main_files and testsrelated_files. Compute 'files' as the union of
42782         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
42783         func_add_or_update. In the generated gnulib-comp.m4, collect the
42784         object files for tests/ in different variables than those for lib/.
42785         Substitute LIBTESTS_LIBDEPS.
42786         (func_create_testdir): Combine the uses_subdirs results from
42787         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
42788
42789 2007-12-09  Bruno Haible  <bruno@clisp.org>
42790
42791         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
42792         the build-aux directory.
42793
42794 2007-12-09  Bruno Haible  <bruno@clisp.org>
42795
42796         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
42797         introduced on 2006-09-09.
42798
42799 2007-12-07  Jim Meyering  <meyering@redhat.com>
42800
42801         Let these macros work also with autoconf-2.59.
42802         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
42803         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
42804         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
42805
42806 2007-12-06  Jim Meyering  <meyering@redhat.com>
42807
42808         Avoid a configure-time syntax error in gl_FUNC_ACL.
42809         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
42810         function in each branch, before testing the cache variable.
42811
42812 2007-12-04  Eric Blake  <ebb9@byu.net>
42813
42814         Make scripts executable.
42815         * build-aux/config.guess: Add execute permissions.
42816         * build-aux/config.sub: Likewise.
42817         * build-aux/gendocs.sh: Likewise.
42818
42819         Fix frexp on mingw.
42820         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
42821         cross-compiling.
42822         * doc/functions/frexp.texi (frexp): Document the bug.
42823
42824         Make cygwin fseeko check more reliable.
42825         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
42826         version numbers, rather than unrelated feature check.
42827         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
42828         * doc/functions/ftello.texi (ftello): Likewise.
42829         Reported by Bruno Haible.
42830
42831         * m4/strerror.m4: Bump version number.
42832
42833 2007-12-03  Bruno Haible  <bruno@clisp.org>
42834
42835         * doc/functions/mprotect.texi: Mention the mingw problem.
42836
42837 2007-12-03  Eric Blake  <ebb9@byu.net>
42838
42839         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
42840         REPLACE_STRERROR is initialized before this macro.
42841
42842 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
42843
42844         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
42845         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
42846         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
42847         put -lsec in even for programs other than 'ls'.  This fixes a problem
42848         for gettext reported by Bruno Haible in
42849         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
42850         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
42851         Add support for Solaris 10.  This isn't efficient, but should get the
42852         job done for now.
42853
42854 2007-12-03  James Youngman  <jay@gnu.org>
42855
42856         * doc/regexprops-generic.texi: change "an close-group" to "a
42857         close-group" and "illegal" to "not allowed".
42858
42859 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42860
42861         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
42862         pr_byname.h. Needed for the rare case when the maintainer has done
42863         "make maintainer-clean" in the source directory and then attempts a
42864         build outside the source directory.
42865         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
42866         scripts_byname.h.
42867
42868 2007-12-02  Martin Lambers <marlam@marlam.de>
42869             Bruno Haible  <bruno@clisp.org>
42870
42871         * lib/getpagesize.h: Remove file.
42872         * lib/unistd.in.h: Include declaration of getpagesize here.
42873         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
42874         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
42875         HAVE_SYS_PARAM_H.
42876         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
42877         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42878         * modules/getpagesize (Files): Remove lib/getpagesize.h.
42879         (Depends-on): Add unistd.
42880         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42881         (Include): Use <unistd.h> instead of getpagesize.h.
42882         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
42883         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42884         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
42885         gl_GETPAGESIZE invocation, already handled by module dependency.
42886         * lib/pagealign_alloc.c: Don't include getpagesize.h.
42887
42888 2007-12-02  Bruno Haible  <bruno@clisp.org>
42889
42890         * modules/strings-tests: New file.
42891         * tests/test-strings.c: New file.
42892
42893         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
42894         * lib/strings.in.h: New file.
42895         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
42896         * m4/strings_h.m4: New file.
42897         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
42898         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
42899         * modules/strings: New file.
42900         * modules/string (Makefile.am): Update.
42901         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
42902         Reported by Karl Berry.
42903
42904 2007-12-01  Eric Blake  <ebb9@byu.net>
42905
42906         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
42907         accomodate fix in cygwin 1.5.25.
42908
42909 2007-12-01  Jim Meyering  <meyering@redhat.com>
42910
42911         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
42912         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
42913         that would inhibit utf8-optimization of a regexp containing line-
42914         or buffer-anchors, e.g., `^', `$'.
42915
42916 2007-11-30  Bruno Haible  <bruno@clisp.org>
42917
42918         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
42919         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
42920         glthread_recursive_lock_init.
42921         * lib/lock.c (glthread_recursive_lock_init)
42922         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
42923         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42924
42925 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
42926
42927         New function qset_acl, like set_acl but with syscall semantics.
42928         * lib/acl.h (qset_acl): New decl.
42929         * lib/acl.c (qset_acl): New function.
42930         (set_acl): Use new function.  Use more-consistent diagnostics.
42931
42932 2007-11-28  Jim Meyering  <meyering@redhat.com>
42933
42934         * modules/physmem (License): Change from GPL to LGPLv2+.
42935
42936 2007-11-26  Bruno Haible  <bruno@clisp.org>
42937
42938         * lib/vasnprintf.c (decode_long_double): Don't abort if the
42939         'long double' type has excess precision.
42940         Reported by Jim Meyering in
42941         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
42942
42943 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42944
42945         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
42946         Sync from <http://gnu.org/licenses>.
42947         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
42948         with license text from same location.
42949         * doc/maintain.texi, doc/standards.texi:  Sync from
42950         <http://savannah.gnu.org/projects/gnustandards>.
42951
42952 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
42953         and Jim Meyering  <meyering@redhat.com>
42954
42955         Adjust getdate' grammar to accept a slightly more regular language.
42956         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
42957         Before, the former was rejected.
42958         * lib/getdate.y (digits_to_date_time): New function, factored
42959         out of ...
42960         (number): ...here.  Just call digits_to_date_time.
42961         (hybrid): New non-terminal to handle an <unsigned number,
42962         signed relative offset> sequence consistently.
42963
42964 2007-11-18  Jim Meyering  <meyering@redhat.com>
42965
42966         Pull my changes from coreutils:
42967         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
42968         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
42969         use of $gnulib_tool_option_extras, so that it's separated from the
42970         preceding argument.
42971
42972         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
42973         * build-aux/bootstrap (cp_mark_as_generated): Create any required
42974         parent destination directories before copying a file into place.
42975
42976 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42977
42978         bootstrap: work also with 4-argument variant of AC_INIT
42979         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
42980
42981 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42982
42983         Port test-getaddrinfo to Solaris.
42984         Problem reported by Bruno Haible in
42985         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
42986         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
42987         explanation of setting 'hints'.
42988         Don't reject an implementation merely because it returns EAI_SERVICE.
42989         (EAI_SERVICE): Define to 0 if not defined.
42990
42991 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
42992
42993         The license of gnu-make and posix-shell is now "GPLed build tool".
42994         * modules/gnu-make (License): Likewise.
42995         * modules/posix-shell (License): Likewise.
42996
42997         New module posix-shell, for determining a POSIX shell
42998         or perhaps something that is close enough to a POSIX shell.
42999         * m4/posix-shell.m4: New file.
43000         * modules/posix-shell: New file.
43001
43002         * MODULES.html.sh: Mention new module.
43003
43004         New module gnu-make, for determining whether we're using GNU Make.
43005         * m4/gnu-make.m4: New file.
43006         * modules/gnu-make: New file.
43007         * MODULES.html.sh: Mention new module.
43008
43009 2007-11-14  Jim Meyering  <meyering@redhat.com>
43010
43011         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
43012         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
43013         use this macro to create a function _definition_.
43014         Remove useless "#undef ARGMATCH_DIE".
43015
43016 2007-11-14  Bruno Haible  <bruno@clisp.org>
43017
43018         * lib/config.charset: Update for OpenBSD 4.1.
43019         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
43020
43021 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
43022
43023         Document 64-bit #if problems in stdint.texi.
43024         * doc/headers/stdint.texi (stdint.h): Mention problems with
43025         64-bit-#if, and how to work around them.
43026
43027         Don't insist on 'long long int' support in the preprocessor.  It
43028         breaks too many things.  For example, PRIdMAX still uses a 'long
43029         long int' format with the latest Sun compiler, even though
43030         HAVE_LONG_LONG_INT isn't defined due to that compiler's
43031         preprocessor problem.  This causes the latest coreutils to dump
43032         core on Solaris 10 sparc with the Sun C compiler.
43033         Instead, fix the 2007-10-16 problem in a different way, by evaluating
43034         the troublesome expressions at configure-time, not at #if-time.
43035         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
43036         preprocessor.
43037         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
43038         compile-time C checks, done at 'configure'-time.
43039         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
43040         * modules/inttypes (Makefile): Substitute the new symbols that
43041         gl_INTTYPES_H now generates.
43042         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
43043
43044 2007-11-12  Bruno Haible  <bruno@clisp.org>
43045
43046         Tests for Unicode character classification functions.
43047
43048         * modules/unictype/bidicategory-byname-tests: New file.
43049         * modules/unictype/bidicategory-name-tests: New file.
43050         * modules/unictype/bidicategory-of-tests: New file.
43051         * modules/unictype/bidicategory-test-tests: New file.
43052         * modules/unictype/block-list-tests: New file.
43053         * modules/unictype/block-of-tests: New file.
43054         * modules/unictype/block-test-tests: New file.
43055         * modules/unictype/category-C-tests: New file.
43056         * modules/unictype/category-Cc-tests: New file.
43057         * modules/unictype/category-Cf-tests: New file.
43058         * modules/unictype/category-Cn-tests: New file.
43059         * modules/unictype/category-Co-tests: New file.
43060         * modules/unictype/category-Cs-tests: New file.
43061         * modules/unictype/category-L-tests: New file.
43062         * modules/unictype/category-Ll-tests: New file.
43063         * modules/unictype/category-Lm-tests: New file.
43064         * modules/unictype/category-Lo-tests: New file.
43065         * modules/unictype/category-Lt-tests: New file.
43066         * modules/unictype/category-Lu-tests: New file.
43067         * modules/unictype/category-M-tests: New file.
43068         * modules/unictype/category-Mc-tests: New file.
43069         * modules/unictype/category-Me-tests: New file.
43070         * modules/unictype/category-Mn-tests: New file.
43071         * modules/unictype/category-N-tests: New file.
43072         * modules/unictype/category-Nd-tests: New file.
43073         * modules/unictype/category-Nl-tests: New file.
43074         * modules/unictype/category-No-tests: New file.
43075         * modules/unictype/category-P-tests: New file.
43076         * modules/unictype/category-Pc-tests: New file.
43077         * modules/unictype/category-Pd-tests: New file.
43078         * modules/unictype/category-Pe-tests: New file.
43079         * modules/unictype/category-Pf-tests: New file.
43080         * modules/unictype/category-Pi-tests: New file.
43081         * modules/unictype/category-Po-tests: New file.
43082         * modules/unictype/category-Ps-tests: New file.
43083         * modules/unictype/category-S-tests: New file.
43084         * modules/unictype/category-Sc-tests: New file.
43085         * modules/unictype/category-Sk-tests: New file.
43086         * modules/unictype/category-Sm-tests: New file.
43087         * modules/unictype/category-So-tests: New file.
43088         * modules/unictype/category-Z-tests: New file.
43089         * modules/unictype/category-Zl-tests: New file.
43090         * modules/unictype/category-Zp-tests: New file.
43091         * modules/unictype/category-Zs-tests: New file.
43092         * modules/unictype/category-and-not-tests: New file.
43093         * modules/unictype/category-and-tests: New file.
43094         * modules/unictype/category-byname-tests: New file.
43095         * modules/unictype/category-name-tests: New file.
43096         * modules/unictype/category-none-tests: New file.
43097         * modules/unictype/category-of-tests: New file.
43098         * modules/unictype/category-or-tests: New file.
43099         * modules/unictype/category-test-withtable-tests: New file.
43100         * modules/unictype/combining-class-tests: New file.
43101         * modules/unictype/ctype-alnum-tests: New file.
43102         * modules/unictype/ctype-alpha-tests: New file.
43103         * modules/unictype/ctype-blank-tests: New file.
43104         * modules/unictype/ctype-cntrl-tests: New file.
43105         * modules/unictype/ctype-digit-tests: New file.
43106         * modules/unictype/ctype-graph-tests: New file.
43107         * modules/unictype/ctype-lower-tests: New file.
43108         * modules/unictype/ctype-print-tests: New file.
43109         * modules/unictype/ctype-punct-tests: New file.
43110         * modules/unictype/ctype-space-tests: New file.
43111         * modules/unictype/ctype-upper-tests: New file.
43112         * modules/unictype/ctype-xdigit-tests: New file.
43113         * modules/unictype/decimal-digit-tests: New file.
43114         * modules/unictype/digit-tests: New file.
43115         * modules/unictype/mirror-tests: New file.
43116         * modules/unictype/numeric-tests: New file.
43117         * modules/unictype/property-alphabetic-tests: New file.
43118         * modules/unictype/property-ascii-hex-digit-tests: New file.
43119         * modules/unictype/property-bidi-arabic-digit-tests: New file.
43120         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
43121         * modules/unictype/property-bidi-block-separator-tests: New file.
43122         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
43123         * modules/unictype/property-bidi-common-separator-tests: New file.
43124         * modules/unictype/property-bidi-control-tests: New file.
43125         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
43126         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
43127         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
43128         * modules/unictype/property-bidi-european-digit-tests: New file.
43129         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
43130         * modules/unictype/property-bidi-left-to-right-tests: New file.
43131         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
43132         * modules/unictype/property-bidi-other-neutral-tests: New file.
43133         * modules/unictype/property-bidi-pdf-tests: New file.
43134         * modules/unictype/property-bidi-segment-separator-tests: New file.
43135         * modules/unictype/property-bidi-whitespace-tests: New file.
43136         * modules/unictype/property-byname-tests: New file.
43137         * modules/unictype/property-combining-tests: New file.
43138         * modules/unictype/property-composite-tests: New file.
43139         * modules/unictype/property-currency-symbol-tests: New file.
43140         * modules/unictype/property-dash-tests: New file.
43141         * modules/unictype/property-decimal-digit-tests: New file.
43142         * modules/unictype/property-default-ignorable-code-point-tests: New file.
43143         * modules/unictype/property-deprecated-tests: New file.
43144         * modules/unictype/property-diacritic-tests: New file.
43145         * modules/unictype/property-extender-tests: New file.
43146         * modules/unictype/property-format-control-tests: New file.
43147         * modules/unictype/property-grapheme-base-tests: New file.
43148         * modules/unictype/property-grapheme-extend-tests: New file.
43149         * modules/unictype/property-grapheme-link-tests: New file.
43150         * modules/unictype/property-hex-digit-tests: New file.
43151         * modules/unictype/property-hyphen-tests: New file.
43152         * modules/unictype/property-id-continue-tests: New file.
43153         * modules/unictype/property-id-start-tests: New file.
43154         * modules/unictype/property-ideographic-tests: New file.
43155         * modules/unictype/property-ids-binary-operator-tests: New file.
43156         * modules/unictype/property-ids-trinary-operator-tests: New file.
43157         * modules/unictype/property-ignorable-control-tests: New file.
43158         * modules/unictype/property-iso-control-tests: New file.
43159         * modules/unictype/property-join-control-tests: New file.
43160         * modules/unictype/property-left-of-pair-tests: New file.
43161         * modules/unictype/property-line-separator-tests: New file.
43162         * modules/unictype/property-logical-order-exception-tests: New file.
43163         * modules/unictype/property-lowercase-tests: New file.
43164         * modules/unictype/property-math-tests: New file.
43165         * modules/unictype/property-non-break-tests: New file.
43166         * modules/unictype/property-not-a-character-tests: New file.
43167         * modules/unictype/property-numeric-tests: New file.
43168         * modules/unictype/property-other-alphabetic-tests: New file.
43169         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
43170         * modules/unictype/property-other-grapheme-extend-tests: New file.
43171         * modules/unictype/property-other-id-continue-tests: New file.
43172         * modules/unictype/property-other-id-start-tests: New file.
43173         * modules/unictype/property-other-lowercase-tests: New file.
43174         * modules/unictype/property-other-math-tests: New file.
43175         * modules/unictype/property-other-uppercase-tests: New file.
43176         * modules/unictype/property-paired-punctuation-tests: New file.
43177         * modules/unictype/property-paragraph-separator-tests: New file.
43178         * modules/unictype/property-pattern-syntax-tests: New file.
43179         * modules/unictype/property-pattern-white-space-tests: New file.
43180         * modules/unictype/property-private-use-tests: New file.
43181         * modules/unictype/property-punctuation-tests: New file.
43182         * modules/unictype/property-quotation-mark-tests: New file.
43183         * modules/unictype/property-radical-tests: New file.
43184         * modules/unictype/property-sentence-terminal-tests: New file.
43185         * modules/unictype/property-soft-dotted-tests: New file.
43186         * modules/unictype/property-space-tests: New file.
43187         * modules/unictype/property-terminal-punctuation-tests: New file.
43188         * modules/unictype/property-test-tests: New file.
43189         * modules/unictype/property-titlecase-tests: New file.
43190         * modules/unictype/property-unassigned-code-value-tests: New file.
43191         * modules/unictype/property-unified-ideograph-tests: New file.
43192         * modules/unictype/property-uppercase-tests: New file.
43193         * modules/unictype/property-variation-selector-tests: New file.
43194         * modules/unictype/property-white-space-tests: New file.
43195         * modules/unictype/property-xid-continue-tests: New file.
43196         * modules/unictype/property-xid-start-tests: New file.
43197         * modules/unictype/property-zero-width-tests: New file.
43198         * modules/unictype/scripts-tests: New file.
43199         * modules/unictype/syntax-c-ident-tests: New file.
43200         * modules/unictype/syntax-c-whitespace-tests: New file.
43201         * modules/unictype/syntax-java-ident-tests: New file.
43202         * modules/unictype/syntax-java-whitespace-tests: New file.
43203         * tests/unictype/test-bidi_byname.c: New file.
43204         * tests/unictype/test-bidi_name.c: New file.
43205         * tests/unictype/test-bidi_of.c: New file.
43206         * tests/unictype/test-bidi_test.c: New file.
43207         * tests/unictype/test-block_list.c: New file.
43208         * tests/unictype/test-block_of.c: New file.
43209         * tests/unictype/test-block_test.c: New file.
43210         * tests/unictype/test-categ_and.c: New file.
43211         * tests/unictype/test-categ_and_not.c: New file.
43212         * tests/unictype/test-categ_byname.c: New file.
43213         * tests/unictype/test-categ_name.c: New file.
43214         * tests/unictype/test-categ_none.c: New file.
43215         * tests/unictype/test-categ_of.c: New file.
43216         * tests/unictype/test-categ_or.c: New file.
43217         * tests/unictype/test-categ_test_withtable.c: New file.
43218         * tests/unictype/test-combining.c: New file.
43219         * tests/unictype/test-decdigit.c: New file.
43220         * tests/unictype/test-digit.c: New file.
43221         * tests/unictype/test-mirror.c: New file.
43222         * tests/unictype/test-numeric.c: New file.
43223         * tests/unictype/test-pr_byname.c: New file.
43224         * tests/unictype/test-pr_test.c: New file.
43225         * tests/unictype/test-predicate-part1.h: New file.
43226         * tests/unictype/test-predicate-part2.h: New file.
43227         * tests/unictype/test-scripts.c: New file.
43228         * tests/unictype/test-sy_c_ident.c: New file.
43229         * tests/unictype/test-sy_java_ident.c: New file.
43230
43231         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
43232         for Unicode 5.0.0.
43233         * tests/unictype/test-categ_Cc.c: Likewise.
43234         * tests/unictype/test-categ_Cf.c: Likewise.
43235         * tests/unictype/test-categ_Cn.c: Likewise.
43236         * tests/unictype/test-categ_Co.c: Likewise.
43237         * tests/unictype/test-categ_Cs.c: Likewise.
43238         * tests/unictype/test-categ_L.c: Likewise.
43239         * tests/unictype/test-categ_Ll.c: Likewise.
43240         * tests/unictype/test-categ_Lm.c: Likewise.
43241         * tests/unictype/test-categ_Lo.c: Likewise.
43242         * tests/unictype/test-categ_Lt.c: Likewise.
43243         * tests/unictype/test-categ_Lu.c: Likewise.
43244         * tests/unictype/test-categ_M.c: Likewise.
43245         * tests/unictype/test-categ_Mc.c: Likewise.
43246         * tests/unictype/test-categ_Me.c: Likewise.
43247         * tests/unictype/test-categ_Mn.c: Likewise.
43248         * tests/unictype/test-categ_N.c: Likewise.
43249         * tests/unictype/test-categ_Nd.c: Likewise.
43250         * tests/unictype/test-categ_Nl.c: Likewise.
43251         * tests/unictype/test-categ_No.c: Likewise.
43252         * tests/unictype/test-categ_P.c: Likewise.
43253         * tests/unictype/test-categ_Pc.c: Likewise.
43254         * tests/unictype/test-categ_Pd.c: Likewise.
43255         * tests/unictype/test-categ_Pe.c: Likewise.
43256         * tests/unictype/test-categ_Pf.c: Likewise.
43257         * tests/unictype/test-categ_Pi.c: Likewise.
43258         * tests/unictype/test-categ_Po.c: Likewise.
43259         * tests/unictype/test-categ_Ps.c: Likewise.
43260         * tests/unictype/test-categ_S.c: Likewise.
43261         * tests/unictype/test-categ_Sc.c: Likewise.
43262         * tests/unictype/test-categ_Sk.c: Likewise.
43263         * tests/unictype/test-categ_Sm.c: Likewise.
43264         * tests/unictype/test-categ_So.c: Likewise.
43265         * tests/unictype/test-categ_Z.c: Likewise.
43266         * tests/unictype/test-categ_Zl.c: Likewise.
43267         * tests/unictype/test-categ_Zp.c: Likewise.
43268         * tests/unictype/test-categ_Zs.c: Likewise.
43269         * tests/unictype/test-ctype_alnum.c: Likewise.
43270         * tests/unictype/test-ctype_alpha.c: Likewise.
43271         * tests/unictype/test-ctype_blank.c: Likewise.
43272         * tests/unictype/test-ctype_cntrl.c: Likewise.
43273         * tests/unictype/test-ctype_digit.c: Likewise.
43274         * tests/unictype/test-ctype_graph.c: Likewise.
43275         * tests/unictype/test-ctype_lower.c: Likewise.
43276         * tests/unictype/test-ctype_print.c: Likewise.
43277         * tests/unictype/test-ctype_punct.c: Likewise.
43278         * tests/unictype/test-ctype_space.c: Likewise.
43279         * tests/unictype/test-ctype_upper.c: Likewise.
43280         * tests/unictype/test-ctype_xdigit.c: Likewise.
43281         * tests/unictype/test-decdigit.h: Likewise.
43282         * tests/unictype/test-digit.h: Likewise.
43283         * tests/unictype/test-numeric.h: Likewise.
43284         * tests/unictype/test-pr_alphabetic.c: Likewise.
43285         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
43286         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43287         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
43288         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
43289         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
43290         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
43291         * tests/unictype/test-pr_bidi_control.c: Likewise.
43292         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
43293         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
43294         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43295         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
43296         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43297         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43298         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43299         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43300         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
43301         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
43302         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
43303         * tests/unictype/test-pr_combining.c: Likewise.
43304         * tests/unictype/test-pr_composite.c: Likewise.
43305         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43306         * tests/unictype/test-pr_dash.c: Likewise.
43307         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43308         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
43309         * tests/unictype/test-pr_deprecated.c: Likewise.
43310         * tests/unictype/test-pr_diacritic.c: Likewise.
43311         * tests/unictype/test-pr_extender.c: Likewise.
43312         * tests/unictype/test-pr_format_control.c: Likewise.
43313         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43314         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43315         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43316         * tests/unictype/test-pr_hex_digit.c: Likewise.
43317         * tests/unictype/test-pr_hyphen.c: Likewise.
43318         * tests/unictype/test-pr_id_continue.c: Likewise.
43319         * tests/unictype/test-pr_id_start.c: Likewise.
43320         * tests/unictype/test-pr_ideographic.c: Likewise.
43321         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
43322         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
43323         * tests/unictype/test-pr_ignorable_control.c: Likewise.
43324         * tests/unictype/test-pr_iso_control.c: Likewise.
43325         * tests/unictype/test-pr_join_control.c: Likewise.
43326         * tests/unictype/test-pr_left_of_pair.c: Likewise.
43327         * tests/unictype/test-pr_line_separator.c: Likewise.
43328         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
43329         * tests/unictype/test-pr_lowercase.c: Likewise.
43330         * tests/unictype/test-pr_math.c: Likewise.
43331         * tests/unictype/test-pr_non_break.c: Likewise.
43332         * tests/unictype/test-pr_not_a_character.c: Likewise.
43333         * tests/unictype/test-pr_numeric.c: Likewise.
43334         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43335         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
43336         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
43337         * tests/unictype/test-pr_other_id_continue.c: Likewise.
43338         * tests/unictype/test-pr_other_id_start.c: Likewise.
43339         * tests/unictype/test-pr_other_lowercase.c: Likewise.
43340         * tests/unictype/test-pr_other_math.c: Likewise.
43341         * tests/unictype/test-pr_other_uppercase.c: Likewise.
43342         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
43343         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
43344         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
43345         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
43346         * tests/unictype/test-pr_private_use.c: Likewise.
43347         * tests/unictype/test-pr_punctuation.c: Likewise.
43348         * tests/unictype/test-pr_quotation_mark.c: Likewise.
43349         * tests/unictype/test-pr_radical.c: Likewise.
43350         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
43351         * tests/unictype/test-pr_soft_dotted.c: Likewise.
43352         * tests/unictype/test-pr_space.c: Likewise.
43353         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
43354         * tests/unictype/test-pr_titlecase.c: Likewise.
43355         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
43356         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
43357         * tests/unictype/test-pr_uppercase.c: Likewise.
43358         * tests/unictype/test-pr_variation_selector.c: Likewise.
43359         * tests/unictype/test-pr_white_space.c: Likewise.
43360         * tests/unictype/test-pr_xid_continue.c: Likewise.
43361         * tests/unictype/test-pr_xid_start.c: Likewise.
43362         * tests/unictype/test-pr_zero_width.c: Likewise.
43363         * tests/unictype/test-sy_c_whitespace.c: Likewise.
43364         * tests/unictype/test-sy_java_whitespace.c: Likewise.
43365
43366 2007-11-12  Bruno Haible  <bruno@clisp.org>
43367
43368         Unicode character classification functions.
43369         * lib/unictype.h: New file.
43370         * modules/unictype/base: New file.
43371         * modules/unictype/category-L: New file.
43372         * modules/unictype/category-Lu: New file.
43373         * modules/unictype/category-Ll: New file.
43374         * modules/unictype/category-Lt: New file.
43375         * modules/unictype/category-Lm: New file.
43376         * modules/unictype/category-Lo: New file.
43377         * modules/unictype/category-M: New file.
43378         * modules/unictype/category-Mn: New file.
43379         * modules/unictype/category-Mc: New file.
43380         * modules/unictype/category-Me: New file.
43381         * modules/unictype/category-N: New file.
43382         * modules/unictype/category-Nd: New file.
43383         * modules/unictype/category-Nl: New file.
43384         * modules/unictype/category-No: New file.
43385         * modules/unictype/category-P: New file.
43386         * modules/unictype/category-Pc: New file.
43387         * modules/unictype/category-Pd: New file.
43388         * modules/unictype/category-Ps: New file.
43389         * modules/unictype/category-Pe: New file.
43390         * modules/unictype/category-Pi: New file.
43391         * modules/unictype/category-Pf: New file.
43392         * modules/unictype/category-Po: New file.
43393         * modules/unictype/category-S: New file.
43394         * modules/unictype/category-Sm: New file.
43395         * modules/unictype/category-Sc: New file.
43396         * modules/unictype/category-Sk: New file.
43397         * modules/unictype/category-So: New file.
43398         * modules/unictype/category-Z: New file.
43399         * modules/unictype/category-Zs: New file.
43400         * modules/unictype/category-Zl: New file.
43401         * modules/unictype/category-Zp: New file.
43402         * modules/unictype/category-C: New file.
43403         * modules/unictype/category-Cc: New file.
43404         * modules/unictype/category-Cf: New file.
43405         * modules/unictype/category-Cs: New file.
43406         * modules/unictype/category-Co: New file.
43407         * modules/unictype/category-Cn: New file.
43408         * modules/unictype/category-or: New file.
43409         * modules/unictype/category-of: New file.
43410         * modules/unictype/category-test: New file.
43411         * modules/unictype/category-test-withtable: New file.
43412         * modules/unictype/category-byname: New file.
43413         * modules/unictype/category-none: New file.
43414         * modules/unictype/category-and: New file.
43415         * modules/unictype/category-and-not: New file.
43416         * modules/unictype/category-name: New file.
43417         * modules/unictype/combining-class: New file.
43418         * modules/unictype/category-all: New file.
43419         * modules/unictype/bidicategory-all: New file.
43420         * modules/unictype/bidicategory-byname: New file.
43421         * modules/unictype/bidicategory-name: New file.
43422         * modules/unictype/bidicategory-of: New file.
43423         * modules/unictype/bidicategory-test: New file.
43424         * modules/unictype/decimal-digit: New file.
43425         * modules/unictype/digit: New file.
43426         * modules/unictype/numeric: New file.
43427         * modules/unictype/mirror: New file.
43428         * modules/unictype/property-white-space: New file.
43429         * modules/unictype/property-alphabetic: New file.
43430         * modules/unictype/property-other-alphabetic: New file.
43431         * modules/unictype/property-not-a-character: New file.
43432         * modules/unictype/property-default-ignorable-code-point: New file.
43433         * modules/unictype/property-other-default-ignorable-code-point: New
43434         file.
43435         * modules/unictype/property-deprecated: New file.
43436         * modules/unictype/property-logical-order-exception: New file.
43437         * modules/unictype/property-variation-selector: New file.
43438         * modules/unictype/property-private-use: New file.
43439         * modules/unictype/property-unassigned-code-value: New file.
43440         * modules/unictype/property-uppercase: New file.
43441         * modules/unictype/property-other-uppercase: New file.
43442         * modules/unictype/property-lowercase: New file.
43443         * modules/unictype/property-other-lowercase: New file.
43444         * modules/unictype/property-titlecase: New file.
43445         * modules/unictype/property-soft-dotted: New file.
43446         * modules/unictype/property-id-start: New file.
43447         * modules/unictype/property-other-id-start: New file.
43448         * modules/unictype/property-id-continue: New file.
43449         * modules/unictype/property-other-id-continue: New file.
43450         * modules/unictype/property-xid-start: New file.
43451         * modules/unictype/property-xid-continue: New file.
43452         * modules/unictype/property-pattern-white-space: New file.
43453         * modules/unictype/property-pattern-syntax: New file.
43454         * modules/unictype/property-join-control: New file.
43455         * modules/unictype/property-grapheme-base: New file.
43456         * modules/unictype/property-grapheme-extend: New file.
43457         * modules/unictype/property-other-grapheme-extend: New file.
43458         * modules/unictype/property-grapheme-link: New file.
43459         * modules/unictype/property-bidi-control: New file.
43460         * modules/unictype/property-bidi-left-to-right: New file.
43461         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
43462         * modules/unictype/property-bidi-arabic-right-to-left: New file.
43463         * modules/unictype/property-bidi-european-digit: New file.
43464         * modules/unictype/property-bidi-eur-num-separator: New file.
43465         * modules/unictype/property-bidi-eur-num-terminator: New file.
43466         * modules/unictype/property-bidi-arabic-digit: New file.
43467         * modules/unictype/property-bidi-common-separator: New file.
43468         * modules/unictype/property-bidi-block-separator: New file.
43469         * modules/unictype/property-bidi-segment-separator: New file.
43470         * modules/unictype/property-bidi-whitespace: New file.
43471         * modules/unictype/property-bidi-non-spacing-mark: New file.
43472         * modules/unictype/property-bidi-boundary-neutral: New file.
43473         * modules/unictype/property-bidi-pdf: New file.
43474         * modules/unictype/property-bidi-embedding-or-override: New file.
43475         * modules/unictype/property-bidi-other-neutral: New file.
43476         * modules/unictype/property-hex-digit: New file.
43477         * modules/unictype/property-ascii-hex-digit: New file.
43478         * modules/unictype/property-ideographic: New file.
43479         * modules/unictype/property-unified-ideograph: New file.
43480         * modules/unictype/property-radical: New file.
43481         * modules/unictype/property-ids-binary-operator: New file.
43482         * modules/unictype/property-ids-trinary-operator: New file.
43483         * modules/unictype/property-zero-width: New file.
43484         * modules/unictype/property-space: New file.
43485         * modules/unictype/property-non-break: New file.
43486         * modules/unictype/property-iso-control: New file.
43487         * modules/unictype/property-format-control: New file.
43488         * modules/unictype/property-dash: New file.
43489         * modules/unictype/property-hyphen: New file.
43490         * modules/unictype/property-punctuation: New file.
43491         * modules/unictype/property-line-separator: New file.
43492         * modules/unictype/property-paragraph-separator: New file.
43493         * modules/unictype/property-quotation-mark: New file.
43494         * modules/unictype/property-sentence-terminal: New file.
43495         * modules/unictype/property-terminal-punctuation: New file.
43496         * modules/unictype/property-currency-symbol: New file.
43497         * modules/unictype/property-math: New file.
43498         * modules/unictype/property-other-math: New file.
43499         * modules/unictype/property-paired-punctuation: New file.
43500         * modules/unictype/property-left-of-pair: New file.
43501         * modules/unictype/property-combining: New file.
43502         * modules/unictype/property-composite: New file.
43503         * modules/unictype/property-decimal-digit: New file.
43504         * modules/unictype/property-numeric: New file.
43505         * modules/unictype/property-diacritic: New file.
43506         * modules/unictype/property-extender: New file.
43507         * modules/unictype/property-ignorable-control: New file.
43508         * modules/unictype/property-test: New file.
43509         * modules/unictype/property-byname: New file.
43510         * modules/unictype/property-all: New file.
43511         * modules/unictype/scripts: New file.
43512         * modules/unictype/scripts-all: New file.
43513         * modules/unictype/block-of: New file.
43514         * modules/unictype/block-test: New file.
43515         * modules/unictype/block-list: New file.
43516         * modules/unictype/block-all: New file.
43517         * modules/unictype/syntax-c-whitespace: New file.
43518         * modules/unictype/syntax-java-whitespace: New file.
43519         * modules/unictype/syntax-c-ident: New file.
43520         * modules/unictype/syntax-java-ident: New file.
43521         * modules/unictype/ctype-alnum: New file.
43522         * modules/unictype/ctype-alpha: New file.
43523         * modules/unictype/ctype-cntrl: New file.
43524         * modules/unictype/ctype-digit: New file.
43525         * modules/unictype/ctype-graph: New file.
43526         * modules/unictype/ctype-lower: New file.
43527         * modules/unictype/ctype-print: New file.
43528         * modules/unictype/ctype-punct: New file.
43529         * modules/unictype/ctype-space: New file.
43530         * modules/unictype/ctype-upper: New file.
43531         * modules/unictype/ctype-xdigit: New file.
43532         * modules/unictype/ctype-blank: New file.
43533         * lib/unictype/bidi_byname.c: New file.
43534         * lib/unictype/bidi_name.c: New file.
43535         * lib/unictype/bidi_of.c: New file.
43536         * lib/unictype/bidi_test.c: New file.
43537         * lib/unictype/bitmap.h: New file.
43538         * lib/unictype/block_test.c: New file.
43539         * lib/unictype/blocks.c: New file.
43540         * lib/unictype/categ_C.c: New file.
43541         * lib/unictype/categ_Cc.c: New file.
43542         * lib/unictype/categ_Cf.c: New file.
43543         * lib/unictype/categ_Cn.c: New file.
43544         * lib/unictype/categ_Co.c: New file.
43545         * lib/unictype/categ_Cs.c: New file.
43546         * lib/unictype/categ_L.c: New file.
43547         * lib/unictype/categ_Ll.c: New file.
43548         * lib/unictype/categ_Lm.c: New file.
43549         * lib/unictype/categ_Lo.c: New file.
43550         * lib/unictype/categ_Lt.c: New file.
43551         * lib/unictype/categ_Lu.c: New file.
43552         * lib/unictype/categ_M.c: New file.
43553         * lib/unictype/categ_Mc.c: New file.
43554         * lib/unictype/categ_Me.c: New file.
43555         * lib/unictype/categ_Mn.c: New file.
43556         * lib/unictype/categ_N.c: New file.
43557         * lib/unictype/categ_Nd.c: New file.
43558         * lib/unictype/categ_Nl.c: New file.
43559         * lib/unictype/categ_No.c: New file.
43560         * lib/unictype/categ_P.c: New file.
43561         * lib/unictype/categ_Pc.c: New file.
43562         * lib/unictype/categ_Pd.c: New file.
43563         * lib/unictype/categ_Pe.c: New file.
43564         * lib/unictype/categ_Pf.c: New file.
43565         * lib/unictype/categ_Pi.c: New file.
43566         * lib/unictype/categ_Po.c: New file.
43567         * lib/unictype/categ_Ps.c: New file.
43568         * lib/unictype/categ_S.c: New file.
43569         * lib/unictype/categ_Sc.c: New file.
43570         * lib/unictype/categ_Sk.c: New file.
43571         * lib/unictype/categ_Sm.c: New file.
43572         * lib/unictype/categ_So.c: New file.
43573         * lib/unictype/categ_Z.c: New file.
43574         * lib/unictype/categ_Zl.c: New file.
43575         * lib/unictype/categ_Zp.c: New file.
43576         * lib/unictype/categ_Zs.c: New file.
43577         * lib/unictype/categ_and.c: New file.
43578         * lib/unictype/categ_and_not.c: New file.
43579         * lib/unictype/categ_byname.c: New file.
43580         * lib/unictype/categ_name.c: New file.
43581         * lib/unictype/categ_none.c: New file.
43582         * lib/unictype/categ_of.c: New file.
43583         * lib/unictype/categ_or.c: New file.
43584         * lib/unictype/categ_test.c: New file.
43585         * lib/unictype/combining.c: New file.
43586         * lib/unictype/ctype_alnum.c: New file.
43587         * lib/unictype/ctype_alpha.c: New file.
43588         * lib/unictype/ctype_blank.c: New file.
43589         * lib/unictype/ctype_cntrl.c: New file.
43590         * lib/unictype/ctype_digit.c: New file.
43591         * lib/unictype/ctype_graph.c: New file.
43592         * lib/unictype/ctype_lower.c: New file.
43593         * lib/unictype/ctype_print.c: New file.
43594         * lib/unictype/ctype_punct.c: New file.
43595         * lib/unictype/ctype_space.c: New file.
43596         * lib/unictype/ctype_upper.c: New file.
43597         * lib/unictype/ctype_xdigit.c: New file.
43598         * lib/unictype/decdigit.c: New file.
43599         * lib/unictype/digit.c: New file.
43600         * lib/unictype/identsyntaxmap.h: New file.
43601         * lib/unictype/mirror.c: New file.
43602         * lib/unictype/numeric.c: New file.
43603         * lib/unictype/pr_alphabetic.c: New file.
43604         * lib/unictype/pr_ascii_hex_digit.c: New file.
43605         * lib/unictype/pr_bidi_arabic_digit.c: New file.
43606         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
43607         * lib/unictype/pr_bidi_block_separator.c: New file.
43608         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
43609         * lib/unictype/pr_bidi_common_separator.c: New file.
43610         * lib/unictype/pr_bidi_control.c: New file.
43611         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
43612         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
43613         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
43614         * lib/unictype/pr_bidi_european_digit.c: New file.
43615         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
43616         * lib/unictype/pr_bidi_left_to_right.c: New file.
43617         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
43618         * lib/unictype/pr_bidi_other_neutral.c: New file.
43619         * lib/unictype/pr_bidi_pdf.c: New file.
43620         * lib/unictype/pr_bidi_segment_separator.c: New file.
43621         * lib/unictype/pr_bidi_whitespace.c: New file.
43622         * lib/unictype/pr_byname.c: New file.
43623         * lib/unictype/pr_byname.gperf: New file.
43624         * lib/unictype/pr_combining.c: New file.
43625         * lib/unictype/pr_composite.c: New file.
43626         * lib/unictype/pr_currency_symbol.c: New file.
43627         * lib/unictype/pr_dash.c: New file.
43628         * lib/unictype/pr_decimal_digit.c: New file.
43629         * lib/unictype/pr_default_ignorable_code_point.c: New file.
43630         * lib/unictype/pr_deprecated.c: New file.
43631         * lib/unictype/pr_diacritic.c: New file.
43632         * lib/unictype/pr_extender.c: New file.
43633         * lib/unictype/pr_format_control.c: New file.
43634         * lib/unictype/pr_grapheme_base.c: New file.
43635         * lib/unictype/pr_grapheme_extend.c: New file.
43636         * lib/unictype/pr_grapheme_link.c: New file.
43637         * lib/unictype/pr_hex_digit.c: New file.
43638         * lib/unictype/pr_hyphen.c: New file.
43639         * lib/unictype/pr_id_continue.c: New file.
43640         * lib/unictype/pr_id_start.c: New file.
43641         * lib/unictype/pr_ideographic.c: New file.
43642         * lib/unictype/pr_ids_binary_operator.c: New file.
43643         * lib/unictype/pr_ids_trinary_operator.c: New file.
43644         * lib/unictype/pr_ignorable_control.c: New file.
43645         * lib/unictype/pr_iso_control.c: New file.
43646         * lib/unictype/pr_join_control.c: New file.
43647         * lib/unictype/pr_left_of_pair.c: New file.
43648         * lib/unictype/pr_line_separator.c: New file.
43649         * lib/unictype/pr_logical_order_exception.c: New file.
43650         * lib/unictype/pr_lowercase.c: New file.
43651         * lib/unictype/pr_math.c: New file.
43652         * lib/unictype/pr_non_break.c: New file.
43653         * lib/unictype/pr_not_a_character.c: New file.
43654         * lib/unictype/pr_numeric.c: New file.
43655         * lib/unictype/pr_other_alphabetic.c: New file.
43656         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
43657         * lib/unictype/pr_other_grapheme_extend.c: New file.
43658         * lib/unictype/pr_other_id_continue.c: New file.
43659         * lib/unictype/pr_other_id_start.c: New file.
43660         * lib/unictype/pr_other_lowercase.c: New file.
43661         * lib/unictype/pr_other_math.c: New file.
43662         * lib/unictype/pr_other_uppercase.c: New file.
43663         * lib/unictype/pr_paired_punctuation.c: New file.
43664         * lib/unictype/pr_paragraph_separator.c: New file.
43665         * lib/unictype/pr_pattern_syntax.c: New file.
43666         * lib/unictype/pr_pattern_white_space.c: New file.
43667         * lib/unictype/pr_private_use.c: New file.
43668         * lib/unictype/pr_punctuation.c: New file.
43669         * lib/unictype/pr_quotation_mark.c: New file.
43670         * lib/unictype/pr_radical.c: New file.
43671         * lib/unictype/pr_sentence_terminal.c: New file.
43672         * lib/unictype/pr_soft_dotted.c: New file.
43673         * lib/unictype/pr_space.c: New file.
43674         * lib/unictype/pr_terminal_punctuation.c: New file.
43675         * lib/unictype/pr_test.c: New file.
43676         * lib/unictype/pr_titlecase.c: New file.
43677         * lib/unictype/pr_unassigned_code_value.c: New file.
43678         * lib/unictype/pr_unified_ideograph.c: New file.
43679         * lib/unictype/pr_uppercase.c: New file.
43680         * lib/unictype/pr_variation_selector.c: New file.
43681         * lib/unictype/pr_white_space.c: New file.
43682         * lib/unictype/pr_xid_continue.c: New file.
43683         * lib/unictype/pr_xid_start.c: New file.
43684         * lib/unictype/pr_zero_width.c: New file.
43685         * lib/unictype/scripts.c: New file.
43686         * lib/unictype/sy_c_ident.c: New file.
43687         * lib/unictype/sy_c_whitespace.c: New file.
43688         * lib/unictype/sy_java_ident.c: New file.
43689         * lib/unictype/sy_java_whitespace.c: New file.
43690
43691         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
43692         Unicode 5.0.0.
43693         * lib/unictype/blocks.h: Likewise.
43694         * lib/unictype/categ_C.h: Likewise.
43695         * lib/unictype/categ_Cc.h: Likewise.
43696         * lib/unictype/categ_Cf.h: Likewise.
43697         * lib/unictype/categ_Cn.h: Likewise.
43698         * lib/unictype/categ_Co.h: Likewise.
43699         * lib/unictype/categ_Cs.h: Likewise.
43700         * lib/unictype/categ_L.h: Likewise.
43701         * lib/unictype/categ_Ll.h: Likewise.
43702         * lib/unictype/categ_Lm.h: Likewise.
43703         * lib/unictype/categ_Lo.h: Likewise.
43704         * lib/unictype/categ_Lt.h: Likewise.
43705         * lib/unictype/categ_Lu.h: Likewise.
43706         * lib/unictype/categ_M.h: Likewise.
43707         * lib/unictype/categ_Mc.h: Likewise.
43708         * lib/unictype/categ_Me.h: Likewise.
43709         * lib/unictype/categ_Mn.h: Likewise.
43710         * lib/unictype/categ_N.h: Likewise.
43711         * lib/unictype/categ_Nd.h: Likewise.
43712         * lib/unictype/categ_Nl.h: Likewise.
43713         * lib/unictype/categ_No.h: Likewise.
43714         * lib/unictype/categ_P.h: Likewise.
43715         * lib/unictype/categ_Pc.h: Likewise.
43716         * lib/unictype/categ_Pd.h: Likewise.
43717         * lib/unictype/categ_Pe.h: Likewise.
43718         * lib/unictype/categ_Pf.h: Likewise.
43719         * lib/unictype/categ_Pi.h: Likewise.
43720         * lib/unictype/categ_Po.h: Likewise.
43721         * lib/unictype/categ_Ps.h: Likewise.
43722         * lib/unictype/categ_S.h: Likewise.
43723         * lib/unictype/categ_Sc.h: Likewise.
43724         * lib/unictype/categ_Sk.h: Likewise.
43725         * lib/unictype/categ_Sm.h: Likewise.
43726         * lib/unictype/categ_So.h: Likewise.
43727         * lib/unictype/categ_Z.h: Likewise.
43728         * lib/unictype/categ_Zl.h: Likewise.
43729         * lib/unictype/categ_Zp.h: Likewise.
43730         * lib/unictype/categ_Zs.h: Likewise.
43731         * lib/unictype/categ_of.h: Likewise.
43732         * lib/unictype/combining.h: Likewise.
43733         * lib/unictype/ctype_alnum.h: Likewise.
43734         * lib/unictype/ctype_alpha.h: Likewise.
43735         * lib/unictype/ctype_blank.h: Likewise.
43736         * lib/unictype/ctype_cntrl.h: Likewise.
43737         * lib/unictype/ctype_digit.h: Likewise.
43738         * lib/unictype/ctype_graph.h: Likewise.
43739         * lib/unictype/ctype_lower.h: Likewise.
43740         * lib/unictype/ctype_print.h: Likewise.
43741         * lib/unictype/ctype_punct.h: Likewise.
43742         * lib/unictype/ctype_space.h: Likewise.
43743         * lib/unictype/ctype_upper.h: Likewise.
43744         * lib/unictype/ctype_xdigit.h: Likewise.
43745         * lib/unictype/decdigit.h: Likewise.
43746         * lib/unictype/digit.h: Likewise.
43747         * lib/unictype/mirror.h: Likewise.
43748         * lib/unictype/numeric.h: Likewise.
43749         * lib/unictype/pr_alphabetic.h: Likewise.
43750         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43751         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43752         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43753         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43754         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43755         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43756         * lib/unictype/pr_bidi_control.h: Likewise.
43757         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43758         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43759         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43760         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43761         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43762         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43763         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43764         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43765         * lib/unictype/pr_bidi_pdf.h: Likewise.
43766         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43767         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43768         * lib/unictype/pr_combining.h: Likewise.
43769         * lib/unictype/pr_composite.h: Likewise.
43770         * lib/unictype/pr_currency_symbol.h: Likewise.
43771         * lib/unictype/pr_dash.h: Likewise.
43772         * lib/unictype/pr_decimal_digit.h: Likewise.
43773         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43774         * lib/unictype/pr_deprecated.h: Likewise.
43775         * lib/unictype/pr_diacritic.h: Likewise.
43776         * lib/unictype/pr_extender.h: Likewise.
43777         * lib/unictype/pr_format_control.h: Likewise.
43778         * lib/unictype/pr_grapheme_base.h: Likewise.
43779         * lib/unictype/pr_grapheme_extend.h: Likewise.
43780         * lib/unictype/pr_grapheme_link.h: Likewise.
43781         * lib/unictype/pr_hex_digit.h: Likewise.
43782         * lib/unictype/pr_hyphen.h: Likewise.
43783         * lib/unictype/pr_id_continue.h: Likewise.
43784         * lib/unictype/pr_id_start.h: Likewise.
43785         * lib/unictype/pr_ideographic.h: Likewise.
43786         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43787         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43788         * lib/unictype/pr_ignorable_control.h: Likewise.
43789         * lib/unictype/pr_iso_control.h: Likewise.
43790         * lib/unictype/pr_join_control.h: Likewise.
43791         * lib/unictype/pr_left_of_pair.h: Likewise.
43792         * lib/unictype/pr_line_separator.h: Likewise.
43793         * lib/unictype/pr_logical_order_exception.h: Likewise.
43794         * lib/unictype/pr_lowercase.h: Likewise.
43795         * lib/unictype/pr_math.h: Likewise.
43796         * lib/unictype/pr_non_break.h: Likewise.
43797         * lib/unictype/pr_not_a_character.h: Likewise.
43798         * lib/unictype/pr_numeric.h: Likewise.
43799         * lib/unictype/pr_other_alphabetic.h: Likewise.
43800         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43801         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43802         * lib/unictype/pr_other_id_continue.h: Likewise.
43803         * lib/unictype/pr_other_id_start.h: Likewise.
43804         * lib/unictype/pr_other_lowercase.h: Likewise.
43805         * lib/unictype/pr_other_math.h: Likewise.
43806         * lib/unictype/pr_other_uppercase.h: Likewise.
43807         * lib/unictype/pr_paired_punctuation.h: Likewise.
43808         * lib/unictype/pr_paragraph_separator.h: Likewise.
43809         * lib/unictype/pr_pattern_syntax.h: Likewise.
43810         * lib/unictype/pr_pattern_white_space.h: Likewise.
43811         * lib/unictype/pr_private_use.h: Likewise.
43812         * lib/unictype/pr_punctuation.h: Likewise.
43813         * lib/unictype/pr_quotation_mark.h: Likewise.
43814         * lib/unictype/pr_radical.h: Likewise.
43815         * lib/unictype/pr_sentence_terminal.h: Likewise.
43816         * lib/unictype/pr_soft_dotted.h: Likewise.
43817         * lib/unictype/pr_space.h: Likewise.
43818         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43819         * lib/unictype/pr_titlecase.h: Likewise.
43820         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43821         * lib/unictype/pr_unified_ideograph.h: Likewise.
43822         * lib/unictype/pr_uppercase.h: Likewise.
43823         * lib/unictype/pr_variation_selector.h: Likewise.
43824         * lib/unictype/pr_white_space.h: Likewise.
43825         * lib/unictype/pr_xid_continue.h: Likewise.
43826         * lib/unictype/pr_xid_start.h: Likewise.
43827         * lib/unictype/pr_zero_width.h: Likewise.
43828         * lib/unictype/scripts.h: Likewise.
43829         * lib/unictype/scripts_byname.gperf: Likewise.
43830         * lib/unictype/sy_c_ident.h: Likewise.
43831         * lib/unictype/sy_c_whitespace.h: Likewise.
43832         * lib/unictype/sy_java_ident.h: Likewise.
43833         * lib/unictype/sy_java_whitespace.h: Likewise.
43834
43835         * lib/unictype/Makefile: New file.
43836         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
43837         glibc.
43838         * lib/unictype/3level.h: New file, copied from glibc.
43839         * lib/unictype/3levelbit.h: New file.
43840
43841 2007-11-11  Bruno Haible  <bruno@clisp.org>
43842
43843         * modules/gperf: New file.
43844         * modules/iconv_open (Depends-on): Add it.
43845         (Makefile.am): Remove the GPERF definition.
43846
43847 2007-11-11  Bruno Haible  <bruno@clisp.org>
43848
43849         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
43850         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
43851
43852 2007-11-11  Bruno Haible  <bruno@clisp.org>
43853
43854         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
43855         (usage): Remove function.
43856
43857 2007-11-11  Bruno Haible  <bruno@clisp.org>
43858
43859         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
43860         gl_FUNC_CEILF_LIBS.
43861         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
43862         gl_FUNC_CEIL_LIBS.
43863         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
43864         gl_FUNC_CEILL_LIBS.
43865         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
43866         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
43867         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
43868
43869 2007-11-11  Bruno Haible  <bruno@clisp.org>
43870
43871         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
43872         roundf were declared but do not exist on functions.
43873         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
43874         roundl were declared but do not exist on functions.
43875         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
43876         HAVE_FLOORL_AND_CEILL, respectively.
43877         Needed for Sun C on Solaris 10.
43878
43879 2007-11-11  Bruno Haible  <bruno@clisp.org>
43880
43881         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
43882         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
43883         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
43884         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
43885         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
43886         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
43887         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
43888         HAVE_DECL_ROUNDF.
43889         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
43890         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
43891         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
43892         of HAVE_DECL_ROUND*.
43893         * modules/math (Makefile.am): Update.
43894
43895 2007-11-10  Bruno Haible  <bruno@clisp.org>
43896
43897         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
43898         ptrdiff_t as m4/intl.m4.
43899
43900 2007-11-10  Jim Meyering  <meyering@redhat.com>
43901
43902         Avoid link failure for the argmatch test.
43903         * tests/test-argmatch.c (usage): Define function to avoid a link
43904         failure: argmatch_die requires a usage function.
43905
43906 2007-11-09  Bruno Haible  <bruno@clisp.org>
43907
43908         * doc/functions/snprintf.texi: Mention BeOS deficiency.
43909         * doc/functions/vsnprintf.texi: Likewise.
43910         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
43911         with a size argument < 2.
43912
43913 2007-11-09  Bruno Haible  <bruno@clisp.org>
43914
43915         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
43916         buffer. Fixes an inefficiency introduced on 2007-11-03.
43917
43918 2007-11-09  Bruno Haible  <bruno@clisp.org>
43919
43920         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
43921         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
43922
43923 2007-11-08  Jim Meyering  <meyering@redhat.com>
43924
43925         Change cache variable name prefix "jm_" to "gl_" everywhere.
43926         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
43927         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
43928         * m4/uptime.m4: s/gl_/jm_/
43929
43930 2007-11-07  Bruno Haible  <bruno@clisp.org>
43931
43932         Update to GNU gettext 0.17.
43933         * m4/intl.m4: Update to GNU gettext 0.17.
43934         * m4/po.m4: Likewise.
43935         * modules/gettext (Files): Remove m4/ulonglong.m4.
43936         (configure.ac): Require gettext infrastructure from version 0.17.
43937
43938 2007-11-06  Bruno Haible  <bruno@clisp.org>
43939
43940         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
43941         symbolic values are not defined in a public header.
43942         * lib/freadable.c (freadable) [QNX]: Likewise.
43943         * lib/freadahead.c (freadahead) [QNX]: Likewise.
43944         * lib/freading.c (freading) [QNX]: Likewise.
43945         * lib/fseterr.c (fseterr) [QNX]: Likewise.
43946         * lib/fwritable.c (fwritable) [QNX]: Likewise.
43947         * lib/fwriting.c (fwriting) [QNX]: Likewise.
43948         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
43949         Reported by Alain Magloire.
43950
43951         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
43952
43953 2007-11-05  Bruno Haible  <bruno@clisp.org>
43954
43955         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
43956         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
43957         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
43958         Reported by Eric Blake.
43959
43960 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43961             Bruno Haible  <bruno@clisp.org>
43962
43963         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
43964         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
43965         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
43966         (malloc): Undefine also before including <stdlib.h>.
43967         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
43968         Needed on OSF/1 4.0.
43969
43970 2007-11-05  Jim Meyering  <meyering@redhat.com>
43971
43972         git-version-gen: sync from coreutils.
43973         * build-aux/git-version-gen: Add comments.
43974         Change the first '-' to '.' in the snapshot version string,
43975         e.g., 6.9-377-08144 -> 6.9.377-08144
43976         Remove first parameter.
43977         Don't declare a version "-dirty" merely because a time
43978         stamp has changed.
43979
43980 2007-11-04  Bruno Haible  <bruno@clisp.org>
43981
43982         * lib/lock.h: Protect all macro definitions containing an 'if'
43983         statement through a "do { ... } while (0)".
43984         * lib/tls.h: Likewise.
43985
43986 2007-11-04  Bruno Haible  <bruno@clisp.org>
43987
43988         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
43989
43990 2007-11-04  Bruno Haible  <bruno@clisp.org>
43991
43992         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
43993         * modules/fprintf-posix (Depends-on): Add nocrash.
43994         * modules/snprintf-posix (Depends-on): Likewise.
43995         * modules/sprintf-posix (Depends-on): Likewise.
43996         * modules/vasnprintf-posix (Depends-on): Likewise.
43997         * modules/vasprintf-posix (Depends-on): Likewise.
43998         * modules/vfprintf-posix (Depends-on): Likewise.
43999         * modules/vsnprintf-posix (Depends-on): Likewise.
44000         * modules/vsprintf-posix (Depends-on): Likewise.
44001         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44002         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44003         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44004         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44005         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44006         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44007         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44008
44009 2007-11-04  Bruno Haible  <bruno@clisp.org>
44010
44011         * modules/nocrash: New file.
44012         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
44013         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
44014
44015 2007-11-04  Bruno Haible  <bruno@clisp.org>
44016
44017         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
44018         precision handling.
44019         * tests/test-vasprintf-posix.c (test_function): Likewise.
44020         * tests/test-snprintf-posix.h (test_function): Likewise.
44021         * tests/test-sprintf-posix.h (test_function): Likewise.
44022
44023         Fix *printf behaviour for large precisions on mingw and BeOS.
44024         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
44025         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
44026         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
44027         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44028         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44029         gl_PRINTF_PRECISION and test its result. Invoke
44030         gl_PREREQ_VASNPRINTF_PRECISION.
44031         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44032         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44033         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44034         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44035         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44036         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44037         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44038         * doc/functions/fprintf.texi: Update.
44039         * doc/functions/printf.texi: Update.
44040         * doc/functions/snprintf.texi: Update.
44041         * doc/functions/sprintf.texi: Update.
44042         * doc/functions/vfprintf.texi: Update.
44043         * doc/functions/vprintf.texi: Update.
44044         * doc/functions/vsnprintf.texi: Update.
44045         * doc/functions/vsprintf.texi: Update.
44046
44047 2007-11-04  Bruno Haible  <bruno@clisp.org>
44048
44049         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
44050
44051 2007-11-04  Bruno Haible  <bruno@clisp.org>
44052
44053         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
44054         Reported by Sylvain Beucler <beuc@gnu.org>.
44055
44056 2007-11-03  Bruno Haible  <bruno@clisp.org>
44057
44058         * tests/test-fprintf-posix2.sh: New file.
44059         * tests/test-fprintf-posix2.c: New file.
44060         * modules/fprintf-posix-tests (Files): Add them.
44061         (TESTS): Add test-fprintf-posix2.sh.
44062         (configure.ac): Check for getrlimit and setrlimit.
44063         (check_PROGRAMS): Add test-fprintf-posix2.
44064
44065         * tests/test-printf-posix2.sh: New file.
44066         * tests/test-printf-posix2.c: New file.
44067         * modules/printf-posix-tests (Files): Add them.
44068         (TESTS): Add test-printf-posix2.sh.
44069         (configure.ac): Check for getrlimit and setrlimit.
44070         (check_PROGRAMS): Add test-printf-posix2.
44071
44072         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
44073         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
44074         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
44075         (decode_double): New function, copied from decode_long_double.
44076         (scale10_round_decimal_decoded): New function, extracted from
44077         scale10_round_decimal_long_double.
44078         (scale10_round_decimal_long_double): Use it.
44079         (scale10_round_decimal_double): New function.
44080         (floorlog10): New function.
44081         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
44082         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
44083         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44084         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44085         gl_PRINTF_ENOMEM and test its result. Invoke
44086         gl_PREREQ_VASNPRINTF_ENOMEM.
44087         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44088         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44089         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44090         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44091         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44092         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44093         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44094         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
44095         * modules/snprintf-posix (Depends-on): Likewise.
44096         * modules/sprintf-posix (Depends-on): Likewise.
44097         * modules/vasnprintf-posix (Depends-on): Likewise.
44098         * modules/vasprintf-posix (Depends-on): Likewise.
44099         * modules/vfprintf-posix (Depends-on): Likewise.
44100         * modules/vsnprintf-posix (Depends-on): Likewise.
44101         * modules/vsprintf-posix (Depends-on): Likewise.
44102         * doc/functions/fprintf.texi: Update.
44103         * doc/functions/printf.texi: Update.
44104         * doc/functions/snprintf.texi: Update.
44105         * doc/functions/sprintf.texi: Update.
44106         * doc/functions/vfprintf.texi: Update.
44107         * doc/functions/vprintf.texi: Update.
44108         * doc/functions/vsnprintf.texi: Update.
44109         * doc/functions/vsprintf.texi: Update.
44110
44111 2007-11-03  Bruno Haible  <bruno@clisp.org>
44112
44113         * modules/frexp-nolibm-tests: New file.
44114
44115         * modules/frexp-nolibm: New file.
44116         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
44117
44118 2007-11-03  Bruno Haible  <bruno@clisp.org>
44119
44120         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
44121         value is C99 compliant.
44122         Needed for OSF/1 5.1.
44123
44124 2007-11-03  Bruno Haible  <bruno@clisp.org>
44125
44126         Fix out-of-memory handling of vasnprintf.
44127         * lib/printf-parse.c: Include <errno.h>.
44128         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
44129         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
44130         is already set.
44131
44132 2007-11-02  Eric Blake  <ebb9@byu.net>
44133
44134         Fix tests on cygwin.
44135         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
44136
44137 2007-11-01  Bruno Haible  <bruno@clisp.org>
44138
44139         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
44140         warning.
44141         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
44142         needed for POSIX compatibility.
44143
44144 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44145
44146         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
44147         for compatibility with GNU.
44148
44149 2007-11-01  Bruno Haible  <bruno@clisp.org>
44150
44151         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
44152         (putenv): Renamed from rpl_putenv. Change argument type from
44153         'const char *' to 'char *'.
44154         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
44155         of defining putenv in config.h, just set REPLACE_PUTENV.
44156         * modules/putenv (Depends-on): Add stdlib.
44157         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44158         (Include): Use <stdlib.h>.
44159         * lib/stdlib.in.h (putenv): New declaration.
44160         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
44161         REPLACE_PUTENV.
44162         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
44163         REPLACE_PUTENV.
44164         Needed for MacOS X 10.5.0.
44165         Reported by Peter O'Gorman <peter@pogma.com>.
44166
44167 2007-11-01  Jim Meyering  <meyering@redhat.com>
44168
44169         Treat an empty date string exactly like "0".
44170         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
44171         if the remaining date string (to be parsed) is empty, use "0".
44172         Reported by Mischa Molhoek and discussed in this thread:
44173         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
44174
44175 2007-10-31  Bruno Haible  <bruno@clisp.org>
44176
44177         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
44178         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
44179         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
44180         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
44181         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
44182         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
44183
44184 2007-10-31  Bruno Haible  <bruno@clisp.org>
44185
44186         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
44187         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
44188         (AC_TYPE_LONG_LONG_INT): Use it.
44189         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
44190         it as well.
44191         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
44192         to m4/longlong.m4.
44193         * modules/stdint (Files): Remove m4/ulonglong.m4.
44194         * modules/strtoull (Files): Use m4/longlong.m4 instead of
44195         m4/ulonglong.m4.
44196         * modules/strtoumax (Files): Likewise.
44197
44198 2007-10-30  Bruno Haible  <bruno@clisp.org>
44199
44200         * modules/xvasprintf-posix: New file.
44201         Suggested by Eric Blake.
44202
44203 2007-10-30  Bruno Haible  <bruno@clisp.org>
44204
44205         * modules/xprintf-posix-tests: New file.
44206         * tests/test-xprintf-posix.sh: New file.
44207         * tests/test-xprintf-posix.c: New file.
44208         * tests/test-xfprintf-posix.c: New file.
44209
44210         * modules/xprintf-posix: New file.
44211
44212 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44213
44214         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
44215         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
44216         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
44217
44218 2007-10-29  Bruno Haible  <bruno@clisp.org>
44219
44220         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
44221         contain the special marker '_cv_'.
44222         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44223         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44224         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44225         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
44226         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44227         Reported by Ralf Wildenhues.
44228
44229 2007-10-29  Bruno Haible  <bruno@clisp.org>
44230
44231         * gnulib-tool (func_import): When --lgpl is not specified, set
44232         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
44233         GPLv3.
44234         Reported by Simon Josefsson.
44235
44236 2007-10-28  Bruno Haible  <bruno@clisp.org>
44237
44238         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
44239         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
44240         HAVE_DECL_ISFINITE.
44241         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
44242         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
44243         HAVE_DECL_ISFINITE.
44244
44245 2007-10-28  Bruno Haible  <bruno@clisp.org>
44246
44247         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
44248         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
44249
44250 2007-10-28  Bruno Haible  <bruno@clisp.org>
44251
44252         Fix link errors with Sun C 5.0 on Solaris 10.
44253         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
44254         function is declared but not present in the compiler's libm.
44255         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
44256         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
44257         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
44258         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
44259         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
44260         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
44261         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
44262         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
44263         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
44264         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
44265         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
44266         HAVE_DECL_FLOORL.
44267
44268 2007-10-28  Bruno Haible  <bruno@clisp.org>
44269
44270         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
44271         gl_FUNC_FLOORL. Cache the result.
44272         (gl_FUNC_FLOORL): Use it.
44273         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
44274         gl_FUNC_CEILL. Cache the result.
44275         (gl_FUNC_CEILL): Use it.
44276
44277         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
44278         gl_FUNC_FLOOR. Cache the result.
44279         (gl_FUNC_FLOOR): Use it.
44280         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
44281         gl_FUNC_CEIL. Cache the result.
44282         (gl_FUNC_CEIL): Use it.
44283
44284         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
44285         gl_FUNC_FLOORF. Cache the result.
44286         (gl_FUNC_FLOORF): Use it.
44287         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
44288         gl_FUNC_CEILF. Cache the result.
44289         (gl_FUNC_CEILF): Use it.
44290
44291 2007-10-28  Bruno Haible  <bruno@clisp.org>
44292
44293         * gnulib-tool: Allow specifying the LGPL version number through
44294         --lgpl=2 or --lgpl=3.
44295         (func_usage): Document --lgpl with argument.
44296         Handle --lgpl=... arguments.
44297         (func_import): Recognize also gl_LGPL calls with an argument. When
44298         --lgpl=2 is used and the module's license is just LGPL, report an
44299         error. Set sed_transform_lib_file according to the lgpl variable. In
44300         the generated files, use --lgpl or gl_LGPL invocations with argument,
44301         if necessary.
44302         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
44303         an LGPv2+ license.
44304         * doc/gnulib-tool.texi (Modified imports): Update explanation of
44305         gl_LGPL macro.
44306
44307 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44308             Bruno Haible  <bruno@clisp.org>
44309
44310         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
44311         (u16_uctomb_aux): Likewise.
44312         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
44313         !HAVE_INLINE.
44314         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
44315
44316 2007-10-28  Bruno Haible  <bruno@clisp.org>
44317
44318         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
44319         Invoke AM_GETTEXT_OPTION if it exists.
44320         * modules/vasprintf: Likewise.
44321         * modules/verror: Likewise.
44322         * modules/xprintf: Likewise.
44323         * modules/xvasprintf: Likewise.
44324
44325 2007-10-27  Ben Pfaff  <blp@gnu.org>
44326
44327         * lib/math.in.h: Define isfinite macro and prototypes for
44328         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
44329         implementations.
44330         * m4/math_h.m4: New substitutions for isfinite module.
44331         * lib/isfinite.c: New file.
44332         * m4/isfinite.m4: New file.
44333         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
44334         * modules/isfinite: New file.
44335         * modules/isfinite-tests: New file.
44336         * tests/tests-isfinite.c: New file.
44337         * doc/functions/isfinite.texi: Mention isfinite module.
44338         * MODULES.html.sh: Mention new module.
44339
44340 2007-10-27  Ben Pfaff  <blp@gnu.org>
44341
44342         Ralf Wildenhues reported that Tru64 4.0D declares the round
44343         functions but does not have definitions.
44344         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
44345         cannot be found in any library, set the output variable to
44346         "missing" instead of "".
44347         * m4/round.m4: Also use our substitute if we cannot find round in
44348         any library, even if it is declared.
44349         * m4/roundf.m4: Likewise for roundf.
44350         * m4/roundl.m4: Likewise for roundl.
44351         * lib/math.in.h: Undefine roundf, round, roundl before defining
44352         their replacements, to allow for hypothetical systems where these
44353         may be defined as macros but not available in libraries.
44354
44355 2007-10-27  Bruno Haible  <bruno@clisp.org>
44356
44357         * doc/gnulib.texi: Invoke @firstparagraphindent.
44358         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
44359         changes in gnulib.
44360         (Source changes): New section.
44361
44362 2007-10-26  Bruno Haible  <bruno@clisp.org>
44363
44364         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
44365         borrowed from autoconf.
44366
44367 2007-10-26  Bruno Haible  <bruno@clisp.org>
44368
44369         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
44370         strerror returned the empty string. Needed on HP-UX 11.00.
44371
44372 2007-10-24  Micah Cowan  <micah@cowan.name>
44373
44374         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
44375         * build-aux/bootstrap: Remove support for now-unnecessary option,
44376         --cvs-user, and envvars CVS_USER, CVS_RSH.
44377
44378 2007-10-24  Jim Meyering  <meyering@redhat.com>
44379
44380         Avoid diagnostics from sha1sum when there is no cached checksum.
44381         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
44382         if the po.s1 file hasn't been created yet.
44383
44384         * build-aux/bootstrap: Sync from coreutils:
44385         2007-10-24  Jim Meyering  <meyering@redhat.com>
44386         Get gnulib from the git repository, not from an obsolete cvs one.
44387         * build-aux/bootstrap: Suggestion from Micah Cowan.
44388         2007-10-04  Jim Meyering  <jim@meyering.net>
44389         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
44390         (update_po_files): Work also when there are no .po files in po/.
44391
44392 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44393
44394         * README: Append ".git" to git and cg examples.
44395         Problem reported by Benoit Sigoure.
44396
44397 2007-10-23  Micah Cowan  <micah@cowan.name>
44398
44399         * users.txt: Add wget.
44400
44401 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44402
44403         Fix linking of some unistdio tests on FreeBSD.
44404         * modules/unistdio/u16-vsnprintf-tests
44405         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
44406         * modules/unistdio/u16-vsprintf-tests
44407         (test_u16_vsnprintf1_LDADD): Likewise.
44408         * modules/unistdio/u32-vsnprintf-tests
44409         (test_u32_vsnprintf1_LDADD): Likewise.
44410         * modules/unistdio/u32-vsprintf-tests
44411         (test_u32_vsprintf1_LDADD): Likewise.
44412         * modules/unistdio/u8-vsnprintf-tests
44413         (test_u8_vsnprintf1_LDADD): Likewise.
44414         * modules/unistdio/u8-vsprintf-tests
44415         (test_u8_vsprintf1_LDADD): Likewise.
44416         * modules/unistdio/ulc-vsnprintf-tests
44417         (test_ulc_vsnprintf1_LDADD): Likewise.
44418         * modules/unistdio/ulc-vsprintf-tests
44419         (test_ulc_vsprintf1_LDADD): Likewise.
44420
44421         Fix linking of some uniconv tests on FreeBSD.
44422         * modules/uniconv/u16-conv-from-enc-tests
44423         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
44424         * modules/uniconv/u16-conv-to-enc-tests
44425         (test_u16_conv_to_enc_LDADD): Likewise.
44426         * modules/uniconv/u16-strconv-from-enc-tests
44427         (test_u16_strconv_from_enc_LDADD): Likewise.
44428         * modules/uniconv/u16-strconv-to-enc-tests
44429         (test_u16_strconv_to_enc_LDADD): Likewise.
44430         * modules/uniconv/u32-conv-from-enc-tests
44431         (test_u32_conv_from_enc_LDADD): Likewise.
44432         * modules/uniconv/u32-conv-to-enc-tests
44433         (test_u32_conv_to_enc_LDADD): Likewise.
44434         * modules/uniconv/u32-strconv-from-enc-tests
44435         (test_u32_strconv_from_enc_LDADD): Likewise.
44436         * modules/uniconv/u32-strconv-to-enc-tests
44437         (test_u32_strconv_to_enc_LDADD): Likewise.
44438         * modules/uniconv/u8-conv-from-enc-tests
44439         (test_u8_conv_from_enc_LDADD): Likewise.
44440         * modules/uniconv/u8-conv-to-enc-tests
44441         (test_u8_conv_to_enc_LDADD): Likewise.
44442         * modules/uniconv/u8-strconv-from-enc-tests
44443         (test_u8_strconv_from_enc_LDADD): Likewise.
44444         * modules/uniconv/u8-strconv-to-enc-tests
44445         (test_u8_strconv_to_enc_LDADD): Likewise.
44446
44447 2007-10-22  Bruno Haible  <bruno@clisp.org>
44448
44449         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
44450         size.
44451
44452 2007-10-22  Eric Blake  <ebb9@byu.net>
44453
44454         Tweak x*printf documentation.
44455         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
44456         variable name and comments.
44457         Suggested by Bruno Haible.
44458
44459 2007-10-22  Bruno Haible  <bruno@clisp.org>
44460
44461         * lib/acl.c (copy_acl): Fix file name in comment.
44462
44463 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44464
44465         Fix Tru64 problem with stdbool.h.
44466         * lib/stdbool.in.h (false, true):
44467         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
44468         Don't declare as an enum in this situation; it runs afoul of Tru64.
44469         Problem reported by Steven M. Schweda in
44470         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
44471
44472 2007-10-22  Eric Blake  <ebb9@byu.net>
44473
44474         Also wrap vf?printf.
44475         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
44476         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
44477         (xvprintf, xvfprintf): New functions.
44478
44479 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44480
44481         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
44482         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
44483
44484         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
44485         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
44486
44487 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44488
44489         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
44490         by Bruno Haible.
44491
44492 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44493
44494         * lib/getloadavg.c
44495         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
44496         Undef `sys' after including sys/table.h, for Tru64 4.0D.
44497
44498         * tests/test-i-ring.c: Work for C89.
44499
44500 2007-10-22  Bruno Haible  <bruno@clisp.org>
44501
44502         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
44503         -1u, in preprocessor expression, so that we don't test for the bug
44504         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
44505         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
44506
44507 2007-10-22  Eric Blake  <ebb9@byu.net>
44508
44509         * tests/test-yesno.sh: Silence stderr during test.
44510
44511 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44512
44513         * modules/crypto/gc-camellia: New file.
44514
44515         * m4/gc-camellia.m4: New file.
44516
44517         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
44518
44519         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
44520
44521 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44522
44523         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
44524         --help to stdout.  Reported by sms@antinode.org (Steven
44525         M. Schweda).
44526
44527 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44528
44529         * users.txt: Fix link to libksba.
44530
44531 2007-10-21  Ben Pfaff  <blp@gnu.org>
44532
44533         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
44534         round.c roundf implementation that depends on floorf and ceilf to
44535         be tested unconditionally.
44536
44537 2007-10-21  Ben Pfaff  <blp@gnu.org>
44538
44539         * m4/check-libm-func.m4: Removed.
44540         * m4/check-math-lib.m4: New file.
44541         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
44542         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
44543         definition and lack of AC_LIBOBJ([roundf]).
44544         * m4/roundl.m4: Ditto, and similarly for roundl.
44545         * modules/round: Reference new m4 file.
44546         * modules/roundf: Ditto.
44547         * modules/roundl: Ditto.
44548         * tests/test-round2.c (main): Use ROUND instead of round.
44549         Bug report from Bruno Haible.
44550
44551 2007-10-21  Bruno Haible  <bruno@clisp.org>
44552
44553         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
44554         context.
44555
44556 2007-10-21  Bruno Haible  <bruno@clisp.org>
44557
44558         * tests/test-wcwidth.c (main): Allow negative result for some control
44559         characters.
44560
44561         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
44562         Needed on OSF/1 5.1.
44563
44564 2007-10-21  Bruno Haible  <bruno@clisp.org>
44565
44566         * tests/test-floorf1.c: Include isnanf.h.
44567         (main): Use isnanf() instead of isnan().
44568         * tests/test-ceilf1.c: Include isnanf.h.
44569         (main): Use isnanf() instead of isnan().
44570         * tests/test-truncf1.c: Include isnanf.h.
44571         (main): Use isnanf() instead of isnan().
44572         * tests/test-roundf1.c: Include isnanf.h.
44573         (main): Use isnanf() instead of isnan().
44574
44575 2007-10-21  Eric Blake  <ebb9@byu.net>
44576
44577         * users.txt: Update URL for m4.
44578
44579 2007-10-21  Bruno Haible  <bruno@clisp.org>
44580
44581         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
44582
44583 2007-10-21  Bruno Haible  <bruno@clisp.org>
44584
44585         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
44586         Git's management files if the CVS files are not present.
44587
44588 2007-10-20  Bruno Haible  <bruno@clisp.org>
44589
44590         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
44591         gcc-3.4.x.
44592
44593 2007-10-20  Ben Pfaff  <blp@gnu.org>
44594
44595         * lib/math.in.h: Declare round, roundf, roundl if we are providing
44596         implementations.
44597         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
44598         * lib/round.c: New file.
44599         * lib/roundf.c: New file.
44600         * lib/roundl.c: New file.
44601         * m4/round.m4: New file.
44602         * m4/roundf.m4: New file.
44603         * m4/roundl.m4: New file.
44604         * m4/check-libm-func-m4: New file.
44605         * modules/math: Replace round, roundf, roundl related @VARS@ in
44606         math.in.h.
44607         * modules/round: New file.
44608         * modules/round-tests: New file.
44609         * modules/roundf: New file.
44610         * modules/roundf-tests: New file.
44611         * modules/roundl: New file.
44612         * modules/roundl-tests: New file.
44613         * tests/test-round1.c: New file.
44614         * tests/test-round2.c: New file.
44615         * tests/test-roundf1.c: New file.
44616         * tests/test-roundf2.c: New file.
44617         * tests/test-roundl.c: New file.
44618         * doc/functions/round.texi: Mention round module.
44619         * doc/functions/roundf.texi: Mention roundf module.
44620         * doc/functions/roundl.texi: Mention roundl module.
44621         * MODULES.html.sh: Mention new modules.
44622         Thanks to Bruno Haible for suggestions.
44623
44624 2007-10-20  Jim Meyering  <meyering@redhat.com>
44625
44626         * lib/xprintf.c: Include <config.h> unconditionally.
44627
44628         Change xprintf's license to GPL.
44629         * modules/xprintf (License): s/LGPL/GPL/, since this module
44630         depends on modules (exit and exitfail) which are GPL.
44631         Suggestion from Bruno Haible.
44632
44633         xprintf fixes.
44634         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
44635         Use a clearer diagnostic.
44636         Patch from Bruno Haible.
44637
44638 2007-10-20  Bruno Haible  <bruno@clisp.org>
44639
44640         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
44641         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
44642         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44643
44644 2007-10-20  Bruno Haible  <bruno@clisp.org>
44645
44646         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
44647         precision in the comparison result > x - 1 or similar.
44648         * tests/test-ceilf2.c (correct_result_p): Likewise.
44649         * tests/test-truncf2.c (correct_result_p): Likewise.
44650         * tests/test-trunc2.c (correct_result_p): Likewise.
44651         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44652
44653 2007-10-20  Bruno Haible  <bruno@clisp.org>
44654
44655         * modules/ceil: New file.
44656         * m4/ceil.m4: New file.
44657         * doc/functions/ceil.texi: Mention the 'ceil' module.
44658
44659 2007-10-20  Bruno Haible  <bruno@clisp.org>
44660
44661         * modules/floor: New file.
44662         * m4/floor.m4: New file.
44663         * doc/functions/floor.texi: Mention the 'floor' module.
44664
44665 2007-10-20  Bruno Haible  <bruno@clisp.org>
44666
44667         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
44668         of %a.
44669         * modules/floorf-tests (Depends-on): Likewise.
44670         * modules/truncf-tests (Depends-on): Likewise.
44671         * modules/trunc-tests (Depends-on): Likewise.
44672         Reported by Ben Pfaff.
44673
44674 2007-10-19  Jim Meyering  <meyering@redhat.com>
44675
44676         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
44677         Don't bother testing specific errno values.  Just test ferror.
44678
44679         New module: xprintf
44680         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
44681
44682 2007-10-19  Bruno Haible  <bruno@clisp.org>
44683
44684         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
44685         syntax.
44686         * modules/javaexec (Makefile.am): Likewise.
44687         * modules/relocatable-prog (Makefile.am): Likewise.
44688         Suggested by Jim Meyering.
44689
44690 2007-10-18  Bruno Haible  <bruno@clisp.org>
44691
44692         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
44693         Reported by Jim Meyering.
44694
44695 2007-10-18  Eric Blake  <ebb9@byu.net>
44696
44697         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
44698
44699 2007-10-18  Bruno Haible  <bruno@clisp.org>
44700
44701         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
44702         the format string into writable memory. Needed in Fortify conditions.
44703
44704 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
44705             Bruno Haible  <bruno@clisp.org>
44706
44707         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
44708         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
44709         * modules/trim (Depends-on): Add mbchar.
44710         (configure.ac): Add gl_FUNC_MBRTOWC.
44711         (Makefile.am): Augment lib_SOURCES.
44712
44713 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44714
44715         Modify glob.c to use fstatat and dirfd, to simplify it.
44716         Suggested by Eric Blake.
44717         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
44718         Don't include <stdbool.h>; not used.
44719         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
44720         (link_exists_p): Simplify implementation, since we can now assume
44721         dirfd and fstatat.
44722         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
44723
44724 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44725
44726         * gnulib-tool (func_get_dependencies): Fix sed script to
44727         match only tests.
44728
44729 2007-10-17  Bruno Haible  <bruno@clisp.org>
44730
44731         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
44732         allow locale names without encoding suffix.
44733         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
44734         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44735
44736 2007-10-16  Bruno Haible  <bruno@clisp.org>
44737
44738         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
44739         * lib/getgroups.c (getgroups): Likewise.
44740         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
44741
44742 2007-10-16  Bruno Haible  <bruno@clisp.org>
44743
44744         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
44745         * modules/malloc-posix (License): Likewise.
44746         * modules/realloc-posix (License): Likewise.
44747         * modules/calloc-posix (License): Likewise.
44748         * modules/intprops (License): Change from GPL to LGPL, with
44749         Paul Eggert's approval.
44750
44751 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44752
44753         Merge glibc changes into lib/glob.c.
44754
44755         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
44756         2007-10-15 04:59:03 UTC.  Here are the changes:
44757
44758         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
44759
44760         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
44761
44762         * lib/glob.c: Add some branch prediction throughout.
44763
44764         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
44765
44766         [BZ #5103]
44767         * lib/glob.c (glob): Recognize patterns starting \/.
44768
44769         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
44770
44771         [BZ #3996]
44772         * lib/glob.c (attribute_hidden): Define if not defined.
44773         (glob): Unescape dirname, filename or username when needed and not
44774         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
44775         is NULL.  Handle unescaped [ in pattern without closing ].
44776         Don't pass GLOB_CHECK down to recursive glob for directories.
44777         (__glob_pattern_type): New function.
44778         (__glob_pattern_p): Implement using __glob_pattern_type.
44779         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
44780         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
44781         Remove unreachable code.
44782
44783         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
44784
44785         * lib/glob.c (glob_in_dir): Add some comments and asserts to
44786         explain why there are no leaks.
44787
44788         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
44789
44790         [BZ #3253]
44791         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
44792         time, rather allocate increasingly bigger arrays of pointers, if
44793         possible with alloca, if too large with malloc.
44794
44795 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44796
44797         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
44798         Problem reported by H.Merijn Brand in
44799         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
44800         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
44801         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
44802
44803 2007-10-15  Bruno Haible  <bruno@clisp.org>
44804
44805         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
44806         with explicit rpl_ prefix.
44807         * lib/fopen.c (fopen): Likewise.
44808         * lib/freopen.c (freopen): Likewise.
44809         * lib/iconv.c (iconv): Likewise.
44810         * lib/iconv_close.c (iconv_close): Likewise.
44811
44812 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44813
44814         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
44815
44816 2007-10-15  Bruno Haible  <bruno@clisp.org>
44817
44818         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
44819         <stddef.h> instead of <stdlib.h> since we only need NULL.
44820         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44821
44822 2007-10-15  Bruno Haible  <bruno@clisp.org>
44823
44824         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
44825         Replace paragraph talking about LIBOBJS.
44826         Reported by Colin Watson <cjwatson@debian.org>.
44827
44828 2007-10-15  Bruno Haible  <bruno@clisp.org>
44829
44830         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
44831         <stdlib.h> before using NULL.
44832
44833 2007-10-15  Simon Josefsson  <simon@josefsson.org>
44834
44835         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
44836         Reported by Albert Chin <china@thewrittenword.com>.
44837
44838 2007-10-14  Bruno Haible  <bruno@clisp.org>
44839
44840         * modules/iconv_open-utf-tests: New file.
44841         * tests/test-iconv-utf.c: New file.
44842
44843         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
44844         * modules/iconv_open-utf: New file.
44845         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
44846         (iconv, iconv_close): New declarations.
44847         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
44848         be defined.
44849         (iconv_open): Add special handling of conversion between UTF-8 and
44850         UTF-{16,32}{BE,LE}.
44851         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
44852         * lib/iconv_close.c: New file.
44853         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
44854         gl_FUNC_ICONV_OPEN.
44855         (gl_FUNC_ICONV_OPEN): Use it.
44856         (gl_FUNC_ICONV_OPEN_UTF): New macro.
44857         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
44858         and REPLACE_ICONV_UTF.
44859         * modules/iconv_open (Depends-on): Add c-strcase.
44860         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
44861         ICONV_CONST.
44862         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
44863
44864 2007-10-13  Albert Chin  <china@thewrittenword.com>
44865             Bruno Haible  <bruno@clisp.org>
44866
44867         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
44868         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
44869
44870 2007-10-13  Bruno Haible  <bruno@clisp.org>
44871
44872         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
44873         defined, use the ISO C99 inline semantics.
44874         * lib/argp.h (ARGP_EI): Likewise.
44875
44876 2007-10-13  Bruno Haible  <bruno@clisp.org>
44877
44878         Handle 'inline' change in gcc 4.3.0.
44879         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
44880         argp_fmtstream_write, argp_fmtstream_set_lmargin,
44881         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
44882         argp_fmtstream_point): Disable 'extern' declaration if the function
44883         definition is going to be provided inline.
44884         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
44885         semantics, not the ISO C99 inline semantics.
44886         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
44887         'extern' declaration if the function definition is going to be provided
44888         inline.
44889         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
44890         the GNU C inline semantics, not the ISO C99 inline semantics. With
44891         GCC 4.2, avoid a warning.
44892
44893 2007-10-13  Bruno Haible  <bruno@clisp.org>
44894
44895         * lib/freading.h (freading): Enable the use of __freading for
44896         glibc >= 2.7.
44897         * lib/freading.c (freading): Likewise.
44898
44899 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
44900
44901         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
44902         "warning: C99 inline functions are not supported; using GNU89".
44903
44904 2007-10-12  Bruno Haible  <bruno@clisp.org>
44905
44906         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
44907         of 2.
44908         * tests/test-ceilf2.c: New file.
44909         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
44910
44911         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
44912         * modules/ceilf-tests: Update.
44913
44914 2007-10-12  Bruno Haible  <bruno@clisp.org>
44915
44916         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
44917         of 2.
44918         * tests/test-floorf2.c: New file.
44919         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
44920
44921         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
44922         * modules/floorf-tests: Update.
44923
44924 2007-10-12  Bruno Haible  <bruno@clisp.org>
44925
44926         * tests/test-trunc2.c: New file.
44927         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
44928
44929         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
44930         * modules/trunc-tests: Update.
44931
44932 2007-10-12  Bruno Haible  <bruno@clisp.org>
44933
44934         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
44935         of 2.
44936         * tests/test-truncf2.c: New file.
44937         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
44938
44939         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
44940         * modules/truncf-tests: Update.
44941
44942 2007-10-11  Eric Blake  <ebb9@byu.net>
44943
44944         Don't claim strerror is broken on Interix.
44945         * doc/functions/strerror.texi (strerror): Known broken systems are
44946         now Solaris 8, and not Interix.
44947         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
44948         Interix on cross-compile.
44949         Reported by Martin Koeppe in
44950         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
44951
44952 2007-10-11  Bruno Haible  <bruno@clisp.org>
44953
44954         * modules/i-ring-tests: New file.
44955         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
44956         instead of assert.
44957
44958 2007-10-11  Bruno Haible  <bruno@clisp.org>
44959
44960         * modules/filenamecat-tests: New file.
44961         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
44962         * lib/filenamecat.c: Remove test code.
44963
44964 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
44965
44966         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
44967
44968         * lib/strerror.c: Include <string.h> always, to test interface,
44969         and to remove the need for the dummy.
44970         Include intprops.h to compute width instead of doing it ourselves
44971         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
44972         (strerror): Define it to return NULL if there's no system strerror.
44973         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
44974         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
44975         ancient pre-strerror Unix systems well any more.  Saying "unknown
44976         system error" is enough.
44977         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
44978         simpler strerror.c implementation.
44979         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
44980         Simplify the tests to reflect the simpler strerror implementation.
44981         * modules/strerror (Depends-on): Add intprops.
44982
44983 2007-10-09  Eric Blake  <ebb9@byu.net>
44984
44985         Silence test-fpending.
44986         * modules/fpending-tests (Files): Add wrapper script.
44987         * tests/test-fpending.sh: New file.
44988
44989 2007-10-09  Bruno Haible  <bruno@clisp.org>
44990
44991         * MODULES.html.sh (func_module): Don't create a hyperlink for
44992         function names like 'printf_frexp'.
44993         (Misc): Add crc, memxor.
44994         (Characteristics of floating types): New section.
44995         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
44996         isnanf-nolibm, signbit, trunc, truncf, truncl.
44997         (Enhancements for ISO C 99 functions): New subsection Input/output.
44998         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
44999         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
45000         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
45001         (Compatibility checks for POSIX:2001 functions): Add clock-time.
45002         (Enhancements for POSIX:2001 functions): Add chdir-long.
45003         (File system functions): Add areadlink, chdir-safer, read-file.
45004         Remove cycle-check.
45005         (File system as inode set): New section.
45006         (Date and time): Add gethrxtime.
45007         (Multithreading): Add openmp.
45008         (Internationalization functions): Add localename.
45009         (Unicode string functions): Add unistr/u*-mbsnlen.
45010         (Support for maintaining and releasing projects): Add git-version-gen.
45011         (Lone files): Remove directories.
45012
45013 2007-10-08  Ben Pfaff  <blp@gnu.org>
45014
45015         * lib/xmalloca.h: Fix typo in comment.
45016
45017 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45018
45019         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
45020         when avoiding problems with integer overflow.  Use a portable test
45021         instead.
45022
45023 2007-10-08  Simon Josefsson  <simon@josefsson.org>
45024
45025         * modules/dummy (License): Change to LGPLv2+.
45026         * modules/float (License): Likewise
45027         * modules/realloc (License): Likewise
45028         * modules/stdlib (License): Likewise
45029
45030 2007-10-07  Bruno Haible  <bruno@clisp.org>
45031
45032         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
45033         * floor.c (TWO_MANT_DIG): Likewise.
45034         * ceil.c (TWO_MANT_DIG): Likewise.
45035         Reported by Ben Pfaff.
45036
45037 2007-10-07  Bruno Haible  <bruno@clisp.org>
45038
45039         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
45040         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
45041         * lib/frexp.c (FUNC): Likewise.
45042         * lib/printf-frexp.h (printf_frexp): Likewise.
45043         * lib/printf-frexpl.h (printf_frexpl): Likewise.
45044         * lib/printf-frexp.c (FUNC): Likewise.
45045         Suggested by Jim Meyering.
45046
45047 2007-10-07  Jim Meyering  <meyering@redhat.com>
45048
45049         Make xnanosleep's integer overflow test more robust.
45050         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
45051         so that gcc-4.3.0 doesn't optimize away this test for overflow.
45052
45053 2007-10-07  Bruno Haible  <bruno@clisp.org>
45054
45055         * NEWS: Mention the license change.
45056
45057         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
45058         abbreviations in the modules files.
45059
45060         Change copyright notice from GPLv2+ to GPLv3+.
45061         * README: Change copyright notice.
45062         * MODULES.html.sh: Likewise.
45063         * build-aux/bootstrap.conf: Likewise.
45064         * build-aux/config.libpath: Likewise.
45065         * build-aux/csharpcomp.sh.in: Likewise.
45066         * build-aux/csharpexec.sh.in: Likewise.
45067         * build-aux/install-reloc: Likewise.
45068         * build-aux/javacomp.sh.in: Likewise.
45069         * build-aux/javaexec.sh.in: Likewise.
45070         * build-aux/ldd.sh.in: Likewise.
45071         * build-aux/reloc-ldflags: Likewise.
45072         * build-aux/relocatable.sh.in: Likewise.
45073         * build-aux/x-to-1.in: Likewise.
45074         * check-module: Likewise.
45075         * config/srclistvars.sh: Likewise.
45076         * gnulib-tool: Likewise.
45077         * lib/acl-internal.h: Likewise.
45078         * lib/acl.c: Likewise.
45079         * lib/acl.h: Likewise.
45080         * lib/acl_entries.c: Likewise.
45081         * lib/areadlink-with-size.c: Likewise.
45082         * lib/areadlink.c: Likewise.
45083         * lib/areadlink.h: Likewise.
45084         * lib/argmatch.c: Likewise.
45085         * lib/argmatch.h: Likewise.
45086         * lib/argp-ba.c: Likewise.
45087         * lib/argp-eexst.c: Likewise.
45088         * lib/argp-fmtstream.c: Likewise.
45089         * lib/argp-fmtstream.h: Likewise.
45090         * lib/argp-fs-xinl.c: Likewise.
45091         * lib/argp-help.c: Likewise.
45092         * lib/argp-namefrob.h: Likewise.
45093         * lib/argp-parse.c: Likewise.
45094         * lib/argp-pin.c: Likewise.
45095         * lib/argp-pv.c: Likewise.
45096         * lib/argp-pvh.c: Likewise.
45097         * lib/argp-xinl.c: Likewise.
45098         * lib/argp.h: Likewise.
45099         * lib/at-func.c: Likewise.
45100         * lib/atanl.c: Likewise.
45101         * lib/backupfile.c: Likewise.
45102         * lib/backupfile.h: Likewise.
45103         * lib/basename.c: Likewise.
45104         * lib/binary-io.h: Likewise.
45105         * lib/byteswap.in.h: Likewise.
45106         * lib/c-stack.c: Likewise.
45107         * lib/c-stack.h: Likewise.
45108         * lib/c-strcasestr.c: Likewise.
45109         * lib/c-strcasestr.h: Likewise.
45110         * lib/c-strstr.c: Likewise.
45111         * lib/c-strstr.h: Likewise.
45112         * lib/c-strtod.c: Likewise.
45113         * lib/calloc.c: Likewise.
45114         * lib/canon-host.c: Likewise.
45115         * lib/canon-host.h: Likewise.
45116         * lib/canonicalize-lgpl.c: Likewise.
45117         * lib/canonicalize.c: Likewise.
45118         * lib/canonicalize.h: Likewise.
45119         * lib/ceil.c: Likewise.
45120         * lib/ceilf.c: Likewise.
45121         * lib/ceill.c: Likewise.
45122         * lib/chdir-long.c: Likewise.
45123         * lib/chdir-long.h: Likewise.
45124         * lib/chdir-safer.c: Likewise.
45125         * lib/chdir-safer.h: Likewise.
45126         * lib/chown.c: Likewise.
45127         * lib/classpath.c: Likewise.
45128         * lib/classpath.h: Likewise.
45129         * lib/clean-temp.c: Likewise.
45130         * lib/clean-temp.h: Likewise.
45131         * lib/cloexec.c: Likewise.
45132         * lib/close-stream.c: Likewise.
45133         * lib/closein.c: Likewise.
45134         * lib/closein.h: Likewise.
45135         * lib/closeout.c: Likewise.
45136         * lib/closeout.h: Likewise.
45137         * lib/concat-filename.c: Likewise.
45138         * lib/copy-file.c: Likewise.
45139         * lib/copy-file.h: Likewise.
45140         * lib/count-one-bits.h: Likewise.
45141         * lib/crc.c: Likewise.
45142         * lib/crc.h: Likewise.
45143         * lib/creat-safer.c: Likewise.
45144         * lib/csharpcomp.c: Likewise.
45145         * lib/csharpcomp.h: Likewise.
45146         * lib/csharpexec.c: Likewise.
45147         * lib/csharpexec.h: Likewise.
45148         * lib/cycle-check.c: Likewise.
45149         * lib/cycle-check.h: Likewise.
45150         * lib/diacrit.c: Likewise.
45151         * lib/diacrit.h: Likewise.
45152         * lib/diffseq.h: Likewise.
45153         * lib/dirchownmod.c: Likewise.
45154         * lib/dirent.in.h: Likewise.
45155         * lib/dirfd.c: Likewise.
45156         * lib/dirfd.h: Likewise.
45157         * lib/dirname.c: Likewise.
45158         * lib/dirname.h: Likewise.
45159         * lib/dummy.c: Likewise.
45160         * lib/dup-safer.c: Likewise.
45161         * lib/dup2.c: Likewise.
45162         * lib/eealloc.h: Likewise.
45163         * lib/error.c: Likewise.
45164         * lib/error.h: Likewise.
45165         * lib/euidaccess.c: Likewise.
45166         * lib/exclude.c: Likewise.
45167         * lib/exclude.h: Likewise.
45168         * lib/execute.c: Likewise.
45169         * lib/execute.h: Likewise.
45170         * lib/exitfail.c: Likewise.
45171         * lib/exitfail.h: Likewise.
45172         * lib/expl.c: Likewise.
45173         * lib/fatal-signal.c: Likewise.
45174         * lib/fatal-signal.h: Likewise.
45175         * lib/fbufmode.c: Likewise.
45176         * lib/fbufmode.h: Likewise.
45177         * lib/fchdir.c: Likewise.
45178         * lib/fchmodat.c: Likewise.
45179         * lib/fchownat.c: Likewise.
45180         * lib/fcntl--.h: Likewise.
45181         * lib/fcntl-safer.h: Likewise.
45182         * lib/fcntl.in.h: Likewise.
45183         * lib/fd-safer.c: Likewise.
45184         * lib/fflush.c: Likewise.
45185         * lib/file-has-acl.c: Likewise.
45186         * lib/file-set.c: Likewise.
45187         * lib/file-type.c: Likewise.
45188         * lib/file-type.h: Likewise.
45189         * lib/fileblocks.c: Likewise.
45190         * lib/filemode.c: Likewise.
45191         * lib/filemode.h: Likewise.
45192         * lib/filename.h: Likewise.
45193         * lib/filenamecat.c: Likewise.
45194         * lib/filenamecat.h: Likewise.
45195         * lib/findprog.c: Likewise.
45196         * lib/findprog.h: Likewise.
45197         * lib/float.in.h: Likewise.
45198         * lib/floor.c: Likewise.
45199         * lib/floorf.c: Likewise.
45200         * lib/floorl.c: Likewise.
45201         * lib/fopen-safer.c: Likewise.
45202         * lib/fopen.c: Likewise.
45203         * lib/fpending.c: Likewise.
45204         * lib/fpending.h: Likewise.
45205         * lib/fprintf.c: Likewise.
45206         * lib/fprintftime.h: Likewise.
45207         * lib/fpucw.h: Likewise.
45208         * lib/fpurge.c: Likewise.
45209         * lib/fpurge.h: Likewise.
45210         * lib/freadable.c: Likewise.
45211         * lib/freadable.h: Likewise.
45212         * lib/freadahead.c: Likewise.
45213         * lib/freadahead.h: Likewise.
45214         * lib/freading.c: Likewise.
45215         * lib/freading.h: Likewise.
45216         * lib/free.c: Likewise.
45217         * lib/freopen.c: Likewise.
45218         * lib/frexp.c: Likewise.
45219         * lib/frexpl.c: Likewise.
45220         * lib/fseek.c: Likewise.
45221         * lib/fseterr.c: Likewise.
45222         * lib/fseterr.h: Likewise.
45223         * lib/fstatat.c: Likewise.
45224         * lib/fstrcmp.c: Likewise.
45225         * lib/fstrcmp.h: Likewise.
45226         * lib/fsusage.c: Likewise.
45227         * lib/fsusage.h: Likewise.
45228         * lib/ftell.c: Likewise.
45229         * lib/ftello.c: Likewise.
45230         * lib/fts-cycle.c: Likewise.
45231         * lib/fts.c: Likewise.
45232         * lib/fts_.h: Likewise.
45233         * lib/full-read.c: Likewise.
45234         * lib/full-read.h: Likewise.
45235         * lib/full-write.c: Likewise.
45236         * lib/full-write.h: Likewise.
45237         * lib/fwritable.c: Likewise.
45238         * lib/fwritable.h: Likewise.
45239         * lib/fwriteerror.c: Likewise.
45240         * lib/fwriteerror.h: Likewise.
45241         * lib/fwriting.c: Likewise.
45242         * lib/fwriting.h: Likewise.
45243         * lib/gcd.c: Likewise.
45244         * lib/gcd.h: Likewise.
45245         * lib/getcwd.c: Likewise.
45246         * lib/getdate.h: Likewise.
45247         * lib/getdate.y: Likewise.
45248         * lib/getdomainname.c: Likewise.
45249         * lib/getdomainname.h: Likewise.
45250         * lib/getgroups.c: Likewise.
45251         * lib/gethostname.c: Likewise.
45252         * lib/gethrxtime.c: Likewise.
45253         * lib/gethrxtime.h: Likewise.
45254         * lib/getloadavg.c: Likewise.
45255         * lib/getndelim2.c: Likewise.
45256         * lib/getndelim2.h: Likewise.
45257         * lib/getnline.c: Likewise.
45258         * lib/getnline.h: Likewise.
45259         * lib/getopt.c: Likewise.
45260         * lib/getopt.in.h: Likewise.
45261         * lib/getopt1.c: Likewise.
45262         * lib/getopt_int.h: Likewise.
45263         * lib/getpagesize.h: Likewise.
45264         * lib/getsubopt.c: Likewise.
45265         * lib/gettime.c: Likewise.
45266         * lib/getugroups.c: Likewise.
45267         * lib/getugroups.h: Likewise.
45268         * lib/getusershell.c: Likewise.
45269         * lib/gl_anyavltree_list1.h: Likewise.
45270         * lib/gl_anyavltree_list2.h: Likewise.
45271         * lib/gl_anyhash_list1.h: Likewise.
45272         * lib/gl_anyhash_list2.h: Likewise.
45273         * lib/gl_anylinked_list1.h: Likewise.
45274         * lib/gl_anylinked_list2.h: Likewise.
45275         * lib/gl_anyrbtree_list1.h: Likewise.
45276         * lib/gl_anyrbtree_list2.h: Likewise.
45277         * lib/gl_anytree_list1.h: Likewise.
45278         * lib/gl_anytree_list2.h: Likewise.
45279         * lib/gl_anytree_oset.h: Likewise.
45280         * lib/gl_anytreehash_list1.h: Likewise.
45281         * lib/gl_anytreehash_list2.h: Likewise.
45282         * lib/gl_array_list.c: Likewise.
45283         * lib/gl_array_list.h: Likewise.
45284         * lib/gl_array_oset.c: Likewise.
45285         * lib/gl_array_oset.h: Likewise.
45286         * lib/gl_avltree_list.c: Likewise.
45287         * lib/gl_avltree_list.h: Likewise.
45288         * lib/gl_avltree_oset.c: Likewise.
45289         * lib/gl_avltree_oset.h: Likewise.
45290         * lib/gl_avltreehash_list.c: Likewise.
45291         * lib/gl_avltreehash_list.h: Likewise.
45292         * lib/gl_carray_list.c: Likewise.
45293         * lib/gl_carray_list.h: Likewise.
45294         * lib/gl_linked_list.c: Likewise.
45295         * lib/gl_linked_list.h: Likewise.
45296         * lib/gl_linkedhash_list.c: Likewise.
45297         * lib/gl_linkedhash_list.h: Likewise.
45298         * lib/gl_list.c: Likewise.
45299         * lib/gl_list.h: Likewise.
45300         * lib/gl_oset.c: Likewise.
45301         * lib/gl_oset.h: Likewise.
45302         * lib/gl_rbtree_list.c: Likewise.
45303         * lib/gl_rbtree_list.h: Likewise.
45304         * lib/gl_rbtree_oset.c: Likewise.
45305         * lib/gl_rbtree_oset.h: Likewise.
45306         * lib/gl_rbtreehash_list.c: Likewise.
45307         * lib/gl_rbtreehash_list.h: Likewise.
45308         * lib/gl_sublist.c: Likewise.
45309         * lib/gl_sublist.h: Likewise.
45310         * lib/group-member.c: Likewise.
45311         * lib/group-member.h: Likewise.
45312         * lib/hard-locale.c: Likewise.
45313         * lib/hard-locale.h: Likewise.
45314         * lib/hash-pjw.c: Likewise.
45315         * lib/hash-pjw.h: Likewise.
45316         * lib/hash-triple.c: Likewise.
45317         * lib/hash.c: Likewise.
45318         * lib/hash.h: Likewise.
45319         * lib/human.c: Likewise.
45320         * lib/human.h: Likewise.
45321         * lib/i-ring.c: Likewise.
45322         * lib/i-ring.h: Likewise.
45323         * lib/idcache.c: Likewise.
45324         * lib/imaxabs.c: Likewise.
45325         * lib/imaxdiv.c: Likewise.
45326         * lib/inet_pton.c: Likewise.
45327         * lib/inet_pton.h: Likewise.
45328         * lib/intprops.h: Likewise.
45329         * lib/inttostr.c: Likewise.
45330         * lib/inttostr.h: Likewise.
45331         * lib/inttypes.in.h: Likewise.
45332         * lib/isapipe.c: Likewise.
45333         * lib/isdir.c: Likewise.
45334         * lib/isnan.c: Likewise.
45335         * lib/isnan.h: Likewise.
45336         * lib/isnanf.c: Likewise.
45337         * lib/isnanf.h: Likewise.
45338         * lib/isnanl-nolibm.h: Likewise.
45339         * lib/isnanl.c: Likewise.
45340         * lib/isnanl.h: Likewise.
45341         * lib/javacomp.c: Likewise.
45342         * lib/javacomp.h: Likewise.
45343         * lib/javaexec.c: Likewise.
45344         * lib/javaexec.h: Likewise.
45345         * lib/javaversion.c: Likewise.
45346         * lib/javaversion.h: Likewise.
45347         * lib/javaversion.java: Likewise.
45348         * lib/lbrkprop.h: Likewise.
45349         * lib/lchmod.h: Likewise.
45350         * lib/lchown.c: Likewise.
45351         * lib/ldexpl.c: Likewise.
45352         * lib/linebreak.c: Likewise.
45353         * lib/linebreak.h: Likewise.
45354         * lib/linebuffer.c: Likewise.
45355         * lib/linebuffer.h: Likewise.
45356         * lib/locale.in.h: Likewise.
45357         * lib/logl.c: Likewise.
45358         * lib/long-options.c: Likewise.
45359         * lib/long-options.h: Likewise.
45360         * lib/lstat.c: Likewise.
45361         * lib/lstat.h: Likewise.
45362         * lib/math.in.h: Likewise.
45363         * lib/mbchar.c: Likewise.
45364         * lib/mbchar.h: Likewise.
45365         * lib/mbfile.h: Likewise.
45366         * lib/mbiter.h: Likewise.
45367         * lib/mbscasecmp.c: Likewise.
45368         * lib/mbscasestr.c: Likewise.
45369         * lib/mbschr.c: Likewise.
45370         * lib/mbscspn.c: Likewise.
45371         * lib/mbslen.c: Likewise.
45372         * lib/mbsncasecmp.c: Likewise.
45373         * lib/mbsnlen.c: Likewise.
45374         * lib/mbspbrk.c: Likewise.
45375         * lib/mbspcasecmp.c: Likewise.
45376         * lib/mbsrchr.c: Likewise.
45377         * lib/mbssep.c: Likewise.
45378         * lib/mbsspn.c: Likewise.
45379         * lib/mbsstr.c: Likewise.
45380         * lib/mbstok_r.c: Likewise.
45381         * lib/mbswidth.c: Likewise.
45382         * lib/mbswidth.h: Likewise.
45383         * lib/mbuiter.h: Likewise.
45384         * lib/memcasecmp.c: Likewise.
45385         * lib/memcasecmp.h: Likewise.
45386         * lib/memchr.c: Likewise.
45387         * lib/memcmp.c: Likewise.
45388         * lib/memcoll.c: Likewise.
45389         * lib/memcoll.h: Likewise.
45390         * lib/memcpy.c: Likewise.
45391         * lib/memrchr.c: Likewise.
45392         * lib/mkancesdirs.c: Likewise.
45393         * lib/mkdir-p.c: Likewise.
45394         * lib/mkdir-p.h: Likewise.
45395         * lib/mkdir.c: Likewise.
45396         * lib/mkdirat.c: Likewise.
45397         * lib/mkdtemp.c: Likewise.
45398         * lib/mkstemp-safer.c: Likewise.
45399         * lib/mkstemp.c: Likewise.
45400         * lib/modechange.c: Likewise.
45401         * lib/modechange.h: Likewise.
45402         * lib/mountlist.c: Likewise.
45403         * lib/mountlist.h: Likewise.
45404         * lib/mpsort.c: Likewise.
45405         * lib/nanosleep.c: Likewise.
45406         * lib/obstack.c: Likewise.
45407         * lib/obstack.h: Likewise.
45408         * lib/open-safer.c: Likewise.
45409         * lib/open.c: Likewise.
45410         * lib/openat-die.c: Likewise.
45411         * lib/openat-priv.h: Likewise.
45412         * lib/openat-proc.c: Likewise.
45413         * lib/openat.c: Likewise.
45414         * lib/openat.h: Likewise.
45415         * lib/pagealign_alloc.c: Likewise.
45416         * lib/pagealign_alloc.h: Likewise.
45417         * lib/physmem.c: Likewise.
45418         * lib/physmem.h: Likewise.
45419         * lib/pipe-safer.c: Likewise.
45420         * lib/pipe.c: Likewise.
45421         * lib/pipe.h: Likewise.
45422         * lib/posixtm.c: Likewise.
45423         * lib/posixtm.h: Likewise.
45424         * lib/posixver.c: Likewise.
45425         * lib/printf-frexp.c: Likewise.
45426         * lib/printf-frexp.h: Likewise.
45427         * lib/printf-frexpl.c: Likewise.
45428         * lib/printf-frexpl.h: Likewise.
45429         * lib/printf.c: Likewise.
45430         * lib/progname.c: Likewise.
45431         * lib/progname.h: Likewise.
45432         * lib/progreloc.c: Likewise.
45433         * lib/putenv.c: Likewise.
45434         * lib/quote.c: Likewise.
45435         * lib/quote.h: Likewise.
45436         * lib/quotearg.c: Likewise.
45437         * lib/quotearg.h: Likewise.
45438         * lib/raise.c: Likewise.
45439         * lib/readline.c: Likewise.
45440         * lib/readline.h: Likewise.
45441         * lib/readlink.c: Likewise.
45442         * lib/readtokens.c: Likewise.
45443         * lib/readtokens.h: Likewise.
45444         * lib/readtokens0.c: Likewise.
45445         * lib/readtokens0.h: Likewise.
45446         * lib/readutmp.c: Likewise.
45447         * lib/readutmp.h: Likewise.
45448         * lib/realloc.c: Likewise.
45449         * lib/relocwrapper.c: Likewise.
45450         * lib/rename-dest-slash.c: Likewise.
45451         * lib/rename.c: Likewise.
45452         * lib/rmdir.c: Likewise.
45453         * lib/rpmatch.c: Likewise.
45454         * lib/safe-read.c: Likewise.
45455         * lib/safe-read.h: Likewise.
45456         * lib/safe-write.c: Likewise.
45457         * lib/safe-write.h: Likewise.
45458         * lib/same-inode.h: Likewise.
45459         * lib/same.c: Likewise.
45460         * lib/same.h: Likewise.
45461         * lib/save-cwd.c: Likewise.
45462         * lib/save-cwd.h: Likewise.
45463         * lib/savedir.c: Likewise.
45464         * lib/savedir.h: Likewise.
45465         * lib/savewd.c: Likewise.
45466         * lib/savewd.h: Likewise.
45467         * lib/search.in.h: Likewise.
45468         * lib/setenv.c: Likewise.
45469         * lib/setenv.h: Likewise.
45470         * lib/settime.c: Likewise.
45471         * lib/sh-quote.c: Likewise.
45472         * lib/sh-quote.h: Likewise.
45473         * lib/sig2str.c: Likewise.
45474         * lib/sig2str.h: Likewise.
45475         * lib/signal.in.h: Likewise.
45476         * lib/signbitd.c: Likewise.
45477         * lib/signbitf.c: Likewise.
45478         * lib/signbitl.c: Likewise.
45479         * lib/sigprocmask.c: Likewise.
45480         * lib/sincosl.c: Likewise.
45481         * lib/sleep.c: Likewise.
45482         * lib/sprintf.c: Likewise.
45483         * lib/sqrtl.c: Likewise.
45484         * lib/stat-time.h: Likewise.
45485         * lib/stdio--.h: Likewise.
45486         * lib/stdio-safer.h: Likewise.
45487         * lib/stdlib--.h: Likewise.
45488         * lib/stdlib-safer.h: Likewise.
45489         * lib/stdlib.in.h: Likewise.
45490         * lib/stpcpy.c: Likewise.
45491         * lib/stpncpy.c: Likewise.
45492         * lib/strchrnul.c: Likewise.
45493         * lib/strcspn.c: Likewise.
45494         * lib/strerror.c: Likewise.
45495         * lib/strftime.c: Likewise.
45496         * lib/strftime.h: Likewise.
45497         * lib/striconveh.c: Likewise.
45498         * lib/striconveh.h: Likewise.
45499         * lib/striconveha.c: Likewise.
45500         * lib/striconveha.h: Likewise.
45501         * lib/stripslash.c: Likewise.
45502         * lib/strnlen1.c: Likewise.
45503         * lib/strnlen1.h: Likewise.
45504         * lib/strtod.c: Likewise.
45505         * lib/strtoimax.c: Likewise.
45506         * lib/strtok_r.c: Likewise.
45507         * lib/strtol.c: Likewise.
45508         * lib/strtoll.c: Likewise.
45509         * lib/strtoul.c: Likewise.
45510         * lib/strtoull.c: Likewise.
45511         * lib/sysexits.in.h: Likewise.
45512         * lib/tempname.c: Likewise.
45513         * lib/tempname.h: Likewise.
45514         * lib/timespec.h: Likewise.
45515         * lib/tls.c: Likewise.
45516         * lib/tls.h: Likewise.
45517         * lib/tmpdir.c: Likewise.
45518         * lib/tmpdir.h: Likewise.
45519         * lib/tmpfile-safer.c: Likewise.
45520         * lib/tmpfile.c: Likewise.
45521         * lib/trigl.c: Likewise.
45522         * lib/trigl.h: Likewise.
45523         * lib/trim.c: Likewise.
45524         * lib/trim.h: Likewise.
45525         * lib/trunc.c: Likewise.
45526         * lib/truncf.c: Likewise.
45527         * lib/truncl.c: Likewise.
45528         * lib/tsearch.c: Likewise.
45529         * lib/unicodeio.c: Likewise.
45530         * lib/unicodeio.h: Likewise.
45531         * lib/unistd--.h: Likewise.
45532         * lib/unistd-safer.h: Likewise.
45533         * lib/unistdio/ulc-fprintf.c: Likewise.
45534         * lib/unistdio/ulc-vfprintf.c: Likewise.
45535         * lib/unlinkdir.c: Likewise.
45536         * lib/unlinkdir.h: Likewise.
45537         * lib/unlocked-io.h: Likewise.
45538         * lib/unsetenv.c: Likewise.
45539         * lib/userspec.c: Likewise.
45540         * lib/utime.c: Likewise.
45541         * lib/utimecmp.c: Likewise.
45542         * lib/utimecmp.h: Likewise.
45543         * lib/utimens.c: Likewise.
45544         * lib/verify.h: Likewise.
45545         * lib/verror.c: Likewise.
45546         * lib/verror.h: Likewise.
45547         * lib/version-etc-fsf.c: Likewise.
45548         * lib/version-etc.c: Likewise.
45549         * lib/version-etc.h: Likewise.
45550         * lib/vfprintf.c: Likewise.
45551         * lib/vprintf.c: Likewise.
45552         * lib/vsprintf.c: Likewise.
45553         * lib/w32spawn.h: Likewise.
45554         * lib/wait-process.c: Likewise.
45555         * lib/wait-process.h: Likewise.
45556         * lib/wcwidth.c: Likewise.
45557         * lib/write-any-file.c: Likewise.
45558         * lib/xalloc-die.c: Likewise.
45559         * lib/xalloc.h: Likewise.
45560         * lib/xasprintf.c: Likewise.
45561         * lib/xgetcwd.c: Likewise.
45562         * lib/xgetcwd.h: Likewise.
45563         * lib/xgetdomainname.c: Likewise.
45564         * lib/xgetdomainname.h: Likewise.
45565         * lib/xgethostname.c: Likewise.
45566         * lib/xmalloc.c: Likewise.
45567         * lib/xmalloca.c: Likewise.
45568         * lib/xmalloca.h: Likewise.
45569         * lib/xmemcoll.c: Likewise.
45570         * lib/xnanosleep.c: Likewise.
45571         * lib/xreadlink.c: Likewise.
45572         * lib/xreadlink.h: Likewise.
45573         * lib/xsetenv.c: Likewise.
45574         * lib/xsetenv.h: Likewise.
45575         * lib/xstriconv.c: Likewise.
45576         * lib/xstriconv.h: Likewise.
45577         * lib/xstrndup.c: Likewise.
45578         * lib/xstrndup.h: Likewise.
45579         * lib/xstrtod.c: Likewise.
45580         * lib/xstrtod.h: Likewise.
45581         * lib/xstrtol-error.c: Likewise.
45582         * lib/xstrtol.c: Likewise.
45583         * lib/xstrtol.h: Likewise.
45584         * lib/xtime.h: Likewise.
45585         * lib/xvasprintf.c: Likewise.
45586         * lib/xvasprintf.h: Likewise.
45587         * lib/yesno.c: Likewise.
45588         * lib/yesno.h: Likewise.
45589         * posix-modules: Likewise.
45590         * tests/test-alloca-opt.c: Likewise.
45591         * tests/test-arcfour.c: Likewise.
45592         * tests/test-arctwo.c: Likewise.
45593         * tests/test-argmatch.c: Likewise.
45594         * tests/test-argp-2.sh: Likewise.
45595         * tests/test-argp.c: Likewise.
45596         * tests/test-arpa_inet.c: Likewise.
45597         * tests/test-array_list.c: Likewise.
45598         * tests/test-array_oset.c: Likewise.
45599         * tests/test-atexit.c: Likewise.
45600         * tests/test-avltree_list.c: Likewise.
45601         * tests/test-avltree_oset.c: Likewise.
45602         * tests/test-avltreehash_list.c: Likewise.
45603         * tests/test-base64.c: Likewise.
45604         * tests/test-binary-io.c: Likewise.
45605         * tests/test-byteswap.c: Likewise.
45606         * tests/test-c-ctype.c: Likewise.
45607         * tests/test-c-strcasecmp.c: Likewise.
45608         * tests/test-c-strcasestr.c: Likewise.
45609         * tests/test-c-strncasecmp.c: Likewise.
45610         * tests/test-c-strstr.c: Likewise.
45611         * tests/test-canonicalize-lgpl.c: Likewise.
45612         * tests/test-canonicalize.c: Likewise.
45613         * tests/test-carray_list.c: Likewise.
45614         * tests/test-ceilf.c: Likewise.
45615         * tests/test-ceill.c: Likewise.
45616         * tests/test-count-one-bits.c: Likewise.
45617         * tests/test-crc.c: Likewise.
45618         * tests/test-dirname.c: Likewise.
45619         * tests/test-fbufmode.c: Likewise.
45620         * tests/test-fcntl.c: Likewise.
45621         * tests/test-fflush.c: Likewise.
45622         * tests/test-floorf.c: Likewise.
45623         * tests/test-floorl.c: Likewise.
45624         * tests/test-fopen.c: Likewise.
45625         * tests/test-fprintf-posix.c: Likewise.
45626         * tests/test-fprintf-posix.h: Likewise.
45627         * tests/test-fpurge.c: Likewise.
45628         * tests/test-freadable.c: Likewise.
45629         * tests/test-freadahead.c: Likewise.
45630         * tests/test-freading.c: Likewise.
45631         * tests/test-freopen.c: Likewise.
45632         * tests/test-frexp.c: Likewise.
45633         * tests/test-frexpl.c: Likewise.
45634         * tests/test-fseek.c: Likewise.
45635         * tests/test-fseeko.c: Likewise.
45636         * tests/test-fseterr.c: Likewise.
45637         * tests/test-fstrcmp.c: Likewise.
45638         * tests/test-ftell.c: Likewise.
45639         * tests/test-ftello.c: Likewise.
45640         * tests/test-fwritable.c: Likewise.
45641         * tests/test-fwriting.c: Likewise.
45642         * tests/test-getaddrinfo.c: Likewise.
45643         * tests/test-getpass.c: Likewise.
45644         * tests/test-gettimeofday.c: Likewise.
45645         * tests/test-hmac-md5.c: Likewise.
45646         * tests/test-hmac-sha1.c: Likewise.
45647         * tests/test-iconv.c: Likewise.
45648         * tests/test-iconvme.c: Likewise.
45649         * tests/test-inttypes.c: Likewise.
45650         * tests/test-isnan.c: Likewise.
45651         * tests/test-isnanf.c: Likewise.
45652         * tests/test-isnanl-nolibm.c: Likewise.
45653         * tests/test-isnanl.c: Likewise.
45654         * tests/test-isnanl.h: Likewise.
45655         * tests/test-ldexpl.c: Likewise.
45656         * tests/test-linked_list.c: Likewise.
45657         * tests/test-linkedhash_list.c: Likewise.
45658         * tests/test-locale.c: Likewise.
45659         * tests/test-localename.c: Likewise.
45660         * tests/test-lock.c: Likewise.
45661         * tests/test-lseek.c: Likewise.
45662         * tests/test-malloca.c: Likewise.
45663         * tests/test-math.c: Likewise.
45664         * tests/test-mbscasecmp.c: Likewise.
45665         * tests/test-mbscasestr1.c: Likewise.
45666         * tests/test-mbscasestr2.c: Likewise.
45667         * tests/test-mbscasestr3.c: Likewise.
45668         * tests/test-mbscasestr4.c: Likewise.
45669         * tests/test-mbschr.c: Likewise.
45670         * tests/test-mbscspn.c: Likewise.
45671         * tests/test-mbsncasecmp.c: Likewise.
45672         * tests/test-mbspbrk.c: Likewise.
45673         * tests/test-mbspcasecmp.c: Likewise.
45674         * tests/test-mbsrchr.c: Likewise.
45675         * tests/test-mbsspn.c: Likewise.
45676         * tests/test-mbsstr1.c: Likewise.
45677         * tests/test-mbsstr2.c: Likewise.
45678         * tests/test-mbsstr3.c: Likewise.
45679         * tests/test-md5.c: Likewise.
45680         * tests/test-memmem.c: Likewise.
45681         * tests/test-netinet_in.c: Likewise.
45682         * tests/test-open.c: Likewise.
45683         * tests/test-printf-frexp.c: Likewise.
45684         * tests/test-printf-frexpl.c: Likewise.
45685         * tests/test-printf-posix.c: Likewise.
45686         * tests/test-printf-posix.h: Likewise.
45687         * tests/test-rbtree_list.c: Likewise.
45688         * tests/test-rbtree_oset.c: Likewise.
45689         * tests/test-rbtreehash_list.c: Likewise.
45690         * tests/test-read-file.c: Likewise.
45691         * tests/test-rijndael.c: Likewise.
45692         * tests/test-search.c: Likewise.
45693         * tests/test-signbit.c: Likewise.
45694         * tests/test-sleep.c: Likewise.
45695         * tests/test-snprintf-posix.c: Likewise.
45696         * tests/test-snprintf-posix.h: Likewise.
45697         * tests/test-snprintf.c: Likewise.
45698         * tests/test-sprintf-posix.c: Likewise.
45699         * tests/test-sprintf-posix.h: Likewise.
45700         * tests/test-stat-time.c: Likewise.
45701         * tests/test-stdbool.c: Likewise.
45702         * tests/test-stdint.c: Likewise.
45703         * tests/test-stdio.c: Likewise.
45704         * tests/test-stdlib.c: Likewise.
45705         * tests/test-stpncpy.c: Likewise.
45706         * tests/test-strcasestr.c: Likewise.
45707         * tests/test-striconv.c: Likewise.
45708         * tests/test-striconveh.c: Likewise.
45709         * tests/test-striconveha.c: Likewise.
45710         * tests/test-string.c: Likewise.
45711         * tests/test-sys_select.c: Likewise.
45712         * tests/test-sys_socket.c: Likewise.
45713         * tests/test-sys_stat.c: Likewise.
45714         * tests/test-sys_time.c: Likewise.
45715         * tests/test-sysexits.c: Likewise.
45716         * tests/test-time.c: Likewise.
45717         * tests/test-tls.c: Likewise.
45718         * tests/test-trunc.c: Likewise.
45719         * tests/test-truncf.c: Likewise.
45720         * tests/test-truncl.c: Likewise.
45721         * tests/test-unistd.c: Likewise.
45722         * tests/test-vasnprintf-posix.c: Likewise.
45723         * tests/test-vasnprintf-posix2.c: Likewise.
45724         * tests/test-vasnprintf.c: Likewise.
45725         * tests/test-vasprintf-posix.c: Likewise.
45726         * tests/test-vasprintf.c: Likewise.
45727         * tests/test-verify.c: Likewise.
45728         * tests/test-vfprintf-posix.c: Likewise.
45729         * tests/test-vprintf-posix.c: Likewise.
45730         * tests/test-vsnprintf-posix.c: Likewise.
45731         * tests/test-vsnprintf.c: Likewise.
45732         * tests/test-vsprintf-posix.c: Likewise.
45733         * tests/test-wchar.c: Likewise.
45734         * tests/test-wctype.c: Likewise.
45735         * tests/test-wcwidth.c: Likewise.
45736         * tests/test-xstrtol.c: Likewise.
45737         * tests/test-xvasprintf.c: Likewise.
45738         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
45739         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
45740         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
45741         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
45742         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
45743         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
45744         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
45745         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
45746         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
45747         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
45748         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
45749         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
45750         * tests/uniname/test-uninames.c: Likewise.
45751         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
45752         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
45753         * tests/unistdio/test-u16-printf1.h: Likewise.
45754         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
45755         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
45756         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
45757         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
45758         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
45759         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
45760         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
45761         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
45762         * tests/unistdio/test-u32-printf1.h: Likewise.
45763         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
45764         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
45765         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
45766         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
45767         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
45768         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
45769         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
45770         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
45771         * tests/unistdio/test-u8-printf1.h: Likewise.
45772         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
45773         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
45774         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
45775         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
45776         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
45777         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
45778         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
45779         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
45780         * tests/unistdio/test-ulc-printf1.h: Likewise.
45781         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
45782         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
45783         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
45784         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
45785         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
45786         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
45787         * tests/uniwidth/test-u16-strwidth.c: Likewise.
45788         * tests/uniwidth/test-u16-width.c: Likewise.
45789         * tests/uniwidth/test-u32-strwidth.c: Likewise.
45790         * tests/uniwidth/test-u32-width.c: Likewise.
45791         * tests/uniwidth/test-u8-strwidth.c: Likewise.
45792         * tests/uniwidth/test-u8-width.c: Likewise.
45793         * tests/uniwidth/test-uc_width.c: Likewise.
45794         * config/srclist-update: Likewise.
45795         (fixlicense): Update to GPLv3+.
45796
45797         Change copyright notice from LGPLv2.1+ to LGPLv3+.
45798         * tests/test-tsearch.c: Change copyright notice.
45799
45800         Change copyright notice from LGPLv2.0+ to LGPLv3+.
45801         * lib/c-strcaseeq.h: Change copyright notice.
45802         * lib/streq.h: Likewise.
45803         * lib/uniconv.h: Likewise.
45804         * lib/uniconv/u-conv-from-enc.h: Likewise.
45805         * lib/uniconv/u-conv-to-enc.h: Likewise.
45806         * lib/uniconv/u-strconv-from-enc.h: Likewise.
45807         * lib/uniconv/u-strconv-to-enc.h: Likewise.
45808         * lib/uniconv/u16-conv-from-enc.c: Likewise.
45809         * lib/uniconv/u16-conv-to-enc.c: Likewise.
45810         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
45811         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
45812         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
45813         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
45814         * lib/uniconv/u32-conv-from-enc.c: Likewise.
45815         * lib/uniconv/u32-conv-to-enc.c: Likewise.
45816         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
45817         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
45818         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
45819         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
45820         * lib/uniconv/u8-conv-from-enc.c: Likewise.
45821         * lib/uniconv/u8-conv-to-enc.c: Likewise.
45822         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
45823         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
45824         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
45825         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
45826         * lib/uniname.h: Likewise.
45827         * lib/uniname/uniname.c: Likewise.
45828         * lib/unistdio.h: Likewise.
45829         * lib/unistdio/u-asnprintf.h: Likewise.
45830         * lib/unistdio/u-asprintf.h: Likewise.
45831         * lib/unistdio/u-printf-args.c: Likewise.
45832         * lib/unistdio/u-printf-args.h: Likewise.
45833         * lib/unistdio/u-printf-parse.h: Likewise.
45834         * lib/unistdio/u-snprintf.h: Likewise.
45835         * lib/unistdio/u-sprintf.h: Likewise.
45836         * lib/unistdio/u-vasprintf.h: Likewise.
45837         * lib/unistdio/u-vsnprintf.h: Likewise.
45838         * lib/unistdio/u-vsprintf.h: Likewise.
45839         * lib/unistdio/u16-asnprintf.c: Likewise.
45840         * lib/unistdio/u16-asprintf.c: Likewise.
45841         * lib/unistdio/u16-printf-parse.c: Likewise.
45842         * lib/unistdio/u16-snprintf.c: Likewise.
45843         * lib/unistdio/u16-sprintf.c: Likewise.
45844         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
45845         * lib/unistdio/u16-u16-asprintf.c: Likewise.
45846         * lib/unistdio/u16-u16-snprintf.c: Likewise.
45847         * lib/unistdio/u16-u16-sprintf.c: Likewise.
45848         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
45849         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
45850         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
45851         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
45852         * lib/unistdio/u16-vasnprintf.c: Likewise.
45853         * lib/unistdio/u16-vasprintf.c: Likewise.
45854         * lib/unistdio/u16-vsnprintf.c: Likewise.
45855         * lib/unistdio/u16-vsprintf.c: Likewise.
45856         * lib/unistdio/u32-asnprintf.c: Likewise.
45857         * lib/unistdio/u32-asprintf.c: Likewise.
45858         * lib/unistdio/u32-printf-parse.c: Likewise.
45859         * lib/unistdio/u32-snprintf.c: Likewise.
45860         * lib/unistdio/u32-sprintf.c: Likewise.
45861         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
45862         * lib/unistdio/u32-u32-asprintf.c: Likewise.
45863         * lib/unistdio/u32-u32-snprintf.c: Likewise.
45864         * lib/unistdio/u32-u32-sprintf.c: Likewise.
45865         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
45866         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
45867         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
45868         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
45869         * lib/unistdio/u32-vasnprintf.c: Likewise.
45870         * lib/unistdio/u32-vasprintf.c: Likewise.
45871         * lib/unistdio/u32-vsnprintf.c: Likewise.
45872         * lib/unistdio/u32-vsprintf.c: Likewise.
45873         * lib/unistdio/u8-asnprintf.c: Likewise.
45874         * lib/unistdio/u8-asprintf.c: Likewise.
45875         * lib/unistdio/u8-printf-parse.c: Likewise.
45876         * lib/unistdio/u8-snprintf.c: Likewise.
45877         * lib/unistdio/u8-sprintf.c: Likewise.
45878         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
45879         * lib/unistdio/u8-u8-asprintf.c: Likewise.
45880         * lib/unistdio/u8-u8-snprintf.c: Likewise.
45881         * lib/unistdio/u8-u8-sprintf.c: Likewise.
45882         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
45883         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
45884         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
45885         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
45886         * lib/unistdio/u8-vasnprintf.c: Likewise.
45887         * lib/unistdio/u8-vasprintf.c: Likewise.
45888         * lib/unistdio/u8-vsnprintf.c: Likewise.
45889         * lib/unistdio/u8-vsprintf.c: Likewise.
45890         * lib/unistdio/ulc-asnprintf.c: Likewise.
45891         * lib/unistdio/ulc-asprintf.c: Likewise.
45892         * lib/unistdio/ulc-printf-parse.c: Likewise.
45893         * lib/unistdio/ulc-snprintf.c: Likewise.
45894         * lib/unistdio/ulc-sprintf.c: Likewise.
45895         * lib/unistdio/ulc-vasnprintf.c: Likewise.
45896         * lib/unistdio/ulc-vasprintf.c: Likewise.
45897         * lib/unistdio/ulc-vsnprintf.c: Likewise.
45898         * lib/unistdio/ulc-vsprintf.c: Likewise.
45899         * lib/unistr.h: Likewise.
45900         * lib/unistr/u-cpy-alloc.h: Likewise.
45901         * lib/unistr/u-cpy.h: Likewise.
45902         * lib/unistr/u-endswith.h: Likewise.
45903         * lib/unistr/u-move.h: Likewise.
45904         * lib/unistr/u-set.h: Likewise.
45905         * lib/unistr/u-startswith.h: Likewise.
45906         * lib/unistr/u-stpcpy.h: Likewise.
45907         * lib/unistr/u-stpncpy.h: Likewise.
45908         * lib/unistr/u-strcat.h: Likewise.
45909         * lib/unistr/u-strcpy.h: Likewise.
45910         * lib/unistr/u-strcspn.h: Likewise.
45911         * lib/unistr/u-strdup.h: Likewise.
45912         * lib/unistr/u-strlen.h: Likewise.
45913         * lib/unistr/u-strncat.h: Likewise.
45914         * lib/unistr/u-strncpy.h: Likewise.
45915         * lib/unistr/u-strnlen.h: Likewise.
45916         * lib/unistr/u-strpbrk.h: Likewise.
45917         * lib/unistr/u-strspn.h: Likewise.
45918         * lib/unistr/u-strstr.h: Likewise.
45919         * lib/unistr/u-strtok.h: Likewise.
45920         * lib/unistr/u16-check.c: Likewise.
45921         * lib/unistr/u16-chr.c: Likewise.
45922         * lib/unistr/u16-cmp.c: Likewise.
45923         * lib/unistr/u16-cpy-alloc.c: Likewise.
45924         * lib/unistr/u16-cpy.c: Likewise.
45925         * lib/unistr/u16-endswith.c: Likewise.
45926         * lib/unistr/u16-mblen.c: Likewise.
45927         * lib/unistr/u16-mbsnlen.c: Likewise.
45928         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45929         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45930         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45931         * lib/unistr/u16-mbtouc.c: Likewise.
45932         * lib/unistr/u16-mbtoucr.c: Likewise.
45933         * lib/unistr/u16-move.c: Likewise.
45934         * lib/unistr/u16-next.c: Likewise.
45935         * lib/unistr/u16-prev.c: Likewise.
45936         * lib/unistr/u16-set.c: Likewise.
45937         * lib/unistr/u16-startswith.c: Likewise.
45938         * lib/unistr/u16-stpcpy.c: Likewise.
45939         * lib/unistr/u16-stpncpy.c: Likewise.
45940         * lib/unistr/u16-strcat.c: Likewise.
45941         * lib/unistr/u16-strchr.c: Likewise.
45942         * lib/unistr/u16-strcmp.c: Likewise.
45943         * lib/unistr/u16-strcpy.c: Likewise.
45944         * lib/unistr/u16-strcspn.c: Likewise.
45945         * lib/unistr/u16-strdup.c: Likewise.
45946         * lib/unistr/u16-strlen.c: Likewise.
45947         * lib/unistr/u16-strmblen.c: Likewise.
45948         * lib/unistr/u16-strmbtouc.c: Likewise.
45949         * lib/unistr/u16-strncat.c: Likewise.
45950         * lib/unistr/u16-strncmp.c: Likewise.
45951         * lib/unistr/u16-strncpy.c: Likewise.
45952         * lib/unistr/u16-strnlen.c: Likewise.
45953         * lib/unistr/u16-strpbrk.c: Likewise.
45954         * lib/unistr/u16-strrchr.c: Likewise.
45955         * lib/unistr/u16-strspn.c: Likewise.
45956         * lib/unistr/u16-strstr.c: Likewise.
45957         * lib/unistr/u16-strtok.c: Likewise.
45958         * lib/unistr/u16-to-u32.c: Likewise.
45959         * lib/unistr/u16-to-u8.c: Likewise.
45960         * lib/unistr/u16-uctomb-aux.c: Likewise.
45961         * lib/unistr/u16-uctomb.c: Likewise.
45962         * lib/unistr/u32-check.c: Likewise.
45963         * lib/unistr/u32-chr.c: Likewise.
45964         * lib/unistr/u32-cmp.c: Likewise.
45965         * lib/unistr/u32-cpy-alloc.c: Likewise.
45966         * lib/unistr/u32-cpy.c: Likewise.
45967         * lib/unistr/u32-endswith.c: Likewise.
45968         * lib/unistr/u32-mblen.c: Likewise.
45969         * lib/unistr/u32-mbsnlen.c: Likewise.
45970         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45971         * lib/unistr/u32-mbtouc.c: Likewise.
45972         * lib/unistr/u32-mbtoucr.c: Likewise.
45973         * lib/unistr/u32-move.c: Likewise.
45974         * lib/unistr/u32-next.c: Likewise.
45975         * lib/unistr/u32-prev.c: Likewise.
45976         * lib/unistr/u32-set.c: Likewise.
45977         * lib/unistr/u32-startswith.c: Likewise.
45978         * lib/unistr/u32-stpcpy.c: Likewise.
45979         * lib/unistr/u32-stpncpy.c: Likewise.
45980         * lib/unistr/u32-strcat.c: Likewise.
45981         * lib/unistr/u32-strchr.c: Likewise.
45982         * lib/unistr/u32-strcmp.c: Likewise.
45983         * lib/unistr/u32-strcpy.c: Likewise.
45984         * lib/unistr/u32-strcspn.c: Likewise.
45985         * lib/unistr/u32-strdup.c: Likewise.
45986         * lib/unistr/u32-strlen.c: Likewise.
45987         * lib/unistr/u32-strmblen.c: Likewise.
45988         * lib/unistr/u32-strmbtouc.c: Likewise.
45989         * lib/unistr/u32-strncat.c: Likewise.
45990         * lib/unistr/u32-strncmp.c: Likewise.
45991         * lib/unistr/u32-strncpy.c: Likewise.
45992         * lib/unistr/u32-strnlen.c: Likewise.
45993         * lib/unistr/u32-strpbrk.c: Likewise.
45994         * lib/unistr/u32-strrchr.c: Likewise.
45995         * lib/unistr/u32-strspn.c: Likewise.
45996         * lib/unistr/u32-strstr.c: Likewise.
45997         * lib/unistr/u32-strtok.c: Likewise.
45998         * lib/unistr/u32-to-u16.c: Likewise.
45999         * lib/unistr/u32-to-u8.c: Likewise.
46000         * lib/unistr/u32-uctomb.c: Likewise.
46001         * lib/unistr/u8-check.c: Likewise.
46002         * lib/unistr/u8-chr.c: Likewise.
46003         * lib/unistr/u8-cmp.c: Likewise.
46004         * lib/unistr/u8-cpy-alloc.c: Likewise.
46005         * lib/unistr/u8-cpy.c: Likewise.
46006         * lib/unistr/u8-endswith.c: Likewise.
46007         * lib/unistr/u8-mblen.c: Likewise.
46008         * lib/unistr/u8-mbsnlen.c: Likewise.
46009         * lib/unistr/u8-mbtouc-aux.c: Likewise.
46010         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46011         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46012         * lib/unistr/u8-mbtouc.c: Likewise.
46013         * lib/unistr/u8-mbtoucr.c: Likewise.
46014         * lib/unistr/u8-move.c: Likewise.
46015         * lib/unistr/u8-next.c: Likewise.
46016         * lib/unistr/u8-prev.c: Likewise.
46017         * lib/unistr/u8-set.c: Likewise.
46018         * lib/unistr/u8-startswith.c: Likewise.
46019         * lib/unistr/u8-stpcpy.c: Likewise.
46020         * lib/unistr/u8-stpncpy.c: Likewise.
46021         * lib/unistr/u8-strcat.c: Likewise.
46022         * lib/unistr/u8-strchr.c: Likewise.
46023         * lib/unistr/u8-strcmp.c: Likewise.
46024         * lib/unistr/u8-strcpy.c: Likewise.
46025         * lib/unistr/u8-strcspn.c: Likewise.
46026         * lib/unistr/u8-strdup.c: Likewise.
46027         * lib/unistr/u8-strlen.c: Likewise.
46028         * lib/unistr/u8-strmblen.c: Likewise.
46029         * lib/unistr/u8-strmbtouc.c: Likewise.
46030         * lib/unistr/u8-strncat.c: Likewise.
46031         * lib/unistr/u8-strncmp.c: Likewise.
46032         * lib/unistr/u8-strncpy.c: Likewise.
46033         * lib/unistr/u8-strnlen.c: Likewise.
46034         * lib/unistr/u8-strpbrk.c: Likewise.
46035         * lib/unistr/u8-strrchr.c: Likewise.
46036         * lib/unistr/u8-strspn.c: Likewise.
46037         * lib/unistr/u8-strstr.c: Likewise.
46038         * lib/unistr/u8-strtok.c: Likewise.
46039         * lib/unistr/u8-to-u16.c: Likewise.
46040         * lib/unistr/u8-to-u32.c: Likewise.
46041         * lib/unistr/u8-uctomb-aux.c: Likewise.
46042         * lib/unistr/u8-uctomb.c: Likewise.
46043         * lib/unitypes.h: Likewise.
46044         * lib/uniwidth.h: Likewise.
46045         * lib/uniwidth/cjk.h: Likewise.
46046         * lib/uniwidth/u16-strwidth.c: Likewise.
46047         * lib/uniwidth/u16-width.c: Likewise.
46048         * lib/uniwidth/u32-strwidth.c: Likewise.
46049         * lib/uniwidth/u32-width.c: Likewise.
46050         * lib/uniwidth/u8-strwidth.c: Likewise.
46051         * lib/uniwidth/u8-width.c: Likewise.
46052         * lib/uniwidth/width.c: Likewise.
46053
46054 2007-10-07  Bruno Haible  <bruno@clisp.org>
46055
46056         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
46057         The file is still under LGPL (see modules/inttypes).
46058
46059 2007-10-06  Bruno Haible  <bruno@clisp.org>
46060
46061         * modules/trunc (Dependencies): Add 'extensions'.
46062         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
46063         Reported by Ben Pfaff <blp@gnu.org>.
46064
46065 2007-10-06  Bruno Haible  <bruno@clisp.org>
46066
46067         * modules/freopen-tests: New file.
46068         * tests/test-freopen.c: New file.
46069
46070         * modules/fopen-tests: New file.
46071         * tests/test-fopen.c: New file.
46072
46073         * modules/fopen: New file.
46074         * lib/fopen.c: New file.
46075         * m4/fopen.m4: New file.
46076         * modules/freopen: New file.
46077         * lib/freopen.c: New file.
46078         * m4/freopen.m4: New file.
46079         * lib/stdio.in.h (fopen, freopen): New declarations.
46080         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
46081         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
46082         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
46083         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
46084         * doc/functions/fopen.texi: Mention the 'fopen' module.
46085         * doc/functions/freopen.texi: Mention the 'freopen' module.
46086
46087 2007-10-06  Bruno Haible  <bruno@clisp.org>
46088
46089         * modules/open-tests: New file.
46090         * tests/test-open.c: New file.
46091
46092         * modules/open: New file.
46093         * lib/open.c: New file.
46094         * m4/open.m4: New file.
46095         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
46096         lib/open.c does.
46097         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
46098         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
46099         macros.
46100         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
46101         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
46102         REPLACE_OPEN.
46103         * doc/functions/open.texi: Mention the 'open' module.
46104
46105 2007-10-04  Bruno Haible  <bruno@clisp.org>
46106
46107         * modules/ceill-tests: New file.
46108         * tests/test-ceill.c: New file.
46109
46110         * modules/ceill: New file.
46111         * lib/ceill.c: Replace entire file.
46112         * m4/ceill.m4: New file.
46113         * lib/math.in.h (ceill): Replace declaration.
46114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
46115         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
46116         * doc/functions/ceill.texi: Mention the 'ceill' module.
46117         * modules/mathl (Files): Remove lib/ceill.c.
46118         (Depends-on): Add ceill.
46119
46120 2007-10-04  Bruno Haible  <bruno@clisp.org>
46121
46122         * modules/ceilf-tests: New file.
46123         * tests/test-ceilf.c: New file.
46124
46125         * modules/ceilf: New file.
46126         * lib/ceil.c: New file.
46127         * lib/ceilf.c: New file.
46128         * m4/ceilf.m4: New file.
46129         * lib/math.in.h (ceilf): New declaration.
46130         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
46131         HAVE_DECL_CEILF.
46132         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
46133         HAVE_DECL_CEILF.
46134         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
46135
46136 2007-10-04  Bruno Haible  <bruno@clisp.org>
46137
46138         * modules/floorl-tests: New file.
46139         * tests/test-floorl.c: New file.
46140
46141         * modules/floorl: New file.
46142         * lib/floorl.c: Replace entire file.
46143         * m4/floorl.m4: New file.
46144         * lib/math.in.h (floorl): Replace declaration.
46145         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
46146         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
46147         * doc/functions/floorl.texi: Mention the 'floorl' module.
46148         * modules/mathl (Files): Remove lib/floorl.c.
46149         (Depends-on): Add floorl.
46150
46151 2007-10-04  Bruno Haible  <bruno@clisp.org>
46152
46153         * modules/floorf-tests: New file.
46154         * tests/test-floorf.c: New file.
46155
46156         * modules/floorf: New file.
46157         * lib/floor.c: New file.
46158         * lib/floorf.c: New file.
46159         * m4/floorf.m4: New file.
46160         * lib/math.in.h (floorf): New declaration.
46161         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
46162         HAVE_DECL_FLOORF.
46163         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
46164         HAVE_DECL_FLOORF.
46165         * doc/functions/floorf.texi: Mention the 'floorf' module.
46166
46167 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
46168             Bruno Haible  <bruno@clisp.org>
46169
46170         Advertise for the Git server instead of the CVS server.
46171         * doc/gnulib-intro.texi (Steady Development): Mention the Git
46172         repository instead of the CVS one.
46173         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
46174         about all VCS systems generically.
46175         * doc/gnulib.texi (Introduction): Capitalize `Git'.
46176
46177 2007-10-04  Bruno Haible  <bruno@clisp.org>
46178
46179         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
46180         means.
46181         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
46182
46183 2007-10-04  Bruno Haible  <bruno@clisp.org>
46184
46185         * modules/truncl-tests: New file.
46186         * tests/test-truncl.c: New file.
46187
46188         * modules/truncl: New file.
46189         * lib/truncl.c: New file.
46190         * m4/truncl.m4: New file.
46191         * lib/math.in.h (truncl): New declaration.
46192         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
46193         HAVE_DECL_TRUNCL.
46194         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
46195         HAVE_DECL_TRUNCL.
46196         * doc/functions/truncl.texi: Mention the 'truncl' module.
46197
46198 2007-10-04  Bruno Haible  <bruno@clisp.org>
46199
46200         * modules/truncf-tests: New file.
46201         * tests/test-truncf.c: New file.
46202
46203         * modules/truncf: New file.
46204         * lib/trunc.c: Make paramerizable through USE_* macros.
46205         * lib/truncf.c: New file.
46206         * m4/truncf.m4: New file.
46207         * lib/math.in.h (truncf): New declaration.
46208         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
46209         HAVE_DECL_TRUNCF.
46210         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
46211         HAVE_DECL_TRUNCF.
46212         * doc/functions/truncf.texi: Mention the 'truncf' module.
46213
46214 2007-10-03  Bruno Haible  <bruno@clisp.org>
46215
46216         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
46217         augmentation also for tests modules.
46218         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
46219         * modules/atexit-tests (Makefile.am): Likewise.
46220         * modules/binary-io-tests (Makefile.am): Likewise.
46221         * modules/c-strcase-tests (Makefile.am): Likewise.
46222         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
46223         * modules/canonicalize-tests (Makefile.am): Likewise.
46224         * modules/closein-tests (Makefile.am): Likewise.
46225         * modules/fprintf-posix-tests (Makefile.am): Likewise.
46226         * modules/freadahead-tests (Makefile.am): Likewise.
46227         * modules/fseek-tests (Makefile.am): Likewise.
46228         * modules/fseeko-tests (Makefile.am): Likewise.
46229         * modules/ftell-tests (Makefile.am): Likewise.
46230         * modules/ftello-tests (Makefile.am): Likewise.
46231         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
46232         * modules/isnanl-tests (Makefile.am): Likewise.
46233         * modules/lseek-tests (Makefile.am): Likewise.
46234         * modules/mbscasecmp-tests (Makefile.am): Likewise.
46235         * modules/mbscasestr-tests (Makefile.am): Likewise.
46236         * modules/mbschr-tests (Makefile.am): Likewise.
46237         * modules/mbscspn-tests (Makefile.am): Likewise.
46238         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
46239         * modules/mbspbrk-tests (Makefile.am): Likewise.
46240         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
46241         * modules/mbsrchr-tests (Makefile.am): Likewise.
46242         * modules/mbsspn-tests (Makefile.am): Likewise.
46243         * modules/mbsstr-tests (Makefile.am): Likewise.
46244         * modules/printf-posix-tests (Makefile.am): Likewise.
46245         * modules/snprintf-posix-tests (Makefile.am): Likewise.
46246         * modules/sprintf-posix-tests (Makefile.am): Likewise.
46247         * modules/tsearch-tests (Makefile.am): Likewise.
46248         * modules/uniname/uniname-tests (Makefile.am): Likewise.
46249         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
46250         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
46251         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
46252         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
46253         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
46254         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
46255         * modules/vprintf-posix-tests (Makefile.am): Likewise.
46256         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
46257         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
46258         * modules/xstrtoimax-tests (Makefile.am): Likewise.
46259         * modules/xstrtol-tests (Makefile.am): Likewise.
46260         * modules/xstrtoumax-tests (Makefile.am): Likewise.
46261         * modules/yesno-tests (Makefile.am): Likewise.
46262
46263 2007-10-03  Bruno Haible  <bruno@clisp.org>
46264
46265         * modules/trunc-tests: New file.
46266         * tests/test-trunc.c: New file.
46267
46268         * modules/trunc: New file.
46269         * lib/trunc.c: New file.
46270         * m4/trunc.m4: New file.
46271         * lib/math.in.h (trunc): New declaration.
46272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
46273         HAVE_DECL_TRUNC.
46274         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
46275         HAVE_DECL_TRUNC.
46276         * doc/functions/trunc.texi: Mention the 'trunc' module.
46277
46278 2007-10-03  Bruno Haible  <bruno@clisp.org>
46279
46280         * tests/test-fpending.c: New file, mostly copied
46281         from coreutils/lib/t-fpending.c.
46282         * modules/fpending-tests: New file.
46283
46284 2007-10-03  Bruno Haible  <bruno@clisp.org>
46285
46286         Port the stdio extensions to QNX (untested).
46287         * lib/fseterr.c (fseterr): Add support for QNX.
46288         * lib/fbufmode.c (fbufmode): Likewise.
46289         * lib/freadable.c (freadable): Likewise.
46290         * lib/fwritable.c (fwritable): Likewise.
46291         * lib/freading.c (freading): Likewise.
46292         * lib/fwriting.c (fwriting): Likewise.
46293         * lib/freadahead.c (freadahed): Likewise.
46294         * lib/fpurge.c (fpurge): Likewise.
46295         * lib/fseeko.c (rpl_fseeko): Likewise.
46296
46297 2007-10-03  Bruno Haible  <bruno@clisp.org>
46298             Jim Meyering  <jim@meyering.net>
46299             Eric Blake  <ebb9@byu.net>
46300
46301         * doc/relocatable.texi: Use @command instead of @program.
46302
46303 2007-10-02  Jim Meyering  <jim@meyering.net>
46304
46305         Perform one more "_.h" -> ".in.h" substitution.
46306         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
46307         instead of unistd_.h here, too.
46308
46309 2007-10-01  Bruno Haible  <bruno@clisp.org>
46310
46311         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
46312         Needed for the alloca-opt module.
46313
46314 2007-09-30  Bruno Haible  <bruno@clisp.org>
46315
46316         * lib/alloca.in.h: Renamed from lib/alloca_.h.
46317         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
46318         alloca_.h.
46319         * lib/argz.in.h: Renamed from lib/argz_.h.
46320         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
46321         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
46322         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
46323         byteswap_.h.
46324         * lib/dirent.in.h: Renamed from lib/dirent_.h.
46325         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
46326         dirent_.h.
46327         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
46328         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
46329         fcntl_.h.
46330         * lib/float.in.h: Renamed from lib/float_.h.
46331         * modules/float (Files, Makefile.am): Use float.in.h instead of
46332         float_.h.
46333         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
46334         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
46335         fnmatch_.h.
46336         * lib/getopt.in.h: Renamed from lib/getopt_.h.
46337         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
46338         getopt_.h.
46339         * lib/glob.in.h: Renamed from lib/glob_.h.
46340         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
46341         * lib/iconv.in.h: Renamed from lib/iconv_.h.
46342         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
46343         iconv_.h.
46344         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
46345         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
46346         inttypes_.h.
46347         * lib/locale.in.h: Renamed from lib/locale_.h.
46348         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
46349         locale_.h.
46350         * lib/math.in.h: Renamed from lib/math_.h.
46351         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
46352         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
46353         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
46354         of netinet_in_.h. Add dependency.
46355         * lib/poll.in.h: Renamed from lib/poll_.h.
46356         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
46357         * lib/search.in.h: Renamed from lib/search_.h.
46358         * modules/search (Files, Makefile.am): Use search.in.h instead of
46359         search_.h.
46360         * lib/signal.in.h: Renamed from lib/signal_.h.
46361         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
46362         _signal.h.
46363         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
46364         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
46365         stdbool_.h.
46366         * lib/stdint.in.h: Renamed from lib/stdint_.h.
46367         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
46368         stdint_.h.
46369         * lib/stdio.in.h: Renamed from lib/stdio_.h.
46370         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
46371         stdio_.h.
46372         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
46373         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
46374         stdlib_.h.
46375         * lib/string.in.h: Renamed from lib/string_.h.
46376         * modules/string (Files, Makefile.am): Use string.in.h instead of
46377         string_.h.
46378         * doc/gnulib-tool.texi (Initial import): Update.
46379         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
46380         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
46381         of sys_select_.h. Add dependency.
46382         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
46383         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
46384         of sys_socket_.h.
46385         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
46386         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
46387         sys_stat_.h.
46388         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
46389         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
46390         sys_time_.h.
46391         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
46392         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
46393         sysexits_.h.
46394         * lib/time.in.h: Renamed from lib/time_.h.
46395         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
46396         * lib/unistd.in.h: Renamed from lib/unistd_.h.
46397         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
46398         unistd_.h.
46399         * lib/wchar.in.h: Renamed from lib/wchar_.h.
46400         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
46401         wchar_.h.
46402         * lib/wctype.in.h: Renamed from lib/wctype_.h.
46403         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
46404         wctype_.h.
46405         * build-aux/bootstrap (slurp): Update.
46406         * lib/.cppi-disable: Update.
46407
46408 2007-09-30  Bruno Haible  <bruno@clisp.org>
46409
46410         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
46411         Needed on BeOS.
46412
46413 2007-09-30  Bruno Haible  <bruno@clisp.org>
46414
46415         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
46416
46417 2007-09-29  Bruno Haible  <bruno@clisp.org>
46418
46419         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
46420
46421 2007-09-29  Bruno Haible  <bruno@clisp.org>
46422
46423         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
46424         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
46425         * build-aux/install-reloc: Compile also areadlink.c.
46426         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
46427
46428 2007-09-29  Bruno Haible  <bruno@clisp.org>
46429
46430         * gnulib-tool (func_emit_initmacro_done): Indentation.
46431
46432 2007-09-29  Bruno Haible  <bruno@clisp.org>
46433
46434         * README: Add CVS checkout update instructions.
46435         Info from Bob Proulx <bob@proulx.com>.
46436
46437 2007-09-28  Eric Blake  <ebb9@byu.net>
46438
46439         Provide move-if-change.
46440         * build-aux/move-if-change: New file, based on best practice
46441         rather than any canonical upstream location.
46442
46443 2007-09-28  Jim Meyering  <jim@meyering.net>
46444
46445         Fix canonicalize loop-detection corner case.
46446         Do not attempt to stat the symlink values stored via seen_triple.
46447         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
46448         on linux-2.6.18, (but not 2.6.22).
46449         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
46450         triple_compare.  The former compares dev,ino,filename, while the latter
46451         would actually stat dirname(filename) when dev and ino were equal.
46452         * lib/hash-triple.c: Install <string.h>.
46453         (STREQ): Define.
46454         (triple_compare_ino_str): New function.
46455         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
46456
46457 2007-09-28  Eric Blake  <ebb9@byu.net>
46458
46459         Enforce that AC_REPLACE_FUNCS files exist.
46460         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
46461         override check for typos.
46462
46463         Fix test-closein on Solaris 10.
46464         * tests/test-closein.c (main): Don't assume stdin can be inherited
46465         closed on all systems.
46466         * tests/test-closein.sh: Likewise.
46467         Reported by Piotr Tarnowski.
46468
46469 2007-09-28  Jim Meyering  <jim@meyering.net>
46470
46471         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
46472
46473 2007-09-27  Jim Meyering  <jim@meyering.net>
46474
46475         canonicalize: Avoid a false-positive cycle failure.
46476         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
46477         Sort.  Remove cycle-check.
46478         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
46479         not cycle-check.h.
46480         (seen_triple): New function.
46481         (canonicalize_filename_mode): Use it instead of cycle-check.
46482         * tests/test-canonicalize.c: Add a test for this bug.
46483         * tests/test-canonicalize.sh: Set up and run the test.
46484
46485         New module, file-set, from coreutils.
46486         * modules/file-set: Define it.
46487         * lib/file-set.c, lib/file-set.h: Implement.
46488
46489         New module, hash-triple, from coreutils.
46490         * modules/hash-triple: Define it.
46491         * lib/hash-triple.c, lib/hash-triple.h: Implement.
46492
46493 2007-09-25  Eric Blake  <ebb9@byu.net>
46494
46495         Fix strerror on Interix.
46496         * lib/string_.h (strerror): Declare replacement.
46497         * doc/functions/strerror.texi (strerror): Document the Interix
46498         shortcoming.
46499         * modules/string (Makefile.am): Support new hooks.
46500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
46501         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
46502         gl_FUNC_STRERROR_SEPARATE.
46503         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
46504         * lib/strerror.c (rpl_strerror): Provide replacement.
46505         * modules/strerror (Depends-on): Add string.
46506         (configure.ac): Detect use of module.
46507         * tests/test-strerror.c: New file.
46508         * modules/strerror-tests: New test module.
46509         * modules/argp (Depends-on): Add strerror.
46510         * modules/error (Depends-on): Likewise.
46511         Reported by Martin Koeppe.
46512
46513 2007-09-24  Bruno Haible  <bruno@clisp.org>
46514
46515         * README: Update git instructions.
46516
46517 2007-09-24  Eric Blake  <ebb9@byu.net>
46518
46519         Revert fpending breakage from 2007-09-08.
46520         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
46521         __fpending.c.
46522
46523 2007-09-24  Jim Meyering  <jim@meyering.net>
46524
46525         filenamecat.c: Add a test.
46526         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
46527         showing how the function works when DIR is the empty string.
46528
46529 2007-09-21  Simon Josefsson  <simon@josefsson.org>
46530
46531         * tests/test-canonicalize.sh: Turn on executable bit.
46532
46533 2007-09-19  Eric Blake  <ebb9@byu.net>
46534
46535         * README: Update CVS instructions.
46536
46537 2007-09-18  Bruno Haible  <bruno@clisp.org>
46538
46539         * modules/areadlink: New file.
46540         * lib/areadlink.h (areadlink): New declaration.
46541         * lib/areadlink.c: New file, based on lib/xreadlink.c.
46542
46543 2007-09-17  Jim Meyering  <jim@meyering.net>
46544
46545         * lib/savewd.c (ESTALE) [!defined]: Define.
46546         Reported to be required on Interix by Martin Koeppe.
46547
46548 2007-09-17  Bruno Haible  <bruno@clisp.org>
46549
46550         * gnulib-tool (func_version): Use $version.
46551
46552 2007-09-16  Bruno Haible  <bruno@clisp.org>
46553
46554         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
46555         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
46556         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
46557         Reported by Greg Schafer <gschafer@zip.com.au>.
46558
46559 2007-09-15  Bruno Haible  <bruno@clisp.org>
46560
46561         * gnulib-tool (sed): Try a little harder to make bash understand the
46562         alias.
46563         Reported by Bruce Korb <bruce.korb@gmail.com>.
46564
46565 2007-09-13  Eric Blake  <ebb9@byu.net>
46566
46567         * ChangeLog: Remove conflict markers.
46568
46569 2007-09-13  Simon Josefsson  <simon@josefsson.org>
46570
46571         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
46572         Reported by Bruno Haible <bruno@clisp.org>.
46573
46574 2007-09-12  Bruno Haible  <bruno@clisp.org>
46575
46576         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
46577         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
46578         is not defined.
46579
46580 2007-09-12  Eric Blake  <ebb9@byu.net>
46581
46582         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
46583         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
46584         Autoconf definition.
46585         * modules/euidaccess (Depends-on): Add extensions, for
46586         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
46587         * modules/fnmatch (Depends-on): Likewise.
46588         * modules/getaddrinfo (Depends-on): Likewise.
46589         * modules/getdelim (Depends-on): Likewise.
46590         * modules/getline (Depends-on): Likewise.
46591         * modules/getsubopt (Depends-on): Likewise.
46592         * modules/gettext (Depends-on): Likewise.
46593         * modules/group-member (Depends-on): Likewise.
46594         * modules/mbchar (Depends-on): Likewise.
46595         * modules/memmem (Depends-on): Likewise.
46596         * modules/mempcpy (Depends-on): Likewise.
46597         * modules/memrchr (Depends-on): Likewise.
46598         * modules/pagealign_alloc (Depends-on): Likewise.
46599         * modules/readutmp (Depends-on): Likewise.
46600         * modules/stpcpy (Depends-on): Likewise.
46601         * modules/stpncpy (Depends-on): Likewise.
46602         * modules/strchrnul (Depends-on): Likewise.
46603         * modules/strndup (Depends-on): Likewise.
46604         * modules/strsep (Depends-on): Likewise.
46605         * modules/strverscmp (Depends-on): Likewise.
46606         * modules/vasprintf (Depends-on): Likewise.
46607         * modules/wcwidth (Depends-on): Likewise.
46608         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
46609         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
46610         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
46611         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
46612         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46613         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46614         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
46615         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46616         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
46617         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
46618         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46619         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
46620         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
46621         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46622         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
46623         * m4/readutmp.m4 (gl_READUTMP): Likewise.
46624         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46625         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
46626         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46627         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
46628         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
46629         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
46630         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
46631         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
46632         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
46633         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46634         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
46635         so that lock.m4 can be used in gettext without extensions module.
46636
46637 2007-09-11  Bruno Haible  <bruno@clisp.org>
46638
46639         * m4/isc-posix.m4: Remove file.
46640         Suggested by Eric Blake.
46641
46642 2007-09-11  Eric Blake  <ebb9@byu.net>
46643
46644         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
46645
46646 2007-09-10  Bruno Haible  <bruno@clisp.org>
46647
46648         * posix-modules: Fix typo in error message.
46649         Reported by Matt <mkraai@beckman.com>.
46650
46651 2007-09-09  Bruno Haible  <bruno@clisp.org>
46652
46653         * doc/functions/getdelim.texi: Update list of platforms lacking the
46654         function.
46655         * doc/functions/getline.texi: Likewise.
46656
46657 2007-09-09  Jim Meyering  <jim@meyering.net>
46658
46659         * lib/hash.c (hash_initialize): Detect calloc failure.
46660         Reported by Bruno Haible.
46661
46662 2007-09-09  Bruno Haible  <bruno@clisp.org>
46663
46664         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
46665         malloc or realloc fails.
46666
46667 2007-09-09  Bruno Haible  <bruno@clisp.org>
46668
46669         * modules/getcwd (Depends-on): Add malloc-posix.
46670         * modules/glob (Depends-on): Likewise.
46671         * modules/putenv (Depends-on): Likewise.
46672         * modules/strdup (Depends-on): Likewise.
46673         * modules/getdelim (Depends-on): Add realloc-posix.
46674         * modules/read-file (Depends-on): Likewise.
46675
46676 2007-09-09  Bruno Haible  <bruno@clisp.org>
46677
46678         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
46679         (gl_FUNC_MALLOC_POSIX): Require it.
46680         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
46681         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
46682         * modules/realloc (Files): Add m4/malloc.m4.
46683         * modules/calloc (Files): Likewise.
46684
46685 2007-09-09  Bruno Haible  <bruno@clisp.org>
46686
46687         * modules/malloc-posix: New file.
46688         * modules/malloc (Depends-on): Add malloc-posix.
46689         * lib/malloc.c: Include errno.h.
46690         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
46691         and a POSIX-compatible malloc into a single function. Set ENOMEM
46692         when returning NULL.
46693         * m4/malloc.m4: New file.
46694         * doc/functions/malloc.texi: Mention the malloc-posix module.
46695         * lib/stdlib_.h (malloc): New declaration.
46696         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46697         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
46698         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
46699         and HAVE_MALLOC_POSIX.
46700
46701 2007-09-09  Bruno Haible  <bruno@clisp.org>
46702
46703         * modules/realloc-posix: New file.
46704         * modules/realloc (Depends-on): Add realloc-posix.
46705         * lib/realloc.c: Include errno.h.
46706         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
46707         and a POSIX-compatible realloc into a single function. Set ENOMEM
46708         when returning NULL.
46709         * m4/realloc.m4: New file.
46710         * doc/functions/realloc.texi: Mention the realloc-posix module.
46711         * lib/stdlib_.h (realloc): New declaration.
46712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46713         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
46714         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
46715         and HAVE_REALLOC_POSIX.
46716
46717 2007-09-09  Bruno Haible  <bruno@clisp.org>
46718
46719         * modules/calloc-posix: New file.
46720         * modules/calloc (Depends-on): Add calloc-posix.
46721         * lib/calloc.c: Include errno.h.
46722         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
46723         and a POSIX-compatible calloc into a single function. Set ENOMEM
46724         when returning NULL.
46725         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
46726         * doc/functions/calloc.texi: Mention the calloc-posix module.
46727         * lib/stdlib_.h (calloc): New declaration.
46728         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46729         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
46730         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
46731         and HAVE_CALLOC_POSIX.
46732
46733 2007-09-09  Bruno Haible  <bruno@clisp.org>
46734
46735         Allow for modules to show an arbitrary notice.
46736         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
46737         * gnulib-tool: New option --extract-notice.
46738         (func_usage): Document it.
46739         (sed_extract_prog): Update.
46740         (func_get_notice): New function.
46741         (func_modules_notice): New function.
46742         (func_import, func_create_testdir): Invoke it.
46743         Suggested by Jim Meyering.
46744
46745 2007-09-09  Bruno Haible  <bruno@clisp.org>
46746
46747         * gnulib-tool: New options --verbose, --quiet.
46748         (func_usage): Document them.
46749         (verbose): New variable.
46750         (func_execute_command): New function.
46751         (func_import): Don't show the module list and the file list if
46752         $verbose < 0.
46753         (func_create_testdir): Likewise. Use func_execute_command.
46754         (func_create_megatestdir): Use func_execute_command.
46755
46756 2007-09-08  Bruno Haible  <bruno@clisp.org>
46757
46758         * gnulib-tool (func_import): Prefer rsync over wget when available,
46759         for fetching the PO files.
46760
46761 2007-09-08  Bruno Haible  <bruno@clisp.org>
46762
46763         * posix-modules: New file. Portions copied from gnulib-tool.
46764         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
46765
46766 2007-09-08  Jim Meyering  <jim@meyering.net>
46767
46768         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
46769         * lib/fpending.h: Rename from __fpending.h.
46770         * lib/fpending.c: Rename from __fpending.c.
46771         Include "fpending.h", not "__fpending.h".
46772         * lib/__fpending.h, lib/__fpending.c: Remove files.
46773         * modules/fpending (Files): Reflect new file names.
46774         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
46775
46776 2007-09-08  Bruno Haible  <bruno@clisp.org>
46777
46778         * m4/inttypes-h.m4: Remove stub file.
46779
46780 2007-09-07  Simon Josefsson  <simon@josefsson.org>
46781
46782         * doc/headers/stdint.texi: Discuss #include_next issue.
46783
46784 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46785
46786         * build-aux/bootstrap: Remove obsolete comment about wget --help.
46787
46788 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46789
46790         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
46791         in variable name.
46792
46793 2007-09-03  Jim Meyering  <jim@meyering.net>
46794
46795         New module: git-version-gen.
46796         * modules/git-version-gen: New file.
46797
46798         Import changes from coreutils for bootstrap script.
46799
46800         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
46801
46802         bootstrap: uses rsync to download the .po files
46803         * build-aux/bootstrap (po_download_command_format): New global.
46804         (download_po_files): Use rsync.
46805         (update_po_files): Don't remove .po files after download,
46806         so future rsync runs can take advantage of the copies.
46807
46808         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
46809
46810         Solve the unnecessary-.po-file-regeneration problem once and for all.
46811         * build-aux/bootstrap (download_po_files): New function, renamed from
46812         get_translations.  Now, downloads, but doesn't update LINGUAS.
46813         (update_po_files): New function.
46814
46815         bootstrap: Ignore more.
46816         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
46817         uniwidth to e.g., lib/.gitignore.
46818         (slurp): Handle the sys_stat_.h -> sys mapping, too.
46819
46820         * build-aux/bootstrap: New setting: vc_ignore.
46821         (insert_sorted_if_absent): Create $file if absent.
46822         Adapt to new, possibly empty, list: $vc_ignore.
46823
46824         bootstrap: generate more ignorable names
46825         * build-aux/bootstrap (slurp): When generating ignorable names,
46826         also map .sin to .sed, .gperf to .c, and .y to .c.
46827
46828 2007-09-03  Jim Meyering  <jim@meyering.net>
46829
46830         * build-aux/git-version-gen: New file, from coreutils.  For details, see
46831         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
46832
46833 2007-09-02  Bruno Haible  <bruno@clisp.org>
46834
46835         Fix mis-recognition of 'mcs' on QNX 6.
46836         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
46837         output contains the string "Mono".
46838         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
46839         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
46840
46841 2007-09-01  Bruno Haible  <bruno@clisp.org>
46842
46843         Fix collision between uniwidth/* and linebreak modules.
46844         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
46845         u32_width): Remove declarations.
46846         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
46847         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
46848         streq3, streq2, streq1, streq0): Remove functions.
46849         (STREQ): Remove macro.
46850         (is_cjk_encoding): Remove function.
46851         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
46852         (uc_width, u8_width, u16_width, u32_width): Remove functions.
46853         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
46854         * NEWS: Document the change.
46855
46856 2007-09-01  Bruno Haible  <bruno@clisp.org>
46857
46858         * lib/streq.h: Add double-inclusion guard.
46859
46860 2007-09-01  Karl Berry  <karl@gnu.org>
46861
46862         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
46863
46864 2007-08-28  Jim Meyering  <jim@meyering.net>
46865
46866         Rename mreadlink_with_size to areadlink_with_size.
46867         * NEWS: Document the change.
46868         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
46869         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
46870         * lib/mreadlink.h: Rename this to...
46871         * lib/areadlink.h: ...this.
46872         * modules/mreadlink-with-size: Rename this to...
46873         * modules/areadlink-with-size: ...this.
46874         * lib/canonicalize.c: Reflect the renaming.
46875         * modules/canonicalize: Likewise.
46876
46877 2007-08-26  Bruno Haible  <bruno@clisp.org>
46878
46879         * gnulib-tool (func_import): When deciding which files to remove,
46880         consider also dangling symbolic links.
46881         Reported by Eric Blake.
46882
46883 2007-08-26  Bruno Haible  <bruno@clisp.org>
46884
46885         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
46886
46887 2007-08-23  Simon Josefsson  <simon@josefsson.org>
46888
46889         * lib/readline.c: Don't include getline.h, the prototype is now
46890         found in stdio.h.
46891
46892 2007-08-23  Jim Meyering  <jim@meyering.net>
46893
46894         Getdelim touchup.
46895         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
46896         around the funlockfile call, since funlockfile never sets errno.
46897         Don't set errno upon failed realloc.
46898
46899 2007-08-22  Eric Blake  <ebb9@byu.net>
46900
46901         Getline touchups.
46902         * lib/getdelim.c (getdelim): Revert regression that required *n to
46903         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
46904         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
46905         getdelim, rather than whether implementation is missing.
46906         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
46907         * lib/stdio_.h (getline): Also declare if replacement is
46908         required.
46909         * doc/functions/getdelim.texi: New file.
46910         * doc/functions/getline.texi: Likewise.
46911         * doc/gnulib.texi (Function Substitutes): Add new files.
46912         Reported by Bruno Haible.
46913
46914 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
46915
46916         * users.txt: Add Guile.
46917
46918 2007-08-22  Eric Blake  <ebb9@byu.net>
46919
46920         * tests/test-getdelim.c (main): Use remove, not unlink.
46921         * tests/test-getline.c (main): Likewise.
46922
46923         Move getline and getdelim into stdio.h, per POSIX 200x.
46924         * modules/getline (Files): Remove getline.h.
46925         (Depends-on): Add stdio.
46926         (configure.ac): Add module indicator.
46927         * modules/getdelim (Files): Remove getdelim.h.
46928         (Depends-on): Add stdio.
46929         (configure.ac): Add module indicator.
46930         * modules/stdio (Makefile.am): Work with new indicators.
46931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
46932         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
46933         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46934         * lib/getdelim.h: Delete.
46935         * lib/getline.h: Delete.
46936         * lib/stdio_.h (getdelim, getline): Declare.
46937         * modules/getdelim-tests: New module.
46938         * modules/getline-tests: Likewise.
46939         * tests/test-getdelim.c: New file.
46940         * tests/test-getline.c: Likewise.
46941         * NEWS: Document the change.
46942         * lib/getline.c: Update choice of header.
46943         * lib/csharpcomp.c: Likewise.
46944         * lib/getpass.c: Likewise.
46945         * lib/javacomp.c: Likewise.
46946         * lib/javaversion.c: Likewise.
46947         * lib/yesno.c: Likewise.
46948         * lib/getdelim.c: Likewise.
46949         (getdelim): Set errno on failure, and avoid memory leak.
46950
46951 2007-08-19  Bruno Haible  <bruno@clisp.org>
46952
46953         * modules/closein (Depends-on): Add freadahead.
46954         * lib/closein.c: Include freadahead.h.
46955         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
46956         is zero.
46957
46958 2007-08-19  Bruno Haible  <bruno@clisp.org>
46959
46960         * modules/freadahead-tests: New file.
46961         * tests/test-freadahead.sh: New file.
46962         * tests/test-freadahead.c: New file.
46963
46964         * modules/freadahead: New file.
46965         * lib/freadahead.h: New file.
46966         * lib/freadahead.c: New file.
46967         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
46968         fbufmode, fpurge, freadable, fwritable.
46969
46970 2007-08-19  Eric Blake  <ebb9@byu.net>
46971
46972         Test yesno in combination with closein.
46973         * lib/yesno.c (yesno): Document use of stdin.
46974         * modules/yesno-tests (Files): New module.
46975         * tests/test-yesno.c (main): New file.
46976         * tests/test-yesno.sh: Likewise.
46977
46978 2007-08-19  Bruno Haible  <bruno@clisp.org>
46979
46980         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
46981         * lib/fseeko.c (rpl_fseeko): Likewise.
46982         * lib/fseterr.c (fseterr): Likewise.
46983
46984 2007-08-19  Bruno Haible  <bruno@clisp.org>
46985
46986         * tests/test-lseek.c (main): Disable a test for BeOS.
46987         * doc/functions/lseek.texi: Document the BeOS bug.
46988
46989 2007-08-19  Bruno Haible  <bruno@clisp.org>
46990             Eric Blake  <ebb9@byu.net>
46991
46992         * lib/lseek.c: Include <sys/stat.h>.
46993         (rpl_lseek): Add workaround code also for Unix platforms.
46994         Needed for BeOS.
46995         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
46996         * doc/functions/lseek.texi: Document BeOS definiency.
46997
46998 2007-08-18  Bruno Haible  <bruno@clisp.org>
46999
47000         * modules/fstrcmp-tests: New file.
47001         * tests/test-fstrcmp.c: New file.
47002
47003 2007-08-18  Bruno Haible  <bruno@clisp.org>
47004
47005         * modules/fstrcmp: New file, from GNU gettext with modifications.
47006         * lib/fstrcmp.h: New file, from GNU gettext.
47007         * lib/fstrcmp.c: New file, from GNU gettext.
47008         * MODULES.html.sh (String handling): Add fstrcmp.
47009
47010 2007-08-18  Bruno Haible  <bruno@clisp.org>
47011
47012         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
47013         'bool'.
47014         (diag, compareseq): Remove const from the ctxt argument.
47015         (USE_HEURISTIC): Undefine at the end.
47016
47017 2007-08-18  Jim Meyering  <jim@meyering.net>
47018
47019         New file: lib/idcache.h
47020         * NEWS: Mention the addition.
47021         * modules/idcache (Files): Add lib/idcache.h
47022         * lib/idcache.c: Include "idcache.h".
47023         Don't include <sys/types.h>.
47024         Add a FIXME comment.
47025         Move file-scoped "static" declarations to the top.
47026         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
47027
47028 2007-08-17  Bruno Haible  <bruno@clisp.org>
47029         and Paul Eggert  <eggert@cs.ucla.edu>
47030
47031         * MODULES.html.sh: Add diffseq.
47032         * modules/diffseq: New file.
47033         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
47034         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
47035
47036 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47037
47038         Import changes from coreutils for bootstrap script.
47039
47040         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
47041
47042         * build-aux/bootstrap (slurp): Work even in environments where
47043         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
47044         current code does not slurp files whose names start with ".", and
47045         this looks like it might be a troublesome area.
47046
47047         2007-07-11  Jim Meyering  <jim@meyering.net>
47048
47049         If there's a GPL vN copyright comment, require that N == 3.
47050
47051         2007-07-08  Jim Meyering  <jim@meyering.net>
47052
47053         Run the coreutils-specific code only if tests/Makefile.am.in exists.
47054         * build-aux/bootstrap (mam_template): Move definition out of loop.
47055
47056         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
47057
47058         * build-aux/bootstrap (symlink_to_dir): Rename function from
47059         symlink_to_gnulib.  Add a directory parameter.  Update all
47060         callers.
47061         (cp_mark_as_generated): Also check for -- and link to -- files in
47062         gl/.
47063
47064         2007-07-08  Jim Meyering  <jim@meyering.net>
47065
47066         Adapt to deeper hierarchy in gnulib.
47067         * build-aux/bootstrap (symlink_to_dir): If the destination
47068         directory doesn't exist, create it. This is required at least for
47069         "lib/uniwidth/cjk.h".
47070
47071         2007-05-15  Jim Meyering  <jim@meyering.net>
47072
47073         * build-aux/bootstrap: Now that generated Makefile.am files
47074         are no longer under version control, they must be created at
47075         bootstrap time.
47076
47077 2007-08-14  Ben Pfaff  <blp@gnu.org>
47078
47079         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
47080
47081 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47082
47083         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
47084         given the changes below.
47085         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
47086         even on hosts that have padding bits beyond the supported 64.
47087
47088 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47089
47090         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
47091         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
47092         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
47093         depends on it.
47094         (xstrtol_error): Remove.
47095         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
47096         but with a different signature.
47097         (ATTRIBUTE_NORETURN, __attribute__): New macros.
47098         * lib/xstrtol-error.c: Include exitfail.h.
47099         (xstrtol_fatal): New function, with a different signature from the
47100         old xstrtol_error, so that the caller need not worry about passing
47101         in an exit status, or about storage management of the option argument.
47102         (xstrtol_error): Now a static function.  Redo signature to
47103         implement xstrtol_fatal.  Output the correct number of hyphens in
47104         front of the option so that the caller need not worry about
47105         storage management.
47106         (N_): New macro.
47107         (_): Remove; not used now.
47108         * modules/xstrtol: Depend on getopt.
47109         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
47110         of old STRTOL_FATAL_ERROR macro.
47111         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
47112         of test program.
47113         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
47114         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
47115
47116 2007-08-08  Eric Blake  <ebb9@byu.net>
47117
47118         * lib/xstrtol-error.c: Add missing include.
47119
47120         Move xstrtol messages into gnulib domain, when --pobase is used.
47121         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
47122         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
47123         * modules/xstrtol (Files): Distribute new file.
47124         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
47125         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
47126         * tests/test-xstrtol.c: ...into new file.
47127         * tests/test-xstrtoul.c: Also test xstrtoul.
47128         * tests/test-xstrtoimax.c: Also test xstrtoimax.
47129         * tests/test-xstrtoumax.c: Also test xstrtoumax.
47130         * tests/test-xstrtol.sh: Drive the tests.
47131         * tests/test-xstrtoimax.sh: Likewise.
47132         * tests/test-xstrtoumax.sh: Likewise.
47133         * modules/xstrtol-tests: New module.
47134         * modules/xstrtoimax-tests: Likewise.
47135         * modules/xstrtoumax-tests: Likewise.
47136
47137 2007-08-08  Jim Meyering  <jim@meyering.net>
47138
47139         New function: mfile_name_concat.
47140         * lib/filenamecat.c (mfile_name_concat): New function, just like
47141         file_name_concat, but return NULL upon failure rather than exiting
47142         with a diagnostic.
47143         * lib/filenamecat.h: Declare it.
47144
47145 2007-08-07  Bruno Haible  <bruno@clisp.org>
47146
47147         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
47148         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
47149         warning from gcc.
47150         Reported by Eric Blake.
47151
47152 2007-08-07  Simon Josefsson  <simon@josefsson.org>
47153
47154         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
47155         * modules/crypto/arcfour (License): Likewise.
47156         * modules/crypto/des-tests (License): Likewise.
47157         * modules/crypto/gc-arctwo-tests (License): Likewise.
47158         * modules/crypto/gc-des-tests (License): Likewise.
47159         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
47160         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
47161         * modules/crypto/gc-md2-tests (License): Likewise.
47162         * modules/crypto/gc-md4-tests (License): Likewise.
47163         * modules/crypto/gc-md5-tests (License): Likewise.
47164         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
47165         * modules/crypto/gc-rijndael-tests (License): Likewise.
47166         * modules/crypto/gc-sha1-tests (License): Likewise.
47167         * modules/crypto/gc-tests (License): Likewise.
47168         * modules/crypto/hmac-md5 (License): Likewise.
47169         * modules/crypto/hmac-sha1 (License): Likewise.
47170         * modules/crypto/md2-tests (License): Likewise.
47171         * modules/crypto/md4-tests (License): Likewise.
47172         * modules/crypto/md5 (License): Likewise.
47173         * modules/crypto/rijndael (License): Likewise.
47174         * modules/crypto/sha1 (License): Likewise.
47175         * modules/memxor (License): Likewise.
47176
47177 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47178         and Bruno Haible  <bruno@clisp.org>
47179
47180         * NEWS: Describe interface changes to human, xstrtol.
47181         * lib/human.h: Include <xstrtol.h>.
47182         (human_options): Return enum strtol_error, not int.  Remove
47183         bool arg; take int * instead.
47184         * lib/human.c: Don't include "gettext.h".
47185         (_): Remove; no longer used.
47186         Don't include <xstrtol.h>, since human.h does it.
47187         (human_options): Adjust to abovementioned interface changes.
47188         Do not report error to stderr; that's now the caller's
47189         responsibility.
47190         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
47191         interface change.
47192         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
47193         Str, Argument_type_string.  All uses changed.  Put " argument"
47194         in diagnostics to make them clearer.  Change wording of suffix
47195         message for clarity.
47196         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
47197         Argument_type_string.
47198         (STRTOL_FATAL_WARN): Remove; no longer used.
47199         * modules/human (Depends-on): Remove gettext-h.
47200
47201 2007-08-06  Simon Josefsson  <simon@josefsson.org>
47202
47203         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
47204
47205 2007-07-31  Bruno Haible  <bruno@clisp.org>
47206
47207         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
47208         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
47209         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
47210
47211 2007-07-31  Bruno Haible  <bruno@clisp.org>
47212
47213         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
47214         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
47215
47216 2007-07-30  Bruno Haible  <bruno@clisp.org>
47217
47218         * modules/base64 (License): Use the synonymous term "LGPLv2+".
47219         * modules/c-ctype (License): Likewise.
47220         * modules/c-strcase (License): Likewise.
47221         * modules/check-version (License): Likewise.
47222         * modules/iconv (License): Likewise.
47223         * modules/iconv_open (License): Likewise.
47224         * modules/read-file (License): Likewise.
47225         * modules/striconv (License): Likewise.
47226         * modules/strverscmp (License): Likewise.
47227         * modules/vasprintf (License): Likewise.
47228         * modules/crypto/des (License): Likewise.
47229         * modules/crypto/gc (License): Likewise.
47230         * modules/crypto/gc-arcfour (License): Likewise.
47231         * modules/crypto/gc-arctwo (License): Likewise.
47232         * modules/crypto/gc-des (License): Likewise.
47233         * modules/crypto/gc-hmac-md5 (License): Likewise.
47234         * modules/crypto/gc-hmac-sha1 (License): Likewise.
47235         * modules/crypto/gc-md2 (License): Likewise.
47236         * modules/crypto/gc-md4 (License): Likewise.
47237         * modules/crypto/gc-md5 (License): Likewise.
47238         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
47239         * modules/crypto/gc-random (License): Likewise.
47240         * modules/crypto/gc-rijndael (License): Likewise.
47241         * modules/crypto/gc-sha1 (License): Likewise.
47242         * modules/crypto/md2 (License): Likewise.
47243         * modules/crypto/md4 (License): Likewise.
47244
47245 2007-07-30  Jim Meyering  <jim@meyering.net>
47246
47247         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
47248         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
47249         it has valid stat data.  This bug would cause du not to count the
47250         sizes of inaccessible directories.
47251         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
47252         in <http://bugzilla.redhat.com/250077>.
47253
47254 2007-07-25  Peter O'Gorman  <peter@pogma.com>
47255             Bruno Haible  <bruno@clisp.org>
47256
47257         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
47258         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
47259         #include_next, gives a diagnostic about it, but reports no error in
47260         the exit code.
47261         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47262
47263 2007-07-24  Ben Pfaff  <blp@gnu.org>
47264
47265         Improve name: "count-one-bits" is better than "popcount".
47266         * MODULES.html.sh: Update name.
47267         * lib/popcount.h: Renamed lib/count-one-bits.h.
47268         (popcount): Renamed count_one_bits.
47269         (popcountl): Renamed count_one_bits_l.
47270         (popcountll): Renamed count_one_bits_ll.
47271         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
47272         * modules/popcount: Renamed module/count-one-bits.
47273         * modules/popcount-tests: Renamed module/count-one-bits-tests.
47274         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
47275
47276 2007-07-23  Ben Pfaff  <blp@gnu.org>
47277
47278         * lib/popcount.h (popcount32): Reduce size of constants, to allow
47279         better code generation, and add U to large constants to avoid
47280         warnings, in non-GCC case.
47281         Suggested by Bruno Haible.
47282
47283 2007-07-23  Ben Pfaff  <blp@gnu.org>
47284
47285         * lib/popcount.h: Use verify_true instead of if...abort.
47286         * modules/popcount: Depend on verify module.
47287         Suggested by Jim Meyering.
47288
47289 2007-07-23  Bruno Haible  <bruno@clisp.org>
47290
47291         * gnulib-tool (func_import): Create a .cvsignore file also when the
47292         directory is not yet in CVS but the toplevel directory is. When
47293         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
47294         Reported by Karl Berry.
47295
47296 2007-07-22  Ben Pfaff  <blp@gnu.org>
47297
47298         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
47299         case.
47300         Suggested by Eric Blake.
47301
47302 2007-07-22  Ben Pfaff  <blp@gnu.org>
47303
47304         New module: popcount.
47305         * MODULES.html.sh: Add popcount.
47306         * modules/popcount: New file.
47307         * modules/popcount-tests: New file.
47308         * tests/test-popcount.c: New file.
47309         * lib/popcount.h: New file.
47310         * m4/popcount.m4: New file.
47311
47312 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
47313
47314         * build-aux/announce-gen: Update to GPLv3.
47315
47316         * build-aux/config.guess: Update from config.
47317
47318 2007-07-21  Bruno Haible  <bruno@clisp.org>
47319
47320         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
47321         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
47322
47323 2007-07-20  Jim Meyering  <jim@meyering.net>
47324
47325         * check-module: Diagnose a self-dependency.
47326
47327 2007-07-19  Bruno Haible  <bruno@clisp.org>
47328
47329         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
47330         empty.
47331         Reported by Eric Blake.
47332
47333 2007-07-18  Bruno Haible  <bruno@clisp.org>
47334
47335         * gnulib-tool: New options --po-base, --po-domain.
47336         (func_usage): Document them.
47337         (pobase, po_domain): New variables.
47338         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
47339         DEFAULT_TEXT_DOMAIN.
47340         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
47341         (func_import): Consider pobase and po_domain. Create a po/ directory.
47342         (func_create_testdir): Set pobase and po_domain to empty.
47343         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
47344         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
47345
47346 2007-07-18  Bruno Haible  <bruno@clisp.org>
47347
47348         * gnulib-tool (func_get_automake_snippet): Synthesize also an
47349         EXTRA_DIST augmentation for files in build-aux/.
47350
47351 2007-07-16  Bruno Haible  <bruno@clisp.org>
47352
47353         * modules/lseek (License): Use the synonymous term "LGPLv2+".
47354         * modules/getdelim (License): Likewise.
47355
47356 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47357
47358         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
47359         * modules/d-type (License): Likewise.
47360         * modules/extensions (License): Likewise.
47361         * modules/fnmatch (License): Likewise.
47362         * modules/fseeko (License): Likewise.
47363         * modules/getaddrinfo (License): Likewise.
47364         * modules/getline (License): Likewise.
47365         * modules/getlogin_r (License): Likewise.
47366         * modules/getpass (License): Likewise.
47367         * modules/gettimeofday (License): Likewise.
47368         * modules/glob (License): Likewise.
47369         * modules/inet_ntop (License): Likewise.
47370         * modules/malloc (License): Likewise.
47371         * modules/malloca (License): Likewise.
47372         * modules/memmem (License): Likewise.
47373         * modules/mempcpy (License): Likewise.
47374         * modules/memset (License): Likewise.
47375         * modules/minmax (License): Likewise.
47376         * modules/mktime (License): Likewise.
47377         * modules/netinet_in (License): Likewise.
47378         * modules/pathmax (License): Likewise.
47379         * modules/poll (License): Likewise.
47380         * modules/regex (License): Likewise.
47381         * modules/snprintf (License): Likewise.
47382         * modules/stdbool (License): Likewise.
47383         * modules/stdint (License): Likewise.
47384         * modules/stdio (License): Likewise.
47385         * modules/strcase (License): Likewise.
47386         * modules/strcasestr (License): Likewise.
47387         * modules/strdup (License): Likewise.
47388         * modules/string (License): Likewise.
47389         * modules/strndup (License): Likewise.
47390         * modules/strnlen (License): Likewise.
47391         * modules/strpbrk (License): Likewise.
47392         * modules/strptime (License): Likewise.
47393         * modules/strsep (License): Likewise.
47394         * modules/sys_select (License): Likewise.
47395         * modules/sys_socket (License): Likewise.
47396         * modules/sys_stat (License): Likewise.
47397         * modules/sys_time (License): Likewise.
47398         * modules/time (License): Likewise.
47399         * modules/time_r (License): Likewise.
47400         * modules/timegm (License): Likewise.
47401         * modules/unistd (License): Likewise.
47402         * modules/vsnprintf (License): Likewise.
47403         * modules/wctype (License): Likewise.
47404
47405 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47406
47407         * modules/argz (License): LGPLv2+.
47408
47409 2007-07-15  Karl Berry  <karl@gnu.org>
47410
47411         * doc/gnulib.texi: revise node structure per new fdl.texi.
47412
47413 2007-07-14  Bruno Haible  <bruno@clisp.org>
47414
47415         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
47416         the output file.
47417         * lib/uniname/uninames.h: Regenerated.
47418
47419 2007-07-14  Karl Berry  <karl@gnu.org>
47420
47421         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
47422         omitting sectioning and index commands.
47423
47424 2007-07-13  Bruno Haible  <bruno@clisp.org>
47425
47426         New gnulib-tool option --more-symlinks.
47427         * gnulib-tool (func_usage): Document --more-symlinks.
47428         (do_copyrights): New variable.
47429         Recognize option --more-symlinks.
47430         (func_import): Don't add a copyright notice transform to
47431         sed_transform_lib_file if do_copyrights is empty.
47432
47433 2007-07-13  Bruno Haible  <bruno@clisp.org>
47434
47435         * lib/vasnprintf.c (decimal_point_char): Define also if
47436         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
47437         && !NEED_PRINTF_DIRECTIVE_A.
47438         Reported by Clemens Koller <clemens.koller@anagramm.de> via
47439         Gary V. Vaughan <gary@gnu.org>.
47440
47441 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
47442
47443         * lib/inttypes_.h: Undo previous change, since it was fixed
47444         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
47445
47446 2007-07-13  Bruno Haible  <bruno@clisp.org>
47447
47448         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
47449         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
47450
47451 2007-07-13  Jim Meyering  <jim@meyering.net>
47452
47453         df: Don't fail for Tru64's "file-on-file mount".
47454         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
47455         so we fall through and use statfs instead.  Details here:
47456         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
47457         Reported by Albert Chin.
47458
47459 2007-07-13  Bruno Haible  <bruno@clisp.org>
47460
47461         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
47462         * modules/configmake (License): Likewise.
47463         * modules/gettext (License): Likewise.
47464         * modules/gettext-h (License): Likewise.
47465         * modules/include_next (License): Likewise.
47466         * modules/link-warning (License): Likewise.
47467         * modules/localcharset (License): Likewise.
47468         * modules/localename (License): Likewise.
47469         * modules/lock (License): Likewise.
47470         * modules/relocatable-lib-lgpl (License): Likewise.
47471         * modules/size_max (License): Likewise.
47472         * modules/vasnprintf (License): Likewise.
47473         * modules/wchar (License): Likewise.
47474         * modules/xsize (License): Likewise.
47475
47476 2007-07-13  Bruno Haible  <bruno@clisp.org>
47477
47478         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
47479         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
47480
47481 2007-07-12  Bruno Haible  <bruno@clisp.org>
47482
47483         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
47484         in the modules files.
47485
47486 2007-07-11  Karl Berry  <karl@gnu.org>
47487
47488         * MODULES.html.sh (func_module): use
47489          sed -e '\|^'"${includefile}"'$|d'
47490          instead of /.../d, to avoid errors on $includefile's containing /.
47491
47492 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47493
47494         * gnulib-tool (func_import): Avoid duplication of --avoid
47495         statements
47496         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
47497         names to `_' in variable names.
47498
47499 2007-07-10  Eric Blake  <ebb9@byu.net>
47500
47501         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
47502         * NEWS: Document this change.
47503
47504 2007-07-08  Bruno Haible  <bruno@clisp.org>
47505
47506         Update to Unicode 5.0.
47507         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
47508         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
47509         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
47510         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
47511         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
47512         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
47513         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
47514         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
47515         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
47516         U+10A3F, U+1D242..U+1D244.
47517         (nonspacing_table_ind): Update.
47518         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
47519         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
47520
47521 2007-07-08  Bruno Haible  <bruno@clisp.org>
47522
47523         Update to Unicode 5.0.
47524         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
47525         code transform. Extend the name index field of unicode_name_to_code and
47526         unicode_code_to_name from 16 to 24 bits.
47527         * lib/uniname/uniname.c (unicode_character_name,
47528         unicode_name_character): Add the range 0x12xxx to the code transform.
47529         * lib/uniname/uninames.h: Regenerated.
47530         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
47531
47532 2007-07-07  Bruno Haible  <bruno@clisp.org>
47533
47534         * modules/wcwidth-tests: New file.
47535         * tests/test-wcwidth.c: New file.
47536
47537         Work around MacOS X wcwidth() bug.
47538         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
47539         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
47540         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
47541         original wcwidth in non-UTF-8 locales.
47542         * modules/wcwidth (Depends-on): Add localcharset, streq,
47543         uniwidth/width.
47544         * doc/functions/wcwidth.texi: Update.
47545
47546 2007-07-07  Bruno Haible  <bruno@clisp.org>
47547
47548         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
47549         (wcwidth): New declaration.
47550         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
47551         macros.
47552         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
47553         here. Prepare for creating <wchar.h> unconditionally.
47554         * modules/wchar (Depends-on): Add link-warning.
47555         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
47556         REPLACE_WCWIDTH, and GL_LINK_WARNING.
47557         * lib/wcwidth.h: Remove file.
47558         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
47559         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
47560         * modules/wcwidth (Files): Remove lib/wcwidth.h.
47561         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
47562         (Include): Replace wcwidth.h with <wchar.h>.
47563         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
47564         * lib/mbchar.h: Don't include wcwidth.h.
47565         * lib/mbswidth.c: Likewise.
47566         * NEWS: Mention the change.
47567
47568 2007-07-07  Bruno Haible  <bruno@clisp.org>
47569
47570         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
47571         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
47572         definition with an external declaration.
47573         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
47574         defined as a function. Remove AC_C_INLINE requirement.
47575         * modules/wcwidth (Files): Add lib/wcwidth.c.
47576         (Makefile.am): Remove redundant statement.
47577
47578 2007-07-07  Bruno Haible  <bruno@clisp.org>
47579
47580         * MODULES.html.sh (Unicode string functions): Add the new modules.
47581
47582         * tests/uniwidth/test-u32-strwidth.c: New file.
47583         * modules/uniwidth/u32-strwidth-tests: New file.
47584
47585         * lib/uniwidth/u32-strwidth.c: New file.
47586         * modules/uniwidth/u32-strwidth: New file.
47587
47588         * tests/uniwidth/test-u16-strwidth.c: New file.
47589         * modules/uniwidth/u16-strwidth-tests: New file.
47590
47591         * lib/uniwidth/u16-strwidth.c: New file.
47592         * modules/uniwidth/u16-strwidth: New file.
47593
47594         * tests/uniwidth/test-u8-strwidth.c: New file.
47595         * modules/uniwidth/u8-strwidth-tests: New file.
47596
47597         * lib/uniwidth/u8-strwidth.c: New file.
47598         * modules/uniwidth/u8-strwidth: New file.
47599
47600         * tests/uniwidth/test-u32-width.c: New file.
47601         * modules/uniwidth/u32-width-tests: New file.
47602
47603         * lib/uniwidth/u32-width.c: New file.
47604         * modules/uniwidth/u32-width: New file.
47605
47606         * tests/uniwidth/test-u16-width.c: New file.
47607         * modules/uniwidth/u16-width-tests: New file.
47608
47609         * lib/uniwidth/u16-width.c: New file.
47610         * modules/uniwidth/u16-width: New file.
47611
47612         * tests/uniwidth/test-u8-width.c: New file.
47613         * modules/uniwidth/u8-width-tests: New file.
47614
47615         * lib/uniwidth/u8-width.c: New file.
47616         * modules/uniwidth/u8-width: New file.
47617
47618         * tests/uniwidth/test-uc_width.c: New file.
47619         * modules/uniwidth/width-tests: New file.
47620
47621         * lib/uniwidth/width.c: New file, from GNU libiconv.
47622         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
47623         * modules/uniwidth/width: New file.
47624
47625         * lib/uniwidth.h: New file, from GNU libiconv.
47626         * modules/uniwidth/base: New file.
47627
47628 2007-07-07  Bruno Haible  <bruno@clisp.org>
47629
47630         * lib/uniname.h: New file, from GNU gettext.
47631         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
47632         * lib/uniname/uninames.h: New file, from GNU gettext.
47633         * lib/uniname/uniname.c: New file, from GNU gettext.
47634         * tests/uniname/test-uninames.sh: New file.
47635         * tests/uniname/test-uninames.c: New file, from GNU gettext.
47636         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
47637         * modules/uniname/base: New file.
47638         * modules/uniname/uniname: New file.
47639         * modules/uniname/uniname-tests: New file.
47640         * MODULES.html.sh (Unicode string functions): Add the new modules.
47641
47642 2007-07-06  Bruno Haible  <bruno@clisp.org>
47643
47644         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
47645
47646 2007-07-06  Bruno Haible  <bruno@clisp.org>
47647
47648         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
47649         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
47650         includes <cygwin/sys_time.h> which includes <sys/select.h> which
47651         include <sys/time.h>.
47652         Reported by Eric Blake.
47653
47654 2007-07-06  Eric Blake  <ebb9@byu.net>
47655
47656         Fix testing canonicalize on cygwin.
47657         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47658         Revert patch from 2007-06-19.
47659         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
47660         canonicalize module is also in use.
47661         * tests/test-canonicalize.c: New file.
47662         * tests/test-canonicalize.sh: Likewise.
47663         * modules/canonicalize-tests: Likewise.
47664
47665 2007-07-06  Jim Meyering  <jim@meyering.net>
47666
47667         * lib/getugroups.c (getugroups): Detect getgrent failure.
47668         Adjust comment to reflect reality: this function may return -1.
47669
47670 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
47671
47672         * build-aux/bootstrap (TP_URL,get_translations): Update to use
47673         the new TP address.
47674         (usage): Fix typo
47675         (gnulib_mk): New variable.
47676
47677 2007-07-05  Jim Meyering  <jim@meyering.net>
47678
47679         Don't let endgrent clobber errno, no matter how improbable.
47680         * lib/getugroups.c (getugroups): Save and restore errno around
47681         endgrent call.
47682
47683         Close the group DB even when failing with 2^31 or more members.
47684         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
47685
47686 2007-07-04  Jim Meyering  <jim@meyering.net>
47687
47688         * lib/getugroups.h: New file.
47689         * lib/getugroups.c: Include "getugroups.h".
47690         Remove uses of "register" keyword.
47691         Move local variable, "cp", down into scope where used.
47692         Give "username" parameter the "const" attribute.
47693         * modules/getugroups (Files): Add lib/getugroups.h
47694
47695 2007-07-04  Karl Berry  <karl@gnu.org>
47696
47697         * MODULES.html.sh (func_all_modules): Complete rename of
47698         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
47699
47700 2007-07-02  Bruno Haible  <bruno@clisp.org>
47701
47702         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
47703         mode, when inttypes.h comes from gnulib.
47704         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47705
47706 2007-07-02  Simon Josefsson  <simon@josefsson.org>
47707
47708         * NEWS: Mention lgpl module name change.
47709
47710         * modules/lgpl-2.1: Renamed from lgpl.
47711
47712         * NEWS: Mention gpl module name change.
47713
47714         * modules/gpl-3.0: New file, based on gpl-2.0.
47715
47716         * modules/gpl-2.0: Renamed from gpl.
47717
47718         * modules/gpl: Fix filename, doc/gpl.texi is now found at
47719         doc/gpl-2.0.texi.
47720
47721 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47722
47723         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
47724         #define __STDC_LIMIT_MACROS temporarily while including
47725         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
47726         Problem reported by Joel E. Denny in
47727         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
47728
47729 2007-07-01  Bruno Haible  <bruno@clisp.org>
47730
47731         * lib/unistdio.h: New file.
47732         * lib/unistdio/u-asnprintf.h: New file.
47733         * lib/unistdio/u-asprintf.h: New file.
47734         * lib/unistdio/u-printf-args.c: New file.
47735         * lib/unistdio/u-printf-args.h: New file.
47736         * lib/unistdio/u-printf-parse.h: New file.
47737         * lib/unistdio/u-snprintf.h: New file.
47738         * lib/unistdio/u-sprintf.h: New file.
47739         * lib/unistdio/u-vasprintf.h: New file.
47740         * lib/unistdio/u-vsnprintf.h: New file.
47741         * lib/unistdio/u-vsprintf.h: New file.
47742         * lib/unistdio/ulc-asnprintf.c: New file.
47743         * lib/unistdio/ulc-asprintf.c: New file.
47744         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
47745         * lib/unistdio/ulc-printf-parse.c: New file.
47746         * lib/unistdio/ulc-snprintf.c: New file.
47747         * lib/unistdio/ulc-sprintf.c: New file.
47748         * lib/unistdio/ulc-vasnprintf.c: New file.
47749         * lib/unistdio/ulc-vasprintf.c: New file.
47750         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
47751         * lib/unistdio/ulc-vsnprintf.c: New file.
47752         * lib/unistdio/ulc-vsprintf.c: New file.
47753         * lib/unistdio/u8-asnprintf.c: New file.
47754         * lib/unistdio/u8-asprintf.c: New file.
47755         * lib/unistdio/u8-printf-parse.c: New file.
47756         * lib/unistdio/u8-snprintf.c: New file.
47757         * lib/unistdio/u8-sprintf.c: New file.
47758         * lib/unistdio/u8-vasnprintf.c: New file.
47759         * lib/unistdio/u8-vasprintf.c: New file.
47760         * lib/unistdio/u8-vsnprintf.c: New file.
47761         * lib/unistdio/u8-vsprintf.c: New file.
47762         * lib/unistdio/u8-u8-asnprintf.c: New file.
47763         * lib/unistdio/u8-u8-asprintf.c: New file.
47764         * lib/unistdio/u8-u8-snprintf.c: New file.
47765         * lib/unistdio/u8-u8-sprintf.c: New file.
47766         * lib/unistdio/u8-u8-vasnprintf.c: New file.
47767         * lib/unistdio/u8-u8-vasprintf.c: New file.
47768         * lib/unistdio/u8-u8-vsnprintf.c: New file.
47769         * lib/unistdio/u8-u8-vsprintf.c: New file.
47770         * lib/unistdio/u16-asnprintf.c: New file.
47771         * lib/unistdio/u16-asprintf.c: New file.
47772         * lib/unistdio/u16-printf-parse.c: New file.
47773         * lib/unistdio/u16-snprintf.c: New file.
47774         * lib/unistdio/u16-sprintf.c: New file.
47775         * lib/unistdio/u16-vasnprintf.c: New file.
47776         * lib/unistdio/u16-vasprintf.c: New file.
47777         * lib/unistdio/u16-vsnprintf.c: New file.
47778         * lib/unistdio/u16-vsprintf.c: New file.
47779         * lib/unistdio/u16-u16-asnprintf.c: New file.
47780         * lib/unistdio/u16-u16-asprintf.c: New file.
47781         * lib/unistdio/u16-u16-snprintf.c: New file.
47782         * lib/unistdio/u16-u16-sprintf.c: New file.
47783         * lib/unistdio/u16-u16-vasnprintf.c: New file.
47784         * lib/unistdio/u16-u16-vasprintf.c: New file.
47785         * lib/unistdio/u16-u16-vsnprintf.c: New file.
47786         * lib/unistdio/u16-u16-vsprintf.c: New file.
47787         * lib/unistdio/u32-asnprintf.c: New file.
47788         * lib/unistdio/u32-asprintf.c: New file.
47789         * lib/unistdio/u32-printf-parse.c: New file.
47790         * lib/unistdio/u32-snprintf.c: New file.
47791         * lib/unistdio/u32-sprintf.c: New file.
47792         * lib/unistdio/u32-vasnprintf.c: New file.
47793         * lib/unistdio/u32-vasprintf.c: New file.
47794         * lib/unistdio/u32-vsnprintf.c: New file.
47795         * lib/unistdio/u32-vsprintf.c: New file.
47796         * lib/unistdio/u32-u32-asnprintf.c: New file.
47797         * lib/unistdio/u32-u32-asprintf.c: New file.
47798         * lib/unistdio/u32-u32-snprintf.c: New file.
47799         * lib/unistdio/u32-u32-sprintf.c: New file.
47800         * lib/unistdio/u32-u32-vasnprintf.c: New file.
47801         * lib/unistdio/u32-u32-vasprintf.c: New file.
47802         * lib/unistdio/u32-u32-vsnprintf.c: New file.
47803         * lib/unistdio/u32-u32-vsprintf.c: New file.
47804         * tests/unistdio/test-ulc-asnprintf1.c: New file.
47805         * tests/unistdio/test-ulc-asnprintf1.h: New file.
47806         * tests/unistdio/test-ulc-printf1.h: New file.
47807         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
47808         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
47809         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
47810         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
47811         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
47812         * tests/unistdio/test-ulc-vasprintf1.c: New file.
47813         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
47814         * tests/unistdio/test-ulc-vsprintf1.c: New file.
47815         * tests/unistdio/test-u8-asnprintf1.c: New file.
47816         * tests/unistdio/test-u8-asnprintf1.h: New file.
47817         * tests/unistdio/test-u8-printf1.h: New file.
47818         * tests/unistdio/test-u8-vasnprintf1.c: New file.
47819         * tests/unistdio/test-u8-vasnprintf2.c: New file.
47820         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
47821         * tests/unistdio/test-u8-vasnprintf3.c: New file.
47822         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
47823         * tests/unistdio/test-u8-vasprintf1.c: New file.
47824         * tests/unistdio/test-u8-vsnprintf1.c: New file.
47825         * tests/unistdio/test-u8-vsprintf1.c: New file.
47826         * tests/unistdio/test-u16-asnprintf1.c: New file.
47827         * tests/unistdio/test-u16-asnprintf1.h: New file.
47828         * tests/unistdio/test-u16-printf1.h: New file.
47829         * tests/unistdio/test-u16-vasnprintf1.c: New file.
47830         * tests/unistdio/test-u16-vasnprintf2.c: New file.
47831         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
47832         * tests/unistdio/test-u16-vasnprintf3.c: New file.
47833         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
47834         * tests/unistdio/test-u16-vasprintf1.c: New file.
47835         * tests/unistdio/test-u16-vsnprintf1.c: New file.
47836         * tests/unistdio/test-u16-vsprintf1.c: New file.
47837         * tests/unistdio/test-u32-asnprintf1.c: New file.
47838         * tests/unistdio/test-u32-asnprintf1.h: New file.
47839         * tests/unistdio/test-u32-printf1.h: New file.
47840         * tests/unistdio/test-u32-vasnprintf1.c: New file.
47841         * tests/unistdio/test-u32-vasnprintf2.c: New file.
47842         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
47843         * tests/unistdio/test-u32-vasnprintf3.c: New file.
47844         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
47845         * tests/unistdio/test-u32-vasprintf1.c: New file.
47846         * tests/unistdio/test-u32-vsnprintf1.c: New file.
47847         * tests/unistdio/test-u32-vsprintf1.c: New file.
47848         * modules/unistdio/base: New file.
47849         * modules/unistdio/u-printf-args: New file.
47850         * modules/unistdio/ulc-asnprintf: New file.
47851         * modules/unistdio/ulc-asprintf: New file.
47852         * modules/unistdio/ulc-fprintf: New file.
47853         * modules/unistdio/ulc-printf-parse: New file.
47854         * modules/unistdio/ulc-snprintf: New file.
47855         * modules/unistdio/ulc-sprintf: New file.
47856         * modules/unistdio/ulc-vasnprintf: New file.
47857         * modules/unistdio/ulc-vasprintf: New file.
47858         * modules/unistdio/ulc-vfprintf: New file.
47859         * modules/unistdio/ulc-vsnprintf: New file.
47860         * modules/unistdio/ulc-vsprintf: New file.
47861         * modules/unistdio/u8-asnprintf: New file.
47862         * modules/unistdio/u8-asprintf: New file.
47863         * modules/unistdio/u8-printf-parse: New file.
47864         * modules/unistdio/u8-snprintf: New file.
47865         * modules/unistdio/u8-sprintf: New file.
47866         * modules/unistdio/u8-vasnprintf: New file.
47867         * modules/unistdio/u8-vasprintf: New file.
47868         * modules/unistdio/u8-vsnprintf: New file.
47869         * modules/unistdio/u8-vsprintf: New file.
47870         * modules/unistdio/u8-u8-asnprintf: New file.
47871         * modules/unistdio/u8-u8-asprintf: New file.
47872         * modules/unistdio/u8-u8-snprintf: New file.
47873         * modules/unistdio/u8-u8-sprintf: New file.
47874         * modules/unistdio/u8-u8-vasnprintf: New file.
47875         * modules/unistdio/u8-u8-vasprintf: New file.
47876         * modules/unistdio/u8-u8-vsnprintf: New file.
47877         * modules/unistdio/u8-u8-vsprintf: New file.
47878         * modules/unistdio/u16-asnprintf: New file.
47879         * modules/unistdio/u16-asprintf: New file.
47880         * modules/unistdio/u16-printf-parse: New file.
47881         * modules/unistdio/u16-snprintf: New file.
47882         * modules/unistdio/u16-sprintf: New file.
47883         * modules/unistdio/u16-vasnprintf: New file.
47884         * modules/unistdio/u16-vasprintf: New file.
47885         * modules/unistdio/u16-vsnprintf: New file.
47886         * modules/unistdio/u16-vsprintf: New file.
47887         * modules/unistdio/u16-u16-asnprintf: New file.
47888         * modules/unistdio/u16-u16-asprintf: New file.
47889         * modules/unistdio/u16-u16-snprintf: New file.
47890         * modules/unistdio/u16-u16-sprintf: New file.
47891         * modules/unistdio/u16-u16-vasnprintf: New file.
47892         * modules/unistdio/u16-u16-vasprintf: New file.
47893         * modules/unistdio/u16-u16-vsnprintf: New file.
47894         * modules/unistdio/u16-u16-vsprintf: New file.
47895         * modules/unistdio/u32-asnprintf: New file.
47896         * modules/unistdio/u32-asprintf: New file.
47897         * modules/unistdio/u32-printf-parse: New file.
47898         * modules/unistdio/u32-snprintf: New file.
47899         * modules/unistdio/u32-sprintf: New file.
47900         * modules/unistdio/u32-vasnprintf: New file.
47901         * modules/unistdio/u32-vasprintf: New file.
47902         * modules/unistdio/u32-vsnprintf: New file.
47903         * modules/unistdio/u32-vsprintf: New file.
47904         * modules/unistdio/u32-u32-asnprintf: New file.
47905         * modules/unistdio/u32-u32-asprintf: New file.
47906         * modules/unistdio/u32-u32-snprintf: New file.
47907         * modules/unistdio/u32-u32-sprintf: New file.
47908         * modules/unistdio/u32-u32-vasnprintf: New file.
47909         * modules/unistdio/u32-u32-vasprintf: New file.
47910         * modules/unistdio/u32-u32-vsnprintf: New file.
47911         * modules/unistdio/u32-u32-vsprintf: New file.
47912         * modules/unistdio/ulc-asnprintf-tests: New file.
47913         * modules/unistdio/ulc-vasnprintf-tests: New file.
47914         * modules/unistdio/ulc-vasprintf-tests: New file.
47915         * modules/unistdio/ulc-vsnprintf-tests: New file.
47916         * modules/unistdio/ulc-vsprintf-tests: New file.
47917         * modules/unistdio/u8-asnprintf-tests: New file.
47918         * modules/unistdio/u8-vasnprintf-tests: New file.
47919         * modules/unistdio/u8-vasprintf-tests: New file.
47920         * modules/unistdio/u8-vsnprintf-tests: New file.
47921         * modules/unistdio/u8-vsprintf-tests: New file.
47922         * modules/unistdio/u16-asnprintf-tests: New file.
47923         * modules/unistdio/u16-vasnprintf-tests: New file.
47924         * modules/unistdio/u16-vasprintf-tests: New file.
47925         * modules/unistdio/u16-vsnprintf-tests: New file.
47926         * modules/unistdio/u16-vsprintf-tests: New file.
47927         * modules/unistdio/u32-asnprintf-tests: New file.
47928         * modules/unistdio/u32-vasnprintf-tests: New file.
47929         * modules/unistdio/u32-vasprintf-tests: New file.
47930         * modules/unistdio/u32-vsnprintf-tests: New file.
47931         * modules/unistdio/u32-vsprintf-tests: New file.
47932         * MODULES.html.sh (Unicode string functions): Add the new modules.
47933
47934 2007-07-01  Bruno Haible  <bruno@clisp.org>
47935
47936         * lib/sprintf.c (sprintf): Limit the available length estimation,
47937         to avoid address wraparound.
47938         * lib/vsprintf.c (vsprintf): Likewise.
47939         * modules/sprintf-posix (Dependencies): Add stdint.
47940         * modules/vsprintf-posix (Dependencies): Likewise.
47941
47942 2007-07-01  Bruno Haible  <bruno@clisp.org>
47943
47944         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
47945         Windows PATH as well. Conservative double-quoting. Comments.
47946
47947 2007-07-01  Bruno Haible  <bruno@clisp.org>
47948             Eric Blake  <ebb9@byu.net>
47949             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47950
47951         * gnulib-tool (self_abspathname): Fix algorithm to cope with
47952         empty components in $PATH, denoting '.'.
47953
47954 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47955
47956         * gnulib-tool: Fix indentation.
47957         (func_create_megatestdir): Likewise.
47958         Report by Bruno Haible.
47959
47960 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47961
47962         Sync from Automake.
47963         * build-aux/gnupload: Fix shell portability issues with for loops.
47964         Report by Karl Berry.
47965
47966 2007-06-29  Simon Josefsson  <simon@josefsson.org>
47967
47968         * build-aux/maint.mk (POURL): Use translationproject.org.
47969
47970 2007-06-27  Simon Josefsson  <simon@josefsson.org>
47971             Bruno Haible  <bruno@clisp.org>
47972
47973         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
47974         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
47975         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
47976         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
47977         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
47978
47979 2007-06-27  Bruno Haible  <bruno@clisp.org>
47980
47981         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
47982         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
47983
47984 2007-06-26  Karl Berry  <karl@gnu.org>
47985
47986         * MODULES.html.sh: remove xreadlink-with-size.
47987
47988 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47989
47990         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
47991         method that I hope also handles the double-include problem noted
47992         by Bruno Haible in
47993         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
47994
47995 2007-06-23  Bruno Haible  <bruno@clisp.org>
47996
47997         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47998         Don't let the 'mostlyclean' target fail if the last subdirectory could
47999         not be removed.
48000         Reported by Karl Berry.
48001
48002 2007-06-23  Bruno Haible  <bruno@clisp.org>
48003
48004         * gnulib-tool (echo): Add a speedier workaround for ksh.
48005         * tests/test-echo.sh: Likewise.
48006
48007 2007-06-23  Bruno Haible  <bruno@clisp.org>
48008
48009         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
48010         * tests/test-echo.sh: Likewise.
48011
48012 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48013
48014         * gnulib-tool (IFS): Initialize early, so we don't set it to
48015         empty later.
48016         (self_abspathname): Rewrite algorithm to set it, reindent.
48017         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
48018         (func_create_megatestdir): Merge some sed scripts.
48019
48020 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48021
48022         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
48023         exposed by Sun Studio 11 cc on Solaris 8.
48024
48025 2007-06-22  Bruno Haible  <bruno@clisp.org>
48026
48027         * gnulib-tool (echo): Ensure the echo primitive does not interpret
48028         backslashes.
48029         * tests/test-echo.sh: New file.
48030
48031 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48032
48033         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
48034         simplify `sed_replace_build_aux' scripts, they are portable but
48035         echoing them with `echo' is not.
48036         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
48037
48038 2007-06-21  Karl Berry  <karl@gnu.org>
48039
48040         * config/srclist.txt: guess we can't handle the licenses via
48041         srclist at the moment.
48042
48043 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
48044
48045         * MODULES.html.sh: Add include_next.
48046         * modules/include_next: New file.
48047
48048 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
48049
48050         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
48051         INCLUDE_NEXT.
48052         (gl_CHECK_NEXT_HEADERS): New macro.
48053         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
48054         the obsolescent gl_ABSOLUTE_HEADER.
48055         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
48056         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
48057         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
48058         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
48059         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
48060         * m4/math_h.m4 (gl_MATH_H): Likewise.
48061         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
48062         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
48063         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
48064         * m4/stdint.m4 (gl_STDINT_H): Likewise.
48065         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
48066         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
48067         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
48068         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48069         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
48070         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48071         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
48072         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
48073         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
48074         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
48075         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
48076         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
48077         * m4/inttypes.m4 (gl_INTTYPES_H): Define
48078         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
48079         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
48080         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
48081         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
48082         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
48083         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
48084         * lib/float_.h: Likewise.
48085         * lib/inttypes_.h: Likewise.
48086         * lib/math_.h: Likewise.
48087         * lib/search_.h: Likewise.
48088         * lib/signal_.h: Likewise.
48089         * lib/stdint_.h: Likewise.
48090         * lib/stdio_.h: Likewise.
48091         * lib/stdlib_.h: Likewise.
48092         * lib/string_.h: Likewise.
48093         * lib/sys_stat_.h: Likewise.
48094         * lib/sys_time_.h: Likewise.
48095         * lib/time_.h: Likewise.
48096         * lib/unistd_.h: Likewise.
48097         * lib/wchar_.h: Likewise.
48098         * lib/wctype_.h: Likewise.
48099         * lib/dirent_.h: Likewise.
48100         * lib/iconv_.h: Likewise.
48101         * lib/locale_.h: Likewise.
48102         * lib/netinet_in_.h: Likewise.
48103         * lib/sys_select_.h: Likewise.
48104         * lib/sys_socket_.h: Likewise.
48105         * lib/sysexits_.h: Likewise.
48106         * modules/fcntl (Depends-on): Depend on include_next, not
48107         absolute_header.
48108         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
48109         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
48110         * modules/fchdir: Likewise.
48111         * modules/float: Likewise.
48112         * modules/iconv_open: Likewise.
48113         * modules/inttypes: Likewise.
48114         * modules/locale: Likewise.
48115         * modules/math: Likewise.
48116         * modules/netinet_in: Likewise.
48117         * modules/search: Likewise.
48118         * modules/signal: Likewise.
48119         * modules/stdint: Likewise.
48120         * modules/stdio: Likewise.
48121         * modules/stdlib: Likewise.
48122         * modules/string: Likewise.
48123         * modules/sys_select: Likewise.
48124         * modules/sys_socket: Likewise.
48125         * modules/sys_stat: Likewise.
48126         * modules/sys_time: Likewise.
48127         * modules/sysexits: Likewise.
48128         * modules/time: Likewise.
48129         * modules/unistd: Likewise.
48130         * modules/wchar: Likewise.
48131         * modules/wctype: Likewise.
48132         * modules/sys_stat: Change maintainer to "all".
48133         * modules/unistd: Likewise.
48134
48135 2007-06-20  Karl Berry  <karl@gnu.org>
48136
48137         * config/srclist.txt: track www changes in license files.
48138
48139 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
48140
48141         * build-aux/bootstrap: Remove stray dot.
48142         Make sure build_aux settings are honored when linking
48143         gnulib_extra_files.
48144
48145 2007-06-19  Eric Blake  <ebb9@byu.net>
48146
48147         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48148         Allow compilation on cygwin.
48149
48150 2007-06-19  Jim Meyering  <jim@meyering.net>
48151
48152         xreadlink-with-size: Remove module.  No longer used.
48153         Ex-callers now use xreadlink or mreadlink-with-size.
48154         * modules/xreadlink-with-size: Remove module.
48155         * lib/xreadlink-with-size.c: Remove file.
48156         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
48157         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
48158         just before the function definition *is* accurate.
48159
48160         Eliminate one way canonicalize_filename_mode could exit.
48161         * lib/canonicalize.c (canonicalize_filename_mode):
48162         Use mreadlink_with_size, not xreadlink_with_size.
48163
48164 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
48165
48166         Detect porting problems to FreeBSD/arm, which has time_t wider than
48167         long int.  Original problem reported for GNU diff by Xin Li in
48168         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
48169         * modules/getdate (Depends-on): Add intprops, verify.
48170         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
48171         is an integer type no wider than long int.
48172
48173 2007-06-18  Jim Meyering  <jim@meyering.net>
48174
48175         New module: mreadlink-with-size.
48176         * MODULES.html.sh: Add mreadlink-with-size.
48177         * modules/mreadlink-with-size: New module
48178         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
48179         not xreadlink-with-size.
48180         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
48181
48182 2007-06-16  Bruno Haible  <bruno@clisp.org>
48183
48184         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
48185         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
48186         Reported by Gary V. Vaughan <gary@gnu.org>.
48187
48188 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
48189
48190         Revamp lchown so that it lives in unistd.h where it belongs.
48191         * lib/lchown.h: Remove.
48192         * lib/dirchownmod.c: Don't include lib/lchown.h.
48193         * lib/fchownat.c: Likewise.
48194         * lib/openat.c: Likewise.
48195         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
48196         does not follow symlinks.
48197         (EOPNOTSUPP): Define if not defined.
48198         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
48199         is defined to 0.
48200         (lchown): New decl.
48201         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
48202         Do not check for lchown decl.
48203         Set REPLACE_LCHOWN.
48204         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
48205         REPLACE_LCHOWN.
48206         * modules/chown: Make it clear it follows symlinks.
48207         * modules/lchown: Make it clear it doesn't follow symlinks.
48208         (Files): Remove lib/lchown.h
48209         (Depends-on): Add unistd.
48210         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
48211         (Include): Include <unistd.h>, not "lchown.h".
48212         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
48213         REPLACE_LCHOWN.
48214
48215 2007-06-15  Jim Meyering  <jim@meyering.net>
48216
48217         Change license (GPL to LGPL) of fsusage and dependents.
48218         * modules/fsusage (License): Change to LGPL.
48219         * modules/full-read (License): Likewise.
48220         * modules/full-write (License): Likewise.
48221         * modules/safe-read (License): Likewise.
48222         * modules/safe-write (License): Likewise.
48223
48224 2007-06-14  Ben Pfaff  <blp@gnu.org>
48225
48226         Missing part of allocsa -> malloca transition.
48227         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
48228         gl_MALLOCA.
48229
48230 2007-06-12  Bruno Haible  <bruno@clisp.org>
48231
48232         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
48233         to ia64, x86_64, i386.
48234         Reported by Eric Blake.
48235
48236 2007-06-12  Bruno Haible  <bruno@clisp.org>
48237
48238         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
48239         cross-compiling to x86_64.
48240
48241 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
48242
48243         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
48244         glitch reported by Ralf Wildenhues in
48245         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
48246
48247         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
48248         Vin Shelton.
48249
48250 2007-06-11  Bruno Haible  <bruno@clisp.org>
48251
48252         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
48253         replacement string.
48254         Reported by Eric Blake.
48255
48256 2007-06-10  Bruno Haible  <bruno@clisp.org>
48257
48258         Prepare vasnprintf code for use with Unicode strings.
48259         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
48260         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
48261         TYPE_U32_STRING.
48262         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
48263         a_u32_string variants.
48264         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
48265         * lib/printf-args.c: Don't include config.h and the specification
48266         header if PRINTF_FETCHARGS is already defined.
48267         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
48268         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
48269         TYPE_U16_STRING, TYPE_U32_STRING.
48270         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
48271         u16_directive, u16_directives, u32_directive, u32_directives): New
48272         types.
48273         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
48274         New declarations.
48275         * lib/printf-parse.c: Don't include config.h and the specification
48276         header if PRINTF_PARSE is already defined. Eliminate the set of
48277         parameters for WIDE_CHAR_VERSION; the user of this file must provide
48278         them now. Include c-ctype.h.
48279         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
48280         directive and CHAR_T_ONLY_ASCII.
48281         * lib/vasnprintf.c: Don't include config.h and the specification header
48282         if VASNPRINTF is already defined.
48283         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
48284         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
48285         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
48286         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
48287         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
48288         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
48289         code accordingly.
48290         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
48291         pad_ourselves also in this case, with the 'c' and 's' directives, and
48292         with a different notion of "width".
48293         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
48294
48295 2007-06-10  Bruno Haible  <bruno@clisp.org>
48296
48297         * modules/unistr/u32-mbsnlen: New file.
48298         * lib/unistr/u32-mbsnlen.c: New file.
48299
48300         * modules/unistr/u16-mbsnlen: New file.
48301         * lib/unistr/u16-mbsnlen.c: New file.
48302
48303         * modules/unistr/u8-mbsnlen: New file.
48304         * lib/unistr/u8-mbsnlen.c: New file.
48305
48306         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
48307         declarations.
48308
48309 2007-06-10  Bruno Haible  <bruno@clisp.org>
48310
48311         * lib/string_.h (mbsnlen): New declaration.
48312         * lib/mbsnlen.c: New file.
48313         * m4/mbsnlen.m4: New file.
48314         * modules/mbsnlen: New file.
48315         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
48316         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
48317         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
48318
48319 2007-06-10  Bruno Haible  <bruno@clisp.org>
48320
48321         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
48322
48323 2007-06-10  Bruno Haible  <bruno@clisp.org>
48324
48325         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
48326         * lib/mbuiter.h: Likewise.
48327
48328 2007-06-10  Bruno Haible  <bruno@clisp.org>
48329
48330         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
48331         declaration.
48332
48333 2007-06-10  Karl Berry  <karl@gnu.org>
48334
48335         * config/srclist.txt: remove gettext entries, Bruno prefers
48336         to update individually.
48337
48338 2007-06-10  Bruno Haible  <bruno@clisp.org>
48339
48340         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
48341         'maxlen'. Ensure only length + width bytes are allocated, not
48342         length + 1 + width.
48343
48344 2007-06-09  Bruno Haible  <bruno@clisp.org>
48345
48346         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
48347         (CHAR_T): Remove macro.
48348         (VASNPRINTF): Update.
48349
48350 2007-06-09  Bruno Haible  <bruno@clisp.org>
48351
48352         * MODULES.html.sh (Unicode string functions): Add the new modules.
48353
48354         * modules/uniconv/u32-conv-to-enc: New file.
48355         * lib/uniconv/u32-conv-to-enc.c: New file.
48356         * modules/uniconv/u32-conv-to-enc-tests: New file.
48357         * tests/uniconv/test-u32-conv-to-enc.c: New file.
48358
48359         * modules/uniconv/u16-conv-to-enc: New file.
48360         * lib/uniconv/u16-conv-to-enc.c: New file.
48361         * lib/uniconv/u-conv-to-enc.h: New file.
48362         * modules/uniconv/u16-conv-to-enc-tests: New file.
48363         * tests/uniconv/test-u16-conv-to-enc.c: New file.
48364
48365         * modules/uniconv/u8-conv-to-enc: New file.
48366         * lib/uniconv/u8-conv-to-enc.c: New file.
48367         * modules/uniconv/u8-conv-to-enc-tests: New file.
48368         * tests/uniconv/test-u8-conv-to-enc.c: New file.
48369
48370         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48371         u32_conv_to_encoding): New declarations.
48372
48373 2007-06-09  Bruno Haible  <bruno@clisp.org>
48374
48375         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
48376
48377 2007-06-09  Bruno Haible  <bruno@clisp.org>
48378
48379         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
48380         * modules/malloca: Renamed from modules/allocsa, updated.
48381         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
48382         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
48383         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
48384         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
48385         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
48386         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
48387         * modules/xmalloca: Renamed from modules/xallocsa, updated.
48388         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
48389         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
48390         * modules/c-strcasestr (Depends-on): Update.
48391         * lib/c-strcasestr.c: Update.
48392         * modules/c-strstr (Depends-on): Update.
48393         * lib/c-strstr.c: Update.
48394         * modules/canonicalize-lgpl (Depends-on): Update.
48395         * lib/canonicalize-lgpl.c: Update.
48396         * modules/clean-temp (Depends-on): Update.
48397         * lib/clean-temp.c: Update.
48398         * modules/csharpcomp (Depends-on): Update.
48399         * lib/csharpcomp.c: Update.
48400         * modules/csharpexec (Depends-on): Update.
48401         * lib/csharpexec.c: Update.
48402         * modules/javacomp (Depends-on): Update.
48403         * lib/javacomp.c: Update.
48404         * modules/javaexec (Depends-on): Update.
48405         * lib/javaexec.c: Update.
48406         * modules/mbscasestr (Depends-on): Update.
48407         * lib/mbscasestr.c: Update.
48408         * modules/mbsstr (Depends-on): Update.
48409         * lib/mbsstr.c: Update.
48410         * modules/setenv (Depends-on): Update.
48411         * lib/setenv.c: Update.
48412         * modules/strcasestr (Depends-on): Update.
48413         * lib/strcasestr.c: Update.
48414         * modules/striconveha (Depends-on): Update.
48415         * lib/striconveha.c: Update.
48416         * modules/relocatable-prog-wrapper (Files): Update.
48417         * lib/relocwrapper.c: Update.
48418         * build-aux/install-reloc: Update.
48419         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
48420
48421 2007-06-08  Bruno Haible  <bruno@clisp.org>
48422
48423         Port to uClibc.
48424         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
48425         * lib/fpurge.c (fpurge): Likewise.
48426         * lib/freading.c (freading): Likewise.
48427         * lib/fseeko.c (rpl_fseeko): Likewise.
48428         * lib/fseterr.c (fseterr): Likewise.
48429         * lib/fwriting.c (fwriting): Likewise.
48430         * tests/test-fflush.c (main): Avoid a failure on uClibc.
48431
48432 2007-06-08  Bruno Haible  <bruno@clisp.org>
48433
48434         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
48435         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
48436         * modules/gettext (Files): Add m4/intlmacosx.m4.
48437
48438 2007-06-07  Bruno Haible  <bruno@clisp.org>
48439
48440         * modules/localename-tests: New file.
48441         * tests/test-localename.c: New file.
48442
48443         New module 'localename'.
48444         * lib/localename.h: New file.
48445         * lib/localename.c: New file, from GNU gettext.
48446         * m4/localename.m4: New file.
48447         * modules/localename: New file.
48448
48449 2007-06-07  Bruno Haible  <bruno@clisp.org>
48450
48451         Work around the lack of <wchar.h> on some builds of uClibc.
48452         * doc/headers/wchar.texi: Update.
48453         * lib/wchar_.h: Include <wchar.h> only if it exists.
48454         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
48455         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
48456         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
48457         doesn't exist.
48458         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
48459         * modules/mbfile (Depends-on): Add wchar.
48460         * modules/mbiter (Depends-on): Likewise.
48461         * modules/mbuiter (Depends-on): Likewise.
48462         Reported by Simon Josefsson.
48463
48464 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
48465
48466         Work around problem reported by Steven M. Schweda in
48467         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
48468         Tru64 5.1B with the Compaq compiler environment installed declares
48469         an 'isblank' function but does not define it in the C library.
48470         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
48471         * lib/regex_internal.h (isblank): Likewise.
48472         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
48473         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48474
48475 2007-06-05  Bruno Haible  <bruno@clisp.org>
48476
48477         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
48478         ia64.
48479         * modules/printf-safe: New file.
48480         * modules/fprintf-posix (Depends-on): Add printf-safe.
48481         * modules/printf-posix (Depends-on): Likewise.
48482         * modules/snprintf-posix (Depends-on): Likewise.
48483         * modules/sprintf-posix (Depends-on): Likewise.
48484         * modules/vasnprintf-posix (Depends-on): Likewise.
48485         * modules/vasprintf-posix (Depends-on): Likewise.
48486         * modules/vfprintf-posix (Depends-on): Likewise.
48487         * modules/vprintf-posix (Depends-on): Likewise.
48488         * modules/vsnprintf-posix (Depends-on): Likewise.
48489         * modules/vsprintf-posix (Depends-on): Likewise.
48490         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
48491         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
48492         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
48493         "no" on i386, x86_64, ia64.
48494         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
48495         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48496         on i386, x86_64, ia64.
48497         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
48498         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48499         on i386, x86_64, ia64.
48500         * tests/test-vasnprintf-posix.c: Include float.h.
48501         (LDBL80_WORDS): New macro.
48502         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48503         on i386, x86_64, ia64.
48504         * tests/test-vasprintf-posix.c: Include float.h.
48505         (LDBL80_WORDS): New macro.
48506         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48507         on i386, x86_64, ia64.
48508         * tests/test-snprintf-posix.c: Include float.h.
48509         * tests/test-sprintf-posix.c: Likewise.
48510         * tests/test-vsnprintf-posix.c: Likewise.
48511         * tests/test-vsprintf-posix.c: Likewise.
48512
48513 2007-06-05  Bruno Haible  <bruno@clisp.org>
48514
48515         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
48516         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
48517         non-IEEE numbers on i386, x86_64, ia64.
48518         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
48519         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
48520         * tests/test-isnanl.h: Include float.h.
48521         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
48522
48523 2007-06-05  Bruno Haible  <bruno@clisp.org>
48524
48525         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
48526         also the %a / %A. Handle the %a / %A code before this extra handling.
48527
48528 2007-06-05  Bruno Haible  <bruno@clisp.org>
48529
48530         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
48531         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
48532
48533 2007-06-05  Bruno Haible  <bruno@clisp.org>
48534
48535         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
48536         typo in variable name.
48537
48538 2007-06-05  Eric Blake  <ebb9@byu.net>
48539
48540         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
48541         Reported by Simon Josefsson.
48542
48543 2007-06-04  Bruno Haible  <bruno@clisp.org>
48544
48545         Avoid test failures on some PowerPC platforms.
48546         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
48547         Define differently for PowerPC.
48548         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
48549         Reported by Gary V. Vaughan <gary@gnu.org>.
48550
48551 2007-06-02  Bruno Haible  <bruno@clisp.org>
48552
48553         Fix test-stdint failure on FreeBSD/ia64.
48554         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
48555         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
48556         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
48557         * doc/headers/stdint.texi: Update.
48558
48559 2007-06-01  Bruno Haible  <bruno@clisp.org>
48560
48561         * tests/test-binary-io.c (main): Pass a third argument to open().
48562         Reported by Gary V. Vaughan <gary@gnu.org>.
48563
48564 2007-06-01  Bruno Haible  <bruno@clisp.org>
48565
48566         * doc/functions/frexpl.texi: Update for mingw.
48567
48568 2007-06-01  Bruno Haible  <bruno@clisp.org>
48569
48570         * tests/test-lseek.c (main): Disable test of errno for invalid third
48571         argument.
48572         * doc/functions/lseek.texi: Update.
48573         Reported by Gary V. Vaughan <gary@gnu.org>.
48574
48575 2007-05-28  Bruno Haible  <bruno@clisp.org>
48576
48577         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
48578
48579 2007-05-31  Eric Blake  <ebb9@byu.net>
48580
48581         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
48582         cross compiling.
48583
48584 2007-05-30  Eric Blake  <ebb9@byu.net>
48585         and Bruno Haible  <bruno@clisp.org>
48586
48587         Work around mingw test failures exposed by m4-1.4.9b.
48588         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
48589         * tests/test-unistd.c: Disable uid_t and git_t tests for the
48590         moment.
48591
48592 2007-05-30  Bruno Haible  <bruno@clisp.org>
48593
48594         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
48595         assuming that they are closed. Needed on HP-UX 11.
48596
48597 2007-05-29  Bruno Haible  <bruno@clisp.org>
48598
48599         Fix a problem with #include_next.
48600         * lib/dirent_.h: Split the double-inclusion guard.
48601         * lib/fcntl_.h: Likewise.
48602         * lib/float_.h: Likewise.
48603         * lib/iconv_.h: Likewise.
48604         * lib/inttypes_.h: Likewise.
48605         * lib/locale_.h: Likewise.
48606         * lib/math_.h: Likewise.
48607         * lib/netinet_in_.h: Likewise.
48608         * lib/search_.h: Likewise.
48609         * lib/signal_.h: Likewise.
48610         * lib/stdint_.h: Likewise.
48611         * lib/stdio_.h: Likewise.
48612         * lib/stdlib_.h: Likewise.
48613         * lib/string_.h: Likewise.
48614         * lib/sys_select_.h: Likewise.
48615         * lib/sys_socket_.h: Likewise.
48616         * lib/sys_stat_.h: Likewise.
48617         * lib/sys_time_.h: Likewise.
48618         * lib/sysexits_.h: Likewise.
48619         * lib/time_.h: Likewise.
48620         * lib/unistd_.h: Likewise.
48621         * lib/wchar_.h: Likewise.
48622         * lib/wctype_.h: Likewise.
48623
48624 2007-05-29  Bruno Haible  <bruno@clisp.org>
48625
48626         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
48627         for the moment.
48628
48629 2007-05-29  Bruno Haible  <bruno@clisp.org>
48630
48631         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
48632         invocation.
48633         Reported by Eric Blake.
48634
48635 2007-05-29  Bruno Haible  <bruno@clisp.org>
48636
48637         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
48638         compiling case.
48639
48640 2007-05-29  Eric Blake  <ebb9@byu.net>
48641             Bruno Haible  <bruno@clisp.org>
48642
48643         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
48644         cross compiles.
48645
48646 2007-05-28  Eric Blake  <ebb9@byu.net>
48647
48648         * modules/closein-tests (test_closein_LDADD): Support test on
48649         cygwin with libtool.
48650
48651 2007-05-28  Bruno Haible  <bruno@clisp.org>
48652
48653         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
48654         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
48655         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
48656         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
48657         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
48658         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
48659         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
48660         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
48661         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
48662
48663 2007-05-28  Eric Blake  <ebb9@byu.net>
48664
48665         Unconditionally include <config.h> in unit tests.
48666         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
48667         * tests/test-allocsa.c, tests/test-arcfour.c,
48668         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
48669         tests/test-array_list.c, tests/test-array_oset.c,
48670         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
48671         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
48672         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
48673         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
48674         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
48675         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
48676         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
48677         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
48678         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
48679         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
48680         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
48681         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
48682         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
48683         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
48684         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
48685         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
48686         test-md5.c, test-memmem.c, test-printf-posix.c,
48687         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
48688         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
48689         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
48690         test-strcasestr.c, test-striconv.c, test-striconveh.c,
48691         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
48692         test-vasnprintf-posix2.c, test-vasnprintf.c,
48693         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
48694         test-vfprintf-posix.c, test-vprintf-posix.c,
48695         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
48696         test-xvasprintf.c: Likewise.
48697
48698 2007-05-28  Bruno Haible  <bruno@clisp.org>
48699
48700         * gnulib-tool (func_import): Remember the --with-tests command-line
48701         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
48702         Reported by Eric Blake.
48703
48704 2007-05-28  Bruno Haible  <bruno@clisp.org>
48705
48706         * modules/ftell-tests: New file.
48707         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
48708         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
48709
48710         * lib/ftell.c: New file.
48711         * modules/ftell: New file.
48712         * m4/ftell.m4: New file.
48713         * doc/functions/ftell.texi: Update.
48714         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
48715         REPLACE_FTELL.
48716         * lib/stdio_.h (rpl_ftell): New declaration.
48717         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
48718         REPLACE_FTELL.
48719
48720 2007-05-28  Eric Blake  <ebb9@byu.net>
48721
48722         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
48723
48724 2007-05-28  Bruno Haible  <bruno@clisp.org>
48725
48726         * modules/fseek-tests: New file.
48727         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
48728         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
48729
48730         * lib/fseek.c: New file.
48731         * modules/fseek: New file.
48732         * m4/fseek.m4: New file.
48733         * doc/functions/fseek.texi: Update.
48734         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
48735         REPLACE_FSEEK.
48736         * lib/stdio_.h (rpl_fseek): New declaration.
48737         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
48738         REPLACE_FSEEK.
48739
48740 2007-05-28  Bruno Haible  <bruno@clisp.org>
48741
48742         * lib/stdio_.h (fflush): More comments.
48743
48744 2007-05-28  Bruno Haible  <bruno@clisp.org>
48745
48746         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
48747         runtime test.
48748
48749 2007-05-28  Eric Blake  <ebb9@byu.net>
48750
48751         Improve lseek module.
48752         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
48753         * lib/unistd_.h (lseek): Scale back link warning message.
48754         * tests/test-lseek.c: Beef up test.
48755         * tests/test-lseek.sh: Exercise more facets of lseek.
48756         Reported by Bruno Haible.
48757
48758 2007-05-28  Bruno Haible  <bruno@clisp.org>
48759
48760         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
48761         to define.
48762
48763 2007-05-27  Bruno Haible  <bruno@clisp.org>
48764
48765         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
48766
48767 2007-05-27  Bruno Haible  <bruno@clisp.org>
48768
48769         * modules/openmp: New file.
48770         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
48771         Noah Misch.
48772
48773 2007-05-26  Bruno Haible  <bruno@clisp.org>
48774
48775         * modules/chdir-long (Depends-on): Add fchdir.
48776         * modules/chdir-safer (Depends-on): Likewise.
48777         * modules/fts (Depends-on): Likewise.
48778         * modules/fts-lgpl (Depends-on): Likewise.
48779         * modules/openat (Depends-on): Likewise.
48780         * modules/savewd (Depends-on): Likewise.
48781
48782 2007-05-24  Eric Blake  <ebb9@byu.net>
48783
48784         Fix lseek on mingw.
48785         * modules/lseek: New module.
48786         * m4/lseek.m4: New file.
48787         * lib/lseek.c: New file.
48788         * modules/lseek-tests: New file.
48789         * tests/test-lseek.c: New file.
48790         * tests/test-lseek.sh: New file.
48791         * MODULES.html.sh: Document lseek module.
48792         * modules/fflush (Depends-on): Add lseek, fseeko.
48793         * modules/fseeko (Depends-on): Likewise.
48794         * modules/ftello (Depends-on): Likewise.
48795         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
48796         broken.
48797         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
48798         broken.
48799         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
48800         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
48801         * lib/ftello.c (rpl_ftello): Likewise.
48802         * tests/test-fseeko.c (main): Test this.
48803         * tests/test-fseeko.sh: Likewise.
48804         * tests/test-ftello.c (main): Likewise.
48805         * tests/test-ftello.sh: Likewise.
48806         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
48807         implies replacing fseek.
48808         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
48809         HAVE_FTELLO.
48810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
48811         * modules/unistd (Makefile.am): Likewise.
48812         * lib/unistd_.h (lseek): Declare a replacement.
48813         * doc/functions/lseek.texi (lseek): Document this fix.
48814         * doc/functions/fseek.texi (fseek): Likewise.
48815         * doc/functions/ftell.texi (ftell): Likewise.
48816
48817 2007-05-24  Bruno Haible  <bruno@clisp.org>
48818
48819         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
48820         in the printed representation of a NaN.
48821         * tests/test-vasprintf-posix.c (test_function): Likewise.
48822         * tests/test-snprintf-posix.h (test_function): Likewise.
48823         * tests/test-sprintf-posix.h (test_function): Likewise.
48824         Reported by Eric Blake.
48825
48826 2007-05-23  Eric Blake  <ebb9@byu.net>
48827
48828         Fix fseeko/ftello on cygwin 1.5.24.
48829         * doc/functions/fseeko.texi (fseeko): Document the fix.
48830         * doc/functions/ftello.texi (ftello): Document the fix.
48831         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
48832         * doc/functions/stdout.text (stdout): New file.
48833         * doc/functions/stderr.text (stderr): New file.
48834         * doc/gnulib.texi (Function Substitutes): Use new files.
48835         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
48836         prior to 1.7.0.
48837         * tests/test-ftello.c (main): Likewise for ftello.
48838         * tests/test-fseeko.sh: New file.
48839         * tests/test-ftello.sh: New file.
48840         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
48841         with seekable stdin.
48842         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
48843         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
48844         (gl_REPLACE_FSEEKO): New macro.
48845         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
48846         * modules/fseeko (Files): Distribute fseeko.c.
48847         * modules/ftello (Files): Distribute ftello.c.
48848         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
48849         mode.
48850         * lib/ftello.c (rpl_ftello): New file.
48851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
48852         fseeko, ftello.
48853         (gl_STDIN_LARGE_OFFSET): New macro.
48854         * modules/stdio (Makefile.am): Perform the replacement.
48855         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
48856
48857 2007-05-23  Bruno Haible  <bruno@clisp.org>
48858
48859         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
48860         GNULIB_POSIXCHECK is defined.
48861
48862 2007-05-21  Bruno Haible  <bruno@clisp.org>
48863
48864         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
48865         Check also the output for NaN arguments. When cross-compiling, guess
48866         no on IRIX.
48867         * lib/vasnprintf.c: Update comments.
48868         * tests/test-vasnprintf-posix.c (strisnan): New function.
48869         (test_function): Use it.
48870         * tests/test-vasprintf-posix.c (strisnan): New function.
48871         (test_function): Use it.
48872         * tests/test-snprintf-posix.h (strisnan): New function.
48873         (test_function): Use it.
48874         * tests/test-sprintf-posix.h (strisnan): New function.
48875         (test_function): Use it.
48876         Reported by Eric Blake.
48877
48878 2007-05-20  Bruno Haible  <bruno@clisp.org>
48879
48880         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
48881         numbers that fails on BeOS.
48882         * doc/functions/frexpl.texi: Update.
48883
48884 2007-05-20  Jim Meyering  <jim@meyering.net>
48885
48886         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
48887         forced upon us by glibc-2.6.
48888
48889 2007-05-20  Bruno Haible  <bruno@clisp.org>
48890
48891         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
48892         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
48893         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
48894         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
48895         NEED_PRINTF_INFINITE.
48896         (is_infinitel): New function.
48897         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
48898         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
48899         gl_PREREQ_VASNPRINTF_INFINITE.
48900         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
48901         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48902         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
48903         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
48904         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
48905         gl_PREREQ_VASNPRINTF_INFINITE.
48906         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48907         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48908         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48909         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48910         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48911         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48912         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48913         * doc/functions/fprintf.texi: Update.
48914         * doc/functions/printf.texi: Update.
48915         * doc/functions/snprintf.texi: Update.
48916         * doc/functions/sprintf.texi: Update.
48917         * doc/functions/vfprintf.texi: Update.
48918         * doc/functions/vprintf.texi: Update.
48919         * doc/functions/vsnprintf.texi: Update.
48920         * doc/functions/vsprintf.texi: Update.
48921
48922 2007-05-20  Bruno Haible  <bruno@clisp.org>
48923
48924         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
48925         was not found in libc.
48926         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48927
48928 2007-05-20  Bruno Haible  <bruno@clisp.org>
48929
48930         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48931         printed as "-nan" instead of "nan".
48932         * tests/test-vasprintf-posix.c (test_function): Likewise.
48933         * tests/test-snprintf-posix.h (test_function): Likewise.
48934         * tests/test-sprintf-posix.h (test_function): Likewise.
48935         Needed for HP-UX 11.
48936
48937 2007-05-20  Jim Meyering  <jim@meyering.net>
48938
48939         Fix buggy test for the fchownat-deref bug.
48940         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
48941         symlink required for the run-test.  Without it, this test would
48942         always declare that fchownat doesn't work, and client code would
48943         unnecessarily use the replacement function with fixed libc.
48944         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
48945         Reported by Greg Schafer.
48946
48947 2007-05-19  Bruno Haible  <bruno@clisp.org>
48948
48949         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
48950         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
48951         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
48952         Needed for IRIX 6.5 and Solaris 2.5.1.
48953
48954 2007-05-19  Bruno Haible  <bruno@clisp.org>
48955
48956         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
48957         (test_function): Skip tests involving -0.0 on platforms where
48958         -0.0 = 0.0.
48959         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
48960         (test_function): Skip tests involving -0.0 on platforms where
48961         -0.0 = 0.0.
48962         * tests/test-snprintf-posix.h (have_minus_zero): New function.
48963         (test_function): Skip tests involving -0.0 on platforms where
48964         -0.0 = 0.0.
48965         * tests/test-sprintf-posix.h (have_minus_zero): New function.
48966         (test_function): Skip tests involving -0.0 on platforms where
48967         -0.0 = 0.0.
48968         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
48969         tests.
48970         * tests/test-printf-posix.h (test_function): Likewise.
48971         * tests/test-printf-posix.output: Remove all -0.0 related results.
48972         Needed for IRIX 6.5.
48973
48974 2007-05-19  Bruno Haible  <bruno@clisp.org>
48975
48976         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48977         printed as "nan0x7fffffff" instead of "nan".
48978         * tests/test-vasprintf-posix.c (test_function): Likewise.
48979         * tests/test-snprintf-posix.h (test_function): Likewise.
48980         * tests/test-sprintf-posix.h (test_function): Likewise.
48981         * tests/test-fprintf-posix.h (NaN): Remove macro.
48982         (test_function): Remove all NaN related tests.
48983         * tests/test-printf-posix.h (NaN): Remove macro.
48984         (test_function): Remove all NaN related tests.
48985         * tests/test-printf-posix.output: Remove all NaN related results.
48986         Needed for IRIX 6.5.
48987
48988 2007-05-19  Bruno Haible  <bruno@clisp.org>
48989
48990         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
48991         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48992
48993 2007-05-19  Bruno Haible  <bruno@clisp.org>
48994
48995         * lib/float_.h: New file.
48996         * m4/float_h.m4: New file.
48997         * modules/float: New file.
48998         * modules/isnanl (Dependencies): Add float.
48999         * modules/isnanl-nolibm (Dependencies): Likewise.
49000         * modules/mathl (Dependencies): Likewise.
49001         * modules/printf-frexpl (Dependencies): Likewise.
49002         * modules/signbit (Dependencies): Likewise.
49003         * modules/vasnprintf (Dependencies): Likewise.
49004         * doc/headers/float.texi: Update.
49005
49006 2007-05-19  Jim Meyering  <jim@meyering.net>
49007
49008         * lib/utimens.c (gl_futimens): Rename from futimens,
49009         now that glibc-2.6 declares futimens.
49010         * lib/utimens.h: Likewise.
49011
49012 2007-05-19  Bruno Haible  <bruno@clisp.org>
49013
49014         Avoid test failures on mingw.
49015         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
49016         * tests/test-printf-posix.sh: Likewise.
49017         * tests/test-vfprintf-posix.sh: Likewise.
49018         * tests/test-vprintf-posix.sh: Likewise.
49019
49020 2007-05-19  Bruno Haible  <bruno@clisp.org>
49021
49022         Fix *printf result for NaN, Inf, -0.0 on mingw.
49023         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
49024         * lib/vasnprintf.c: Include math.h and isnan.h.
49025         (is_infinite_or_zero): New function.
49026         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
49027         values in the %f, %F, %e, %E, %g, %G directives.
49028         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
49029         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49030         gl_PRINTF_INFINITE and test its result. Invoke
49031         gl_PREREQ_VASNPRINTF_INFINITE.
49032         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49033         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49034         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49035         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49036         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49037         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49038         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49039         * doc/functions/fprintf.texi: Update.
49040         * doc/functions/printf.texi: Update.
49041         * doc/functions/snprintf.texi: Update.
49042         * doc/functions/sprintf.texi: Update.
49043         * doc/functions/vfprintf.texi: Update.
49044         * doc/functions/vprintf.texi: Update.
49045         * doc/functions/vsnprintf.texi: Update.
49046         * doc/functions/vsprintf.texi: Update.
49047
49048 2007-05-19  Bruno Haible  <bruno@clisp.org>
49049
49050         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
49051         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
49052         Instead of multiplying with 10^k, set extra_zeroes to k.
49053         (scale10_round_long_double): Remove function.
49054
49055 2007-05-18  Bruno Haible  <bruno@clisp.org>
49056
49057         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
49058         introduced on 2007-05-06.
49059
49060 2007-05-18  Bruno Haible  <bruno@clisp.org>
49061
49062         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
49063         %g directives.
49064         * tests/test-vasprintf-posix.c (test_function): Likewise.
49065         * tests/test-snprintf-posix.h (test_function): Likewise.
49066         * tests/test-sprintf-posix.h (test_function): Likewise.
49067
49068 2007-05-18  Bruno Haible  <bruno@clisp.org>
49069
49070         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
49071         (strmatch): New function.
49072         (test_function): Test the %f directive on numbers of various exponents.
49073         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
49074         (strmatch): New function.
49075         (test_function): Test the %f directive on numbers of various exponents.
49076         * tests/test-snprintf-posix.h (strmatch): New function.
49077         (test_function): Test the %f directive on numbers of various exponents.
49078         * tests/test-sprintf-posix.h (strmatch): New function.
49079         (test_function): Test the %f directive on numbers of various exponents.
49080         * tests/test-snprintf-posix.c (SIZEOF): New macro.
49081         * tests/test-sprintf-posix.c (SIZEOF): New macro.
49082         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
49083         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
49084
49085 2007-05-18  Bruno Haible  <bruno@clisp.org>
49086
49087         Add support for 'long double' number output.
49088         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
49089         * lib/vasnprintf.c: Include math.h and float+.h.
49090         (mp_limb_t): New type.
49091         (GMP_LIMB_BITS): New macro.
49092         (mp_twolimb_t): New type.
49093         (GMP_TWOLIMB_BITS): New macro.
49094         (mpn_t): New type.
49095         (multiply, divide, convert_to_decimal, decode_long_double,
49096         scale10_round_long_double, scale10_round_decimal_long_double,
49097         floorlog10l): New functions.
49098         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
49099         for the %f, %F, %e, %E, %g, %G directives.
49100         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
49101         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49102         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
49103         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
49104         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49105         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49106         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49107         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49108         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49109         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49110         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49111         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
49112         * modules/snprintf-posix (Depends-on): Likewise.
49113         * modules/sprintf-posix (Depends-on): Likewise.
49114         * modules/vasnprintf-posix (Depends-on): Likewise.
49115         * modules/vasprintf-posix (Depends-on): Likewise.
49116         * modules/vfprintf-posix (Depends-on): Likewise.
49117         * modules/vsnprintf-posix (Depends-on): Likewise.
49118         * modules/vsprintf-posix (Depends-on): Likewise.
49119         * modules/vasnprintf (Files): Add lib/float+.h.
49120         * doc/functions/fprintf.texi: Update.
49121         * doc/functions/printf.texi: Update.
49122         * doc/functions/snprintf.texi: Update.
49123         * doc/functions/sprintf.texi: Update.
49124         * doc/functions/vfprintf.texi: Update.
49125         * doc/functions/vprintf.texi: Update.
49126         * doc/functions/vsnprintf.texi: Update.
49127         * doc/functions/vsprintf.texi: Update.
49128
49129 2007-05-18  Bruno Haible  <bruno@clisp.org>
49130
49131         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
49132
49133 2007-05-18  Bruno Haible  <bruno@clisp.org>
49134
49135         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
49136         for printing 64-bit integers. Needed for mingw.
49137
49138 2007-05-18  Bruno Haible  <bruno@clisp.org>
49139
49140         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
49141         gl_FUNC_FREXPL_WORKS.
49142         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
49143
49144 2007-05-18  Bruno Haible  <bruno@clisp.org>
49145
49146         * modules/frexpl-nolibm-tests: New file.
49147
49148         * modules/frexpl-nolibm: New file.
49149         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
49150
49151 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
49152
49153         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
49154         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
49155         GCC 4.2, which otherwise issues a lot of warnings.
49156         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
49157         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
49158         Likewise.
49159         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
49160         * modules/iconv_open (iconv.h): Likewise.
49161         * modules/locale (locale.h): Likewise.
49162         * modules/netinet_in (netinet/in.h): Likewise.
49163         * modules/sys_select (sys_select.h): Likewise.
49164         * modules/sys_socket (sys/socket.h): Likewise.
49165         * modules/sys_stat (sys/stat.h): Likewise.
49166         * modules/sysexits (sysexits.h): Likewise.
49167         * modules/unistd (unistd.h): Likewise.
49168
49169 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49170
49171         * modules/closein-tests (Makefile.am): Distribute
49172         `test-closein.sh'.
49173
49174 2007-05-17  Bruno Haible  <bruno@clisp.org>
49175
49176         * tests/test-printf-posix.output: Renamed from
49177         tests/test-fprintf-posix.out.
49178         * modules/fprintf-posix-tests: Update.
49179         * modules/printf-posix-tests: Update.
49180         * modules/vfprintf-posix-tests: Update.
49181         * modules/vprintf-posix-tests: Update.
49182         * tests/test-fprintf-posix.sh: Update.
49183         * tests/test-printf-posix.sh: Update.
49184         * tests/test-vfprintf-posix.sh: Update.
49185         * tests/test-vprintf-posix.sh: Update.
49186         Reported by Ralf Wildenhues.
49187
49188 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
49189
49190         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
49191         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
49192         GCC 4.2, which otherwise issues a lot of warnings.
49193         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
49194         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
49195         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
49196         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
49197         it should no longer be needed.
49198         * lib/string_.h: Likewise.
49199         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
49200         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
49201         * modules/inttypes (inttypes.h): Likewise.
49202         * modules/math (math.h): Likewise.
49203         * modules/search (search.h): Likewise.
49204         * modules/signal (signal.h): Likewise.
49205         * modules/stdint (stdint.h): Likewise.
49206         * modules/stdio (stdio.h): Likewise.
49207         * modules/stdlib (stdlib.h): Likewise.
49208         * modules/string (string.h): Likewise.
49209         * modules/sys_time (sys/time.h): Likewise.
49210         * modules/time (time.h): Likewise.
49211         * modules/wchar (wchar.h): Likewise.
49212         * modules/wctype (wtype.h): Likewise.
49213
49214 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
49215
49216         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
49217
49218 2007-05-13  Bruno Haible  <bruno@clisp.org>
49219
49220         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
49221         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49222         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
49223         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
49224         (gl_PREREQ_STRTOK_R): Don't require it here.
49225
49226 2007-05-13  Bruno Haible  <bruno@clisp.org>
49227
49228         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
49229         when used in C++ mode.
49230
49231 2007-05-12  Bruno Haible  <bruno@clisp.org>
49232
49233         * lib/linebuffer.h: Tweak doc.
49234         * lib/linebuffer.c: Likewise.
49235
49236 2007-05-12  James Youngman  <jay@gnu.org>
49237
49238         * lib/linebuffer.c (readlinebuffer_delim): New function,
49239         like readlinebuffer, but use a caller-specified delimiter.
49240         (readlinebuffer): Just call readlinebuffer_delim with '\n'
49241         as the delimiter.
49242         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
49243
49244 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
49245
49246         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
49247         * modules/openat (Files): Remove openat-die.c.
49248         (Depends-on): Add openat-die.
49249         * modules/openat-die: New module.
49250
49251 2007-05-06  Bruno Haible  <bruno@clisp.org>
49252
49253         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
49254         Update with info about Cygwin.
49255         * doc/functions/fprintf.texi: Update.
49256         * doc/functions/printf.texi: Update.
49257         * doc/functions/snprintf.texi: Update.
49258         * doc/functions/sprintf.texi: Update.
49259         * doc/functions/vfprintf.texi: Update.
49260         * doc/functions/vprintf.texi: Update.
49261         * doc/functions/vsnprintf.texi: Update.
49262         * doc/functions/vsprintf.texi: Update.
49263         Reported by Eric Blake.
49264
49265 2007-05-06  Bruno Haible  <bruno@clisp.org>
49266
49267         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
49268         padding ourselves for the floating-point directives.
49269         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
49270         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
49271         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49272         gl_PRINTF_FLAG_ZERO and test its result. Invoke
49273         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
49274         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49275         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
49276         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49277         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49278         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49279         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49280         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49281         * tests/test-snprintf-posix.h (test_function): Also check the width
49282         and some flags in the %f directive.
49283         * tests/test-sprintf-posix.h (test_function): Likewise.
49284         * tests/test-vasnprintf-posix.c (test_function): Likewise.
49285         * tests/test-vasprintf-posix.c (test_function): Likewise.
49286         * doc/functions/fprintf.texi: Update.
49287         * doc/functions/printf.texi: Update.
49288         * doc/functions/snprintf.texi: Update.
49289         * doc/functions/sprintf.texi: Update.
49290         * doc/functions/vfprintf.texi: Update.
49291         * doc/functions/vprintf.texi: Update.
49292         * doc/functions/vsnprintf.texi: Update.
49293         * doc/functions/vsprintf.texi: Update.
49294
49295 2007-05-06  Bruno Haible  <bruno@clisp.org>
49296
49297         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
49298         pass the ' flag character to sprintf or snprintf.
49299         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
49300         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
49301         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49302         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
49303         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
49304         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49305         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
49306         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49307         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49308         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49309         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49310         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49311         * tests/test-snprintf-posix.h (test_function): Also check the grouping
49312         flag.
49313         * tests/test-sprintf-posix.h (test_function): Likewise.
49314         * tests/test-vasnprintf-posix.c (test_function): Likewise.
49315         * tests/test-vasprintf-posix.c (test_function): Likewise.
49316         * doc/functions/fprintf.texi: Update.
49317         * doc/functions/printf.texi: Update.
49318         * doc/functions/snprintf.texi: Update.
49319         * doc/functions/sprintf.texi: Update.
49320         * doc/functions/vfprintf.texi: Update.
49321         * doc/functions/vprintf.texi: Update.
49322         * doc/functions/vsnprintf.texi: Update.
49323         * doc/functions/vsprintf.texi: Update.
49324
49325 2007-05-01  Bruno Haible  <bruno@clisp.org>
49326
49327         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
49328
49329 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
49330
49331         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
49332         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
49333
49334 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49335
49336         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
49337         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
49338         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
49339
49340 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
49341
49342         * lib/argp-help.c (struct hol_entry): New member `ord'.
49343         (HOL_ENTRY_PTRCMP): Use ord for comparison
49344         (hol_sort): Initialize ord.
49345
49346 2007-05-01  Bruno Haible  <bruno@clisp.org>
49347
49348         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
49349         Reported by Eric Blake.
49350         * doc/gnulib.texi (Function Substitutes): Update.
49351
49352 2007-05-01  Bruno Haible  <bruno@clisp.org>
49353
49354         * doc/functions.texi: Remove file, now redundant through
49355         doc/functions/*.texi.
49356
49357 2007-05-01  Bruno Haible  <bruno@clisp.org>
49358
49359         * modules/argp (Depends-on): Add sleep.
49360
49361 2007-05-01  Bruno Haible  <bruno@clisp.org>
49362
49363         * modules/sleep-tests: New file.
49364         * tests/test-sleep.c: New file.
49365
49366         * modules/sleep: New file.
49367         * lib/sleep.c: New file.
49368         * m4/sleep.m4: New file.
49369         * lib/unistd_.h (sleep): New declaration.
49370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
49371         HAVE_SLEEP.
49372         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
49373         * doc/functions/sleep.texi: Document the sleep module.
49374
49375 2007-05-01  Bruno Haible  <bruno@clisp.org>
49376
49377         * lib/sigprocmask.h: Remove file.
49378         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
49379         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
49380         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
49381         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
49382         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
49383         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
49384         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
49385         HAVE_SIGSET_T as a shell variable.
49386         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
49387         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
49388         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
49389         (Depends-on): Add signal. Remove verify.
49390         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
49391         (Include): Mention <signal.h> instead of sigprocmask.h.
49392         * NEWS: Mention the change.
49393         * lib/fatal-signal.c: Don't include sigprocmask.h.
49394
49395 2007-05-01  Bruno Haible  <bruno@clisp.org>
49396
49397         * modules/signal: New file.
49398         * lib/signal_.h: New file.
49399         * m4/signal_h.m4: New file.
49400
49401 2007-05-01  Bruno Haible  <bruno@clisp.org>
49402
49403         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
49404         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
49405         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
49406         HAVE_WCTYPE_CTMP_BUG into wctype.h.
49407
49408 2007-05-01  Bruno Haible  <bruno@clisp.org>
49409
49410         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
49411         configure time.
49412         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
49413         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
49414         * modules/sys_stat (Makefile.am): Substitute their values into
49415         sys/stat.h.
49416
49417 2007-05-01  Bruno Haible  <bruno@clisp.org>
49418
49419         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
49420         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
49421         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
49422
49423 2007-05-01  Bruno Haible  <bruno@clisp.org>
49424
49425         * doc/header/assert.texi: Undo last change: don't mention the gnulib
49426         'assert' module here.
49427
49428 2007-05-01  Bruno Haible  <bruno@clisp.org>
49429
49430         * doc/functions/*.texi: New files.
49431         * doc/functions/google-ranking.txt: New file.
49432         * doc/gnulib.texi (Function Substitutes): New chapter.
49433         (ctime, inet_ntoa): Remove sections.
49434         * doc/ctime.texi: Remove file.
49435         * doc/inet_ntoa.texi: Remove file.
49436         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
49437         dependencies.
49438         (%.info): New rule, specifying a --reference-limit.
49439
49440 2007-05-01  Bruno Haible  <bruno@clisp.org>
49441
49442         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
49443
49444 2007-05-01  Bruno Haible  <bruno@clisp.org>
49445
49446         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
49447         the portability of 'mkdir' to mingw systems.
49448
49449 2007-05-01  Bruno Haible  <bruno@clisp.org>
49450
49451         * doc/headers/google-ranking.txt: New file.
49452
49453 2007-04-30  Eric Blake  <ebb9@byu.net>
49454
49455         Prefer fseeko to fseek.
49456         * modules/getpass (Depends-on): Add fseeko.
49457         * lib/getpass.c (getpass): Use fseeko, not fseek.
49458
49459 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
49460
49461         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
49462         assumes the sorting is stable, while most qsort implementations
49463         are not.  Use argument addresses to ensure they never compare as
49464         equal.
49465
49466         * tests/test-argp-2.sh (usage-indent test): Fix output
49467         (func_compare): Restore diff options
49468         * tests/test-argp.c: Restore #include "progname.h"
49469
49470 2007-04-29  Bruno Haible  <bruno@clisp.org>
49471
49472         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
49473         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49474         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
49475         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49476         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
49477         (configure.ac): Define CHECK_SNPRINTF_POSIX.
49478         (TESTS, check_PROGRAMS): Add test-snprintf.
49479         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
49480         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
49481         (TESTS, check_PROGRAMS): Add test-vsnprintf.
49482         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
49483         assertions that fail on HP-UX, OSF/1, or IRIX.
49484         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
49485
49486 2007-04-29  Bruno Haible  <bruno@clisp.org>
49487
49488         * MODULES.html.sh (posix_functions): Remove 'contents'.
49489
49490 2007-04-29  Karl Berry  <karl@gnu.org>
49491
49492         * config/srclist.txt (gendocs_template_min): new entry.
49493
49494 2007-04-29  Bruno Haible  <bruno@clisp.org>
49495
49496         Work around fpurge bug on BSD systems.
49497         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
49498         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
49499         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
49500         fpurge to rpl_fpurge if the system already has this function.
49501         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
49502         the case where the system already has this function. Correct invariants
49503         on BSD systems.
49504         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
49505         BSD systems.
49506
49507 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
49508
49509         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
49510         proposed by Sven Verdoolaege.
49511
49512         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
49513         options.
49514         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
49515         (usage and help tests): Update
49516
49517 2007-04-29  Bruno Haible  <bruno@clisp.org>
49518
49519         * tests/test-fflush.c (main): Use a file of size 17, not 10.
49520         Print more information in case of failure. Disable a test on BeOS.
49521
49522 2007-04-29  Bruno Haible  <bruno@clisp.org>
49523
49524         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
49525         This helps debugging on systems on which no gdb is available.
49526
49527 2007-04-29  Bruno Haible  <bruno@clisp.org>
49528
49529         * lib/freading.h: Improve comments.
49530         * lib/fwriting.h: Likewise.
49531         * tests/test-freading.c (main): Don't check freading immediately after
49532         repositioning. Needed for glibc.
49533
49534 2007-04-29  Bruno Haible  <bruno@clisp.org>
49535
49536         * lib/freading.c (freading): Trivial simplification.
49537
49538 2007-04-28  Bruno Haible  <bruno@clisp.org>
49539
49540         * tests/test-fwriting.c (main): Also test the interaction between
49541         fflush and fwriting.
49542         * modules/fwriting-tests (Depends-on): Add fflush.
49543
49544         * tests/test-freading.c (main): Also test the interaction between
49545         fflush and freading.
49546         * modules/freading-tests (Depends-on): Add fflush.
49547
49548 2007-04-28  Bruno Haible  <bruno@clisp.org>
49549
49550         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
49551         fseeko and ftello.
49552         Suggested by Eric Blake.
49553
49554 2007-04-28  Jim Meyering  <jim@meyering.net>
49555
49556         Avoid false-negative in gl_STDINT_H's C99 conformance test.
49557         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
49558         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
49559
49560 2007-04-27  Eric Blake  <ebb9@byu.net>
49561
49562         * doc/headers/assert.texi (assert.h): Document assert module use.
49563
49564 2007-04-27  Bruno Haible  <bruno@clisp.org>
49565
49566         * doc/headers/*.texi: New files.
49567         * doc/gnulib.texi (Header File Substitutes): New chapter.
49568         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
49569         dependencies.
49570         (standards.info ,standards.html, standards.dvi): Update dependencies.
49571         (mostlyclean, clean): New targets.
49572
49573 2007-04-27  Bruno Haible  <bruno@clisp.org>
49574
49575         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
49576         * modules/sysexits (Files, Makefile.am): Update.
49577
49578         * lib/sys_socket_.h: Renamed from lib/socket_.h.
49579         * modules/sys_socket (Files, Makefile.am): Update.
49580
49581         * lib/sys_stat_.h: Renamed from lib/stat_.h.
49582         * modules/sys_stat (Files, Makefile.am): Update.
49583
49584 2007-04-27  Eric Blake  <ebb9@byu.net>
49585
49586         * lib/freading.h: Improve comments.
49587         * lib/fwriting.h: Likewise.
49588         * lib/fflush.c: Likewise.
49589
49590         Fix closein for mingw.
49591         * modules/closein-tests: Add tests for closein.
49592         * tests/test-closein.c: New file.
49593         * tests/test-closein.sh: Likewise.
49594         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
49595         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
49596
49597 2007-04-27  Bruno Haible  <bruno@clisp.org>
49598
49599         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
49600         version is < 6.
49601         * lib/math_.h [__DECC]: Likewise.
49602         * lib/stdio_.h [__DECC]: Likewise.
49603         * lib/stdlib_.h [__DECC]: Likewise.
49604         * lib/string_.h [__DECC]: Likewise.
49605         * lib/time_.h [__DECC]: Likewise.
49606         * lib/wchar_.h [__DECC]: Likewise.
49607         * lib/wctype_.h [__DECC]: Likewise.
49608
49609 2007-04-27  Bruno Haible  <bruno@clisp.org>
49610
49611         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
49612
49613 2007-04-27  Bruno Haible  <bruno@clisp.org>
49614
49615         * lib/fflush.c: Add comments.
49616         * modules/fpurge-tests (Depends-on): Add fflush.
49617         * modules/freadable-tests (Depends-on): Likewise.
49618         * modules/fwritable-tests (Depends-on): Likewise.
49619
49620 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
49621
49622         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
49623         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
49624         Report by Bruno Haible <bruno@clisp.org>.
49625
49626 2007-04-26  Eric Blake  <ebb9@byu.net>
49627
49628         Fix fflush on mingw.
49629         * modules/fflush (Depends-on): Add freading.
49630         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
49631         but unread data.
49632
49633 2007-04-26  Eric Blake  <ebb9@byu.net>
49634         and Bruno Haible  <bruno@clisp.org>
49635
49636         Implement freading and fwriting.
49637         * lib/freading.c: New file.
49638         * lib/freading.h: Likewise.
49639         * m4/freading.m4: Likewise.
49640         * modules/freading: Likewise.
49641         * modules/freading-tests: Likewise.
49642         * tests/test-freading.c: Likewise.
49643         * lib/fwriting.c: New file.
49644         * lib/fwriting.h: Likewise.
49645         * m4/fwriting.m4: Likewise.
49646         * modules/fwriting: Likewise.
49647         * modules/fwriting-tests: Likewise.
49648         * tests/test-fwriting.c: Likewise.
49649         * MODULES.html.sh (File stream based Input/Output): Mention them.
49650
49651 2007-04-26  Bruno Haible  <bruno@clisp.org>
49652
49653         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
49654         'long' when we assume it.
49655         Suggested by Eric Blake.
49656
49657 2007-04-26  Bruno Haible  <bruno@clisp.org>
49658
49659         Ensure fseeko, ftello are declared on glibc systems.
49660         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
49661         * modules/fseeko (configure.ac-early): Likewise.
49662         * modules/ftello (configure.ac-early): Likewise.
49663         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
49664         AC_FUNC_FSEEKO for this.
49665         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
49666         (gl_CHECK_FSEEKO): Remove macro.
49667
49668 2007-04-26  Bruno Haible  <bruno@clisp.org>
49669
49670         * tests/test-fflush.c (main): Also check the ftell result after
49671         fflush and fseek/fseeko.
49672         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
49673         file descriptor position cache in the stream.
49674         * lib/fseeko.c (rpl_fseeko): Likewise.
49675
49676 2007-04-26  Bruno Haible  <bruno@clisp.org>
49677
49678         * modules/fflush-tests (Depends-on): Add fseeko.
49679
49680 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
49681             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49682
49683         * lib/argz_.h: ensure error_t definition is obtained in same
49684         mechanism system argz.h would have.
49685         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
49686         argz facilities are known bad.  Err on the side of caution if
49687         cross-compiling.
49688
49689 2007-04-25  Eric Blake  <ebb9@byu.net>
49690
49691         * lib/fpurge.c (includes): Use stdlib.h for free.
49692         * tests/test-fflush.c (main): Also test fflush-fseeko.
49693
49694 2007-04-25  Bruno Haible  <bruno@clisp.org>
49695
49696         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
49697         * lib/fseeko.c: New file.
49698         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
49699         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
49700         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
49701         gl_FUNC_FSEEKO.
49702         (gl_FUNC_FSEEKO): Invoke it.
49703         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
49704         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
49705         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
49706
49707 2007-04-25  Bruno Haible  <bruno@clisp.org>
49708
49709         * modules/fflush (Depends-on): Add ftello.
49710
49711 2007-04-25  Bruno Haible  <bruno@clisp.org>
49712
49713         * modules/ftello-tests: New file.
49714         * tests/test-ftello.c: New file.
49715
49716         * modules/ftello: New file.
49717         * m4/ftello.m4: New file.
49718         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
49719         HAVE_FTELLO.
49720         * lib/stdio_.h (ftello): New declaration.
49721         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
49722         HAVE_FTELLO.
49723
49724 2007-04-25  Bruno Haible  <bruno@clisp.org>
49725
49726         * modules/fseeko-tests: New file.
49727         * tests/test-fseeko.c: New file.
49728
49729         * modules/fseeko: New file.
49730         * m4/fseeko.m4: New file.
49731         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
49732         HAVE_FSEEKO.
49733         * lib/stdio_.h (fseeko): New declaration.
49734         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
49735         HAVE_FSEEKO.
49736
49737 2007-04-25  Bruno Haible  <bruno@clisp.org>
49738
49739         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
49740
49741 2007-04-25  Bruno Haible  <bruno@clisp.org>
49742
49743         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
49744         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
49745         * tests/test-unistd.c: Likewise.
49746         * tests/test-fcntl.c: Likewise.
49747
49748 2007-04-23  Eric Blake  <ebb9@byu.net>
49749
49750         * lib/fflush.c: Fix missing include.
49751         Reported by Bruno Haible.
49752
49753 2007-04-23  Bruno Haible  <bruno@clisp.org>
49754
49755         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
49756         Reported by Eric Blake.
49757
49758 2007-04-23  Bruno Haible  <bruno@clisp.org>
49759
49760         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
49761
49762 2007-04-23  Bruno Haible  <bruno@clisp.org>
49763
49764         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
49765
49766 2007-04-23  Bruno Haible  <bruno@clisp.org>
49767
49768         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
49769         Needed on HP-UX 11.
49770
49771 2007-04-16  Eric Blake  <ebb9@byu.net>
49772
49773         Make fflush rely on fpurge.
49774         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
49775         open coding all variants.
49776         * modules/fflush (Depends-on): Add fpurge and unistd.
49777         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
49778         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
49779
49780         Fix --with-tests compilation on cygwin.
49781         * modules/argmatch-tests (Makefile.am): List gnulib library first
49782         in LDADD.
49783         * modules/argp-tests (Makefile.am): Likewise.
49784         * modules/array-list-tests (Makefile.am): Likewise.
49785         * modules/array-oset-tests (Makefile.am): Likewise.
49786         * modules/avltree-list-tests (Makefile.am): Likewise.
49787         * modules/avltree-oset-tests (Makefile.am): Likewise.
49788         * modules/avltreehash-list-tests (Makefile.am): Likewise.
49789         * modules/carray-list-tests (Makefile.am): Likewise.
49790         * modules/dirname-tests (Makefile.am): Likewise.
49791         * modules/frexp-tests (Makefile.am): Likewise.
49792         * modules/isnanl-tests (Makefile.am): Likewise.
49793         * modules/linked-list-tests (Makefile.am): Likewise.
49794         * modules/linkedhash-list-tests (Makefile.am): Likewise.
49795         * modules/lock-tests (Makefile.am): Likewise.
49796         * modules/rbtree-list-tests (Makefile.am): Likewise.
49797         * modules/rbtree-oset-tests (Makefile.am): Likewise.
49798         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
49799         * modules/tls-tests (Makefile.am): Likewise.
49800         * modules/tsearch-tests (Makefile.am): Likewise.
49801         * modules/xvasprintf-tests (Makefile.am): Likewise.
49802
49803         Fix fpurge for cygwin.
49804         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
49805         value.
49806         * modules/fpurge-tests (Depends-on): Clean up trash.
49807
49808 2007-04-16  Simon Josefsson  <simon@josefsson.org>
49809
49810         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
49811
49812         * m4/autobuild.m4: Re-indent.
49813
49814 2007-04-13  Bruno Haible  <bruno@clisp.org>
49815
49816         * modules/fpurge-tests: New file.
49817         * tests/test-fpurge.c: New file.
49818
49819         * modules/fpurge: New file.
49820         * lib/fpurge.h: New file.
49821         * lib/fpurge.c: New file.
49822         * m4/fpurge.m4: New file.
49823
49824 2007-04-13  Bruno Haible  <bruno@clisp.org>
49825
49826         * modules/fbufmode-tests: New file.
49827         * tests/test-fbufmode.c: New file.
49828
49829         * modules/fbufmode: New file.
49830         * lib/fbufmode.h: New file.
49831         * lib/fbufmode.c: New file.
49832         * m4/fbufmode.m4: New file.
49833
49834 2007-04-13  Bruno Haible  <bruno@clisp.org>
49835
49836         * modules/fwritable-tests: New file.
49837         * tests/test-fwritable.c: New file.
49838
49839         * modules/fwritable: New file.
49840         * lib/fwritable.h: New file.
49841         * lib/fwritable.c: New file.
49842         * m4/fwritable.m4: New file.
49843
49844 2007-04-13  Bruno Haible  <bruno@clisp.org>
49845
49846         * modules/freadable-tests: New file.
49847         * tests/test-freadable.c: New file.
49848
49849         * modules/freadable: New file.
49850         * lib/freadable.h: New file.
49851         * lib/freadable.c: New file.
49852         * m4/freadable.m4: New file.
49853
49854 2007-04-13  Bruno Haible  <bruno@clisp.org>
49855
49856         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
49857         MOSTLYCLEANFILES.
49858
49859 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
49860
49861         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
49862         gzip bootstrap.conf to avoid dragging in i18n machinery.
49863         (gnulib_tool_option): Use it.
49864
49865 2007-04-13  Bruno Haible  <bruno@clisp.org>
49866
49867         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
49868         %F directives.
49869         * tests/test-vasprintf-posix.c (test_function): Likewise.
49870         * tests/test-snprintf-posix.h (test_function): Likewise.
49871         * tests/test-sprintf-posix.h (test_function): Likewise.
49872         * tests/test-fprintf-posix.h (test_function): Likewise.
49873         * tests/test-printf-posix.h (test_function): Likewise.
49874         * tests/test-fprintf-posix.out: Likewise.
49875
49876 2007-04-13  Bruno Haible  <bruno@clisp.org>
49877
49878         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
49879         * modules/tls-tests (configure.ac): Likewise.
49880         Reported by Arto C. Nirkko <anirkko@insel.ch>.
49881
49882 2007-04-13  Bruno Haible  <bruno@clisp.org>
49883
49884         * lib/tls.c (glthread_tls_get): Fix return type.
49885         Patch by Arto C. Nirkko <anirkko@insel.ch>.
49886
49887 2007-04-12  Eric Blake  <ebb9@byu.net>
49888
49889         * modules/gettime (Depends-on): Remove gettime.
49890         Reported by Dmitry V. Levin.
49891
49892 2007-04-12  Bruno Haible  <bruno@clisp.org>
49893
49894         * modules/fflush (Include): Mention <stdio.h>.
49895         * modules/strtoimax (Include): Mention <inttypes.h>.
49896         * modules/strtoumax (Include): Likewise.
49897
49898 2007-04-12  Eric Blake  <ebb9@byu.net>
49899
49900         * .cvsignore: New file.
49901         * .gitignore: Likewise.
49902
49903 2007-04-12  Bruno Haible  <bruno@clisp.org>
49904
49905         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
49906         not before, since $(LDADD) often contains libgnu.a.
49907         * modules/striconv-tests (test_striconv_LDADD): Likewise.
49908         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
49909         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
49910         Needed on Cygwin.
49911
49912 2007-04-12  Eric Blake  <ebb9@byu.net>
49913
49914         Work around glibc's failure to flush stdin on fclose.
49915         * lib/closein.c (close_stdin): Flush stdin before closing.
49916
49917         Work around glibc's failure to reset seekable stdin on exit.
49918         * modules/closein: New module.
49919         * lib/closein.c: New file.
49920         * lib/closein.h: Likewise.
49921         * m4/closein.m4: Likewise.
49922         * MODULES.html.sh (File stream based Input/Output): Document it.
49923
49924 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49925
49926         * gnulib-tool: Rename generated 'autobuild' script to
49927         'do-autobuild' in --create-megatestdir output.
49928
49929         * doc/gnulib.texi (Build robot for gnulib): Fix.
49930
49931 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49932
49933         * modules/sysexits (Depends-on): Add absolute-header.
49934
49935 2007-04-12  Eric Blake  <ebb9@byu.net>
49936
49937         No need to preserve errno on success.
49938         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
49939         Reported by Bruno Haible.
49940
49941 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49942
49943         * MODULES.html.sh (Support for maintaining and releasing
49944         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
49945
49946 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49947
49948         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
49949
49950 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49951
49952         * modules/autobuild: New module.
49953
49954         * m4/autobuild.m4: New file.
49955
49956 2007-04-11  Bruno Haible  <bruno@clisp.org>
49957
49958         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
49959         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
49960         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
49961         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
49962         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49963         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49964         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49965         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49966         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49967         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49968         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
49969         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49970         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49971         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
49972         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49973         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49974         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
49975         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49976         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49977         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
49978         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49979         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49980         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
49981         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49982         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49983         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
49984         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49985         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49986         Reported by Eric Blake.
49987
49988 2007-04-11  Bruno Haible  <bruno@clisp.org>
49989
49990         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
49991
49992 2007-04-10  Bruno Haible  <bruno@clisp.org>
49993
49994         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
49995         for NaN and Infinity. Needed on FreeBSD 6.1.
49996         * tests/test-vasnprintf-posix.c (test_function): Undo last change
49997         regarding results for "%010a" of Infinity and NaN.
49998         * tests/test-vasprintf-posix.c (test_function): Likewise.
49999         * tests/test-snprintf-posix.h (test_function): Likewise.
50000         * tests/test-sprintf-posix.h (test_function): Likewise.
50001         * tests/test-fprintf-posix.h (test_function): Likewise.
50002         * tests/test-printf-posix.h (test_function): Likewise.
50003         * tests/test-fprintf-posix.out: Likewise.
50004
50005 2007-04-10  Bruno Haible  <bruno@clisp.org>
50006
50007         * modules/locale-tests: New file.
50008         * tests/test-locale.c: New file.
50009
50010         * modules/locale: New file.
50011         * lib/locale_.h: New file.
50012         * m4/locale_h.m4: New file.
50013
50014 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
50015             Bruno Haible  <bruno@clisp.org>
50016
50017         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
50018         be determined, test for availability of the copysignf, copysign,
50019         copysignl functions.
50020         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
50021         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
50022         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
50023
50024 2007-04-09  Eric Blake  <ebb9@byu.net>
50025
50026         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
50027         * modules/stdio (Makefile.am): Support fflush.
50028         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50029         * modules/fflush: New file.
50030         * lib/fflush.c: Likewise.
50031         * m4/fflush.m4: Likewise.
50032         * modules/fflush-tests: New test.
50033         * tests/test-fflush.c: Likewise.
50034         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
50035
50036 2007-04-06  Bruno Haible  <bruno@clisp.org>
50037
50038         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
50039         (VASNPRINTF): Use signbit for faster determination whether to print a
50040         minus sign.
50041         * modules/vasnprintf (Files): Remove lib/float+.h.
50042         * modules/fprintf-posix (Depends-on): Add signbit.
50043         * modules/snprintf-posix (Depends-on): Likewise.
50044         * modules/sprintf-posix (Depends-on): Likewise.
50045         * modules/vasnprintf-posix (Depends-on): Likewise.
50046         * modules/vasprintf-posix (Depends-on): Likewise.
50047         * modules/vfprintf-posix (Depends-on): Likewise.
50048         * modules/vsnprintf-posix (Depends-on): Likewise.
50049         * modules/vsprintf-posix (Depends-on): Likewise.
50050
50051 2007-04-06  Bruno Haible  <bruno@clisp.org>
50052
50053         * tests/test-frexp.c (main): Test also the sign bit of zero results.
50054         * tests/test-frexpl.c (main): Likewise.
50055         * tests/test-ldexpl.c (main): Likewise.
50056         * modules/frexp-tests (Depends-on): Add signbit.
50057         * modules/frexpl-tests (Depdends-on): Likewise.
50058         * modules/ldexpl-tests (Depdends-on): Likewise.
50059
50060 2007-04-06  Bruno Haible  <bruno@clisp.org>
50061
50062         * modules/signbit-tests: New file.
50063         * tests/test-signbit.c: New file.
50064
50065         * modules/signbit: New file.
50066         * lib/signbitf.c: New file.
50067         * lib/signbitd.c: New file.
50068         * lib/signbitl.c: New file.
50069         * m4/signbit.m4: New file.
50070         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
50071         (signbit): New macro.
50072         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
50073         REPLACE_SIGNBIT.
50074         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
50075         REPLACE_FREXPL into math.h.
50076
50077 2007-04-06  Bruno Haible  <bruno@clisp.org>
50078
50079         * modules/isnanf-nolibm-tests: New file.
50080         * tests/test-isnanf.c: New file.
50081
50082         * modules/isnanf-nolibm: New file.
50083         * lib/isnanf.h: New file.
50084         * lib/isnanf.c: New file.
50085         * lib/isnan.c: Consider the USE_FLOAT macro.
50086         * m4/isnanf.m4: New file.
50087
50088 2007-04-06  Bruno Haible  <bruno@clisp.org>
50089
50090         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
50091         (Link): New section.
50092
50093         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
50094
50095 2007-04-06  Bruno Haible  <bruno@clisp.org>
50096
50097         Assume the 'long double' type.
50098         * m4/longdouble.m4: Remove file.
50099         * config/srclist.txt: Don't mention longdouble.m4.
50100         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
50101         * lib/float+.h: Likewise.
50102         * lib/frexp.c: Likewise.
50103         * lib/printf-args.h: Likewise.
50104         * lib/printf-args.c: Likewise.
50105         * lib/printf-frexp.c: Likewise.
50106         * lib/printf-parse.c: Likewise.
50107         * lib/vasnprintf.c: Likewise.
50108         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
50109         * m4/intl.m4: Likewise.
50110         * m4/isnanl.m4: Likewise.
50111         * m4/printf.m4: Likewise.
50112         * m4/printf-frexpl.m4: Likewise.
50113         * m4/vasnprintf.m4: Likewise.
50114         * modules/allocsa (Files): Remove m4/longdouble.m4.
50115         * modules/gettext (Files): Likewise.
50116         * modules/relocatable-prog-wrapper (Files): Likewise.
50117         * modules/vasnprintf (Files): Likewise.
50118         * modules/isnanl (Files): Likewise.
50119         (Include): Simplify.
50120         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
50121         (Include): Simplify.
50122         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
50123         (Include): Simplify.
50124         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
50125         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50126         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
50127         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50128         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
50129         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50130         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
50131         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50132         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
50133         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50134         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
50135         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50136         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
50137         * tests/test-isnanl.c: Likewise.
50138         * tests/test-snprintf-posix.h: Likewise.
50139         * tests/test-sprintf-posix.h: Likewise.
50140         * tests/test-vasnprintf-posix.c: Likewise.
50141         * tests/test-vasnprintf-posix2.c: Likewise.
50142         * tests/test-vasprintf-posix.c: Likewise.
50143
50144 2007-04-06  Bruno Haible  <bruno@clisp.org>
50145
50146         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
50147         * lib/math_.h [__DECC]: Include the overridden include file through
50148         #include_next, outside the double-inclusion guard.
50149         * lib/stdio_.h [__DECC]: Likewise.
50150         * lib/stdlib_.h [__DECC]: Likewise.
50151         * lib/string_.h [__DECC]: Likewise.
50152         * lib/time_.h [__DECC]: Likewise.
50153         * lib/wchar_.h [__DECC]: Likewise.
50154         * lib/wctype_.h [__DECC]: Likewise.
50155         * lib/inttypes_.h [__DECC]: Likewise.
50156         Reported by Albert Chin <china@thewrittenword.com> in
50157         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
50158
50159 2007-04-04  Eric Blake  <ebb9@byu.net>
50160
50161         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
50162         1.5.x.
50163
50164 2007-04-04  Bruno Haible  <bruno@clisp.org>
50165
50166         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
50167         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
50168
50169 2007-04-04  Bruno Haible  <bruno@clisp.org>
50170
50171         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
50172         results for "%010a" of Infinity and NaN.
50173         * tests/test-vasprintf-posix.c (test_function): Likewise.
50174         * tests/test-snprintf-posix.h (test_function): Likewise.
50175         * tests/test-sprintf-posix.h (test_function): Likewise.
50176         * tests/test-fprintf-posix.h (test_function): Remove these tests.
50177         * tests/test-printf-posix.h (test_function): Likewise.
50178         * tests/test-fprintf-posix.out: Update.
50179         Needed for FreeBSD 6.1.
50180
50181 2007-04-04  Bruno Haible  <bruno@clisp.org>
50182
50183         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
50184         directly used by the gnulib modules nor by gnulib-tool.
50185
50186 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50187
50188         * DEPENDENCIES: Give overall description of version dependency
50189         desirability.  Use more-typical names for apps.
50190         Add shell, coreutils, diffutils, grep, tar, gzip.
50191
50192 2007-04-04  Simon Josefsson  <simon@josefsson.org>
50193
50194         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
50195
50196 2007-04-04  Karl Berry  <karl@gnu.org>
50197
50198         * MODULES.html.sh (func_module): missing '.
50199
50200 2007-04-03  Bruno Haible  <bruno@clisp.org>
50201
50202         * modules/argmatch-tests (Makefile.am): New variable
50203         test_argmatch_LDADD.
50204         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
50205         * modules/array-list-tests (Makefile.am): New variable
50206         test_array_list_LDADD.
50207         * modules/array-oset-tests (Makefile.am): New variable
50208         test_array_oset_LDADD.
50209         * modules/avltree-list-tests (Makefile.am): New variable
50210         test_avltree_list_LDADD.
50211         * modules/avltree-oset-tests (Makefile.am): New variable
50212         test_avltree_oset_LDADD.
50213         * modules/avltreehash-list-tests (Makefile.am): New variable
50214         test_avltreehash_list_LDADD.
50215         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
50216         test_canonicalize_lgpl_LDADD.
50217         * modules/carray-list-tests (Makefile.am): New variable
50218         test_carray_list_LDADD.
50219         * modules/dirname-tests (Makefile.am): New variable
50220         test_dirname_LDADD.
50221         * modules/linked-list-tests (Makefile.am): New variable
50222         test_linked_list_LDADD.
50223         * modules/linkedhash-list-tests (Makefile.am): New variable
50224         test_linkedhash_list_LDADD.
50225         * modules/rbtree-list-tests (Makefile.am): New variable
50226         test_rbtree_list_LDADD.
50227         * modules/rbtree-oset-tests (Makefile.am): New variable
50228         test_rbtree_oset_LDADD.
50229         * modules/rbtreehash-list-tests (Makefile.am): New variable
50230         test_rbtreehash_list_LDADD.
50231         * modules/xvasprintf-tests (Makefile.am): New variable
50232         test_xvasprintf_LDADD.
50233         Reported by Eric Blake.
50234
50235 2007-04-03  Eric Blake  <ebb9@byu.net>
50236
50237         * DEPENDENCIES: Weaken m4 requirements.
50238
50239 2007-04-03  Bruno Haible  <bruno@clisp.org>
50240
50241         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
50242         * modules/isnanl-tests (configure.ac): Likewise.
50243
50244 2007-04-03  Ben Pfaff  <blp@gnu.org>
50245
50246         * modules/iconv_open: Add $(srcdir)/ to source directory
50247         references in Makefile fragments that call gperf, to fix VPATH
50248         builds.
50249
50250 2007-04-03  Bruno Haible  <bruno@clisp.org>
50251
50252         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
50253         * lib/ldexpl.c: Undo last change.
50254
50255 2007-04-03  Bruno Haible  <bruno@clisp.org>
50256
50257         * modules/printf-frexpl (Depends-on): Undo last change.
50258         (Files): Add m4/ldexpl.m4.
50259
50260 2007-04-03  Bruno Haible  <bruno@clisp.org>
50261
50262         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
50263         * modules/isnanl (Link): New section.
50264
50265         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
50266         * modules/frexp (Link): New section.
50267
50268         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
50269         * modules/frexpl (Link): New section.
50270
50271         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
50272         * modules/ldexpl (Link): New section.
50273
50274 2007-04-03  Bruno Haible  <bruno@clisp.org>
50275
50276         * modules/TEMPLATE-EXTENDED: New file.
50277         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
50278
50279 2007-04-03  Bruno Haible  <bruno@clisp.org>
50280
50281         * DEPENDENCIES: New file.
50282         Suggested by Simon Josefsson.
50283
50284 2007-04-03  Bruno Haible  <bruno@clisp.org>
50285
50286         * doc/gnulib.texi: Escape @.
50287
50288 2007-04-03  James Youngman  <jay@gnu.org>
50289         and Paul Eggert  <eggert@cs.ucla.edu>
50290
50291         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
50292         birthtime on all systems that have birthtime, not just those which
50293         use st_birthtimensec rather than st_birthtim.  Putting zero in
50294         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
50295         that the birth time is not available for files on an NFS mount.
50296
50297 2007-04-03  Simon Josefsson  <simon@josefsson.org>
50298
50299         * modules/memxor: Move back from crypto/, suggested by Bruno.
50300         * modules/crypto/hmac-sha1: Fix memxor dependency.
50301
50302         * modules/crypto/gc: Moved from ../.
50303
50304 2007-04-02  Eric Blake  <ebb9@byu.net>
50305
50306         * lib/ldexpl.c (includes): Avoid libm.
50307
50308         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
50309
50310 2007-04-02  Bruno Haible  <bruno@clisp.org>
50311
50312         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
50313         on IRIX.
50314
50315 2007-04-02  Bruno Haible  <bruno@clisp.org>
50316
50317         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
50318         x86 or x86_64 platforms running MacOS X.
50319         Reported by Ryan Schmidt <@ryandesign.com>.
50320
50321 2007-04-02  Bruno Haible  <bruno@clisp.org>
50322
50323         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
50324         i386.
50325
50326 2007-04-01  Simon Josefsson  <simon@josefsson.org>
50327
50328         * modules/crypto/arcfour: Moved from ../.
50329         * modules/crypto/arcfour-tests: Moved from ../.
50330         * modules/crypto/arctwo: Moved from ../.
50331         * modules/crypto/arctwo-tests: Moved from ../.
50332         * modules/crypto/des: Moved from ../.
50333         * modules/crypto/des-tests: Moved from ../.
50334         * modules/crypto/gc-arcfour: Moved from ../.
50335         * modules/crypto/gc-arcfour-tests: Moved from ../.
50336         * modules/crypto/gc-arctwo: Moved from ../.
50337         * modules/crypto/gc-arctwo-tests: Moved from ../.
50338         * modules/crypto/gc-des: Moved from ../.
50339         * modules/crypto/gc-des-tests: Moved from ../.
50340         * modules/crypto/gc-hmac-md5: Moved from ../.
50341         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
50342         * modules/crypto/gc-hmac-sha1: Moved from ../.
50343         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
50344         * modules/crypto/gc-md2: Moved from ../.
50345         * modules/crypto/gc-md2-tests: Moved from ../.
50346         * modules/crypto/gc-md4: Moved from ../.
50347         * modules/crypto/gc-md4-tests: Moved from ../.
50348         * modules/crypto/gc-md5: Moved from ../.
50349         * modules/crypto/gc-md5-tests: Moved from ../.
50350         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
50351         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
50352         * modules/crypto/gc-random: Moved from ../.
50353         * modules/crypto/gc-rijndael: Moved from ../.
50354         * modules/crypto/gc-rijndael-tests: Moved from ../.
50355         * modules/crypto/gc-sha1: Moved from ../.
50356         * modules/crypto/gc-sha1-tests: Moved from ../.
50357         * modules/crypto/gc-tests: Moved from ../.
50358         * modules/crypto/hmac-md5: Moved from ../.
50359         * modules/crypto/hmac-md5-tests: Moved from ../.
50360         * modules/crypto/hmac-sha1: Moved from ../.
50361         * modules/crypto/hmac-sha1-tests: Moved from ../.
50362         * modules/crypto/md2: Moved from ../.
50363         * modules/crypto/md2-tests: Moved from ../.
50364         * modules/crypto/md4: Moved from ../.
50365         * modules/crypto/md4-tests: Moved from ../.
50366         * modules/crypto/md5: Moved from ../.
50367         * modules/crypto/md5-tests: Moved from ../.
50368         * modules/crypto/memxor: Moved from ../.
50369         * modules/crypto/rijndael: Moved from ../.
50370         * modules/crypto/rijndael-tests: Moved from ../.
50371         * modules/crypto/sha1: Moved from ../.
50372
50373 2007-03-30  James Youngman  <jay@gnu.org>
50374
50375         * tests/test-stat-time.c (prepare_test): use chmod() rather than
50376         rename() to change the ctime of a file (because ctime is unaffected
50377         by rename on jfs2 on AIX 5.1).
50378         (main): Start by doing cleanup, in case a previous run failed leaving
50379         test files behind.
50380
50381 2007-03-31  Bruno Haible  <bruno@clisp.org>
50382
50383         Support old proprietary implementations of iconv.
50384         * modules/iconv_open: New file.
50385         * lib/iconv_.h: New file.
50386         * m4/iconv_h.m4: New file.
50387         * lib/iconv_open.c: New file.
50388         * lib/iconv_open-aix.gperf: New file.
50389         * lib/iconv_open-hpux.gperf: New file.
50390         * lib/iconv_open-irix.gperf: New file.
50391         * lib/iconv_open-osf.gperf: New file.
50392         * m4/iconv_open.m4: New file.
50393         * modules/linebreak (Depends-on): Add iconv_open.
50394         * modules/striconv (Depends-on): Likewise.
50395         * modules/striconveh (Depends-on): Likewise.
50396         * modules/unicodeio (Depends-on): Likewise.
50397         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
50398         (iconv_t)(-1).
50399         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
50400         conversion if cd is (iconv_t)(-1).
50401         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
50402         is not possible.
50403
50404 2007-03-31  Bruno Haible  <bruno@clisp.org>
50405
50406         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50407         work on Solaris either. Protect also second use of "autodetect_jp".
50408
50409 2007-03-31  Bruno Haible  <bruno@clisp.org>
50410
50411         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
50412         the function is not present.
50413
50414 2007-03-31  Bruno Haible  <bruno@clisp.org>
50415
50416         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
50417         the function is not present.
50418
50419 2007-03-31  Bruno Haible  <bruno@clisp.org>
50420
50421         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
50422         a bug in HP-UX iconv_open().
50423
50424 2007-03-31  Bruno Haible  <bruno@clisp.org>
50425
50426         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
50427         (Mathematics <math.h>): New section, add fpieee.
50428         (Input/output <stdio.h>): Add fseterr.
50429         (Mathematics <math.h>): New section, add printf-frexp.
50430         (Container data structures): Add sublist.
50431         (Core language properties): Add fpucw, inline.
50432         (Functions for greatest-width integer types <inttypes.h>): Add
50433         imaxabs, imaxdiv, inttypes.
50434         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
50435         isnanl-nolibm, ldexp.
50436         (Mathematics <math.h>): New section, add printf-frexpl.
50437         (Support for systems lacking POSIX:2001): Add fprintf-posix,
50438         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
50439         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
50440         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
50441         (Unicode string functions): Add unistr/u*-mbtoucr.
50442         (Java): Add javacomp-script, javaexec-script.
50443         (C#): Add csharpcomp-script, csharpexec-script.
50444         (Support for building libraries and executables): Add havelib,
50445         relocatable-*.
50446         (Support for maintaining and releasing projects): Renamed from
50447         'Support for maintaining and release projects'. Add announce-gen.
50448
50449 2007-03-31  Bruno Haible  <bruno@clisp.org>
50450
50451         * README: Talk primarily about git.
50452         (git and CVS): Renamed from CVS.
50453         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
50454         gnulib is available through git.
50455         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
50456
50457 2007-03-30  Bruno Haible  <bruno@clisp.org>
50458
50459         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
50460         * lib/poll_.h: Likewise.
50461         * lib/stat_.h: Likewise.
50462         * lib/sys_time_.h: Likewise.
50463         * lib/sysexit_.h: Likewise.
50464         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
50465         * lib/stdbool_.h: Likewise.
50466         * lib/byteswap_.h: Add double-inclusion guard.
50467
50468 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
50469
50470         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
50471
50472 2007-03-30  Karl Berry  <karl@gnu.org>
50473
50474         * config/srclist-update: double space after USA in the license
50475         substitution, since that's how it's usually (?) written.
50476
50477 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50478
50479         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
50480         reported by Bruno Haible.
50481
50482 2007-03-29  Bruno Haible  <bruno@clisp.org>
50483
50484         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
50485         a bug in AIX iconv().
50486
50487 2007-03-29  Bruno Haible  <bruno@clisp.org>
50488
50489         * modules/ldexpl-tests: New file.
50490         * tests/test-ldexpl.c: New file.
50491
50492 2007-03-29  Bruno Haible  <bruno@clisp.org>
50493
50494         * lib/ldexpl.c: Include fpucw.h.
50495         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
50496         multiplication.
50497         * modules/ldexpl (Depends-on): Add fpucw.
50498
50499 2007-03-29  Bruno Haible  <bruno@clisp.org>
50500
50501         * modules/ldexpl: New file.
50502         * m4/ldexpl.m4: New file.
50503         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
50504         set.
50505         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
50506         REPLACE_LDEXPL.
50507         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
50508         REPLACE_LDEXPL.
50509         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50510         gl_FUNC_LDEXPL_WORKS.
50511         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
50512         * modules/mathl (Files): Remove lib/ldexpl.c.
50513         (Depends-on): Add ldexpl.
50514
50515 2007-03-29  Bruno Haible  <bruno@clisp.org>
50516
50517         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
50518
50519 2007-03-29  Bruno Haible  <bruno@clisp.org>
50520
50521         * tests/test-striconveh.c (main): Don't assume that a direct conversion
50522         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
50523         and possibly also HP-UX.
50524         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50525         work on AIX, IRIX, HP-UX, OSF/1.
50526         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
50527         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
50528         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
50529         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
50530         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
50531         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
50532
50533 2007-03-29  Bruno Haible  <bruno@clisp.org>
50534
50535         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
50536
50537 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50538
50539         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
50540         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
50541
50542 2007-03-29  Eric Blake  <ebb9@byu.net>
50543
50544         * lib/acl-internal.h: Remove redundant include.
50545         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
50546         Cygwin when a file is locked.
50547
50548 2007-03-29  Bruno Haible  <bruno@clisp.org>
50549
50550         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
50551         file.
50552         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
50553
50554 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50555
50556         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
50557         try to remove a parent directory if the child couldn't be removed
50558         (except for the first rmdir, which could fail because the child
50559         doesn't exist).  Problem reported by Jeff Blaine in
50560         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
50561
50562 2007-03-28  Bruno Haible  <bruno@clisp.org>
50563
50564         * lib/striconveh.c (utf8conv_carefully): New function.
50565         (mem_cd_iconveh_internal): Invoke it.
50566
50567 2007-03-28  Bruno Haible  <bruno@clisp.org>
50568
50569         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
50570         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
50571         input.
50572         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
50573         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
50574         unistr/u8-uctomb.
50575
50576 2007-03-28  Bruno Haible  <bruno@clisp.org>
50577
50578         * modules/unistr/u8-mbtoucr: New file.
50579         * lib/unistr/u8-mbtoucr.c: New file.
50580         * modules/unistr/u16-mbtoucr: New file.
50581         * lib/unistr/u16-mbtoucr.c: New file.
50582         * modules/unistr/u16-mbtoucr: New file.
50583         * lib/unistr/u16-mbtoucr.c: New file.
50584         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
50585
50586 2007-03-27  Simon Josefsson  <simon@josefsson.org>
50587             Bruno Haible  <bruno@clisp.org>
50588
50589         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
50590         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
50591         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
50592
50593         * m4/stdio_h.m4: Add stubs for vasprintf too.
50594
50595         * modules/stdio: Support vasprintf in sed command.
50596
50597         * modules/vasprintf: Depend on stdio for prototypes.  Remove
50598         vasprintf.h.  Add stdio module indicator.
50599
50600         * lib/stdio_.h: Declare asprintf and vasprintf, based on
50601         vasprintf.h.
50602
50603         * lib/vasprintf.h: File removed.
50604
50605         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
50606         * lib/vasprintf.c: Ditto.
50607         * lib/xvasprintf.c: Ditto.
50608         * tests/test-vasprintf-posix.c: Ditto.
50609         * tests/test-vasprintf.c: Ditto.
50610
50611 2007-03-27  Bruno Haible  <bruno@clisp.org>
50612
50613         Make vasnprintf multithread-safe.
50614         * lib/vasnprintf.c (decimal_point_char): New function.
50615         (VASNPRINTF): Use it.
50616         Suggested by Simon Josefsson.
50617
50618 2007-03-27  Eric Blake  <ebb9@byu.net>
50619
50620         Support sub-second birthtime on cygwin.
50621         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
50622         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
50623         (get_stat_birthtime): Also work with st_birthtim.
50624
50625 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
50626
50627         * lib/stat-time.h (USE_BIRTHTIME): Remove.
50628         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
50629         (get_stat_birthtime_ns): Do not try to use "spare" fields.
50630         (get_stat_birthtime_ns): Simplify compile-time tests.
50631         (get_stat_birthtime): Change the API to look like
50632         get_stat_mtime etc., except return a negative tv_nsec on error.
50633         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
50634         Don't check for "spare" fields.
50635         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
50636         or for struct stat.st_birthtime, as these tests aren't used.
50637         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
50638
50639 2007-03-27  Bruno Haible  <bruno@clisp.org>
50640
50641         * lib/stat-time.h: Include <sys/stat.h>.
50642
50643 2007-03-27  James Youngman  <jay@gnu.org>
50644
50645         * lib/stat-time.h (get_stat_birthtime): New function for
50646           retrieving st_birthtime as provided by UFS2 (hence *BSD).
50647         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
50648           and its variants.
50649         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
50650         * modules/stat-time-test: New file.
50651         * tests/test-stat-time.c: New test, devised by Bruno Haible.
50652
50653 2007-03-26  Bruno Haible  <bruno@clisp.org>
50654
50655         Better support of signalling NaNs.
50656         * lib/atanl.c: Include isnanl.h.
50657         (atanl): Perform test for NaN at the beginning of the function and
50658         through a call to isnanl.
50659         * lib/cosl.c: Include isnanl.h.
50660         (cosl): Perform test for NaN at the beginning of the function and
50661         through a call to isnanl.
50662         * lib/ldexpl.c: Include isnanl.h.
50663         (ldexpl): Perform test for NaN through a call to isnanl.
50664         * lib/logl.c: Include isnanl.h.
50665         (logl): Perform test for NaN at the beginning of the function and
50666         through a call to isnanl.
50667         * lib/sinl.c: Include isnanl.h.
50668         (sinl): Perform test for NaN at the beginning of the function and
50669         through a call to isnanl.
50670         * lib/sqrtl.c: Include isnanl.h.
50671         (sqrtl): Perform test for NaN at the beginning of the function and
50672         through a call to isnanl.
50673         * lib/tanl.c: Include isnanl.h.
50674         (tanl): Perform test for NaN at the beginning of the function and
50675         through a call to isnanl.
50676         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
50677         * modules/mathl (Depends-on): Add isnanl.
50678
50679 2007-03-26  Eric Blake  <ebb9@byu.net>
50680
50681         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
50682         regression in logic sense of previous patch.
50683
50684 2007-03-26  Bruno Haible  <bruno@clisp.org>
50685
50686         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
50687         unportable shell command "if ! ...".
50688         Reported by Ralf Wildenhues.
50689
50690 2007-03-25  Bruno Haible  <bruno@clisp.org>
50691
50692         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
50693         <sysexits.h> file, and only add EX_CONFIG.
50694         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
50695         absolute file name and whether it is sufficient. Substitute also
50696         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
50697         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
50698         ABSOLUTE_SYSEXITS_H into sysexits.h.
50699
50700 2007-03-25  Bruno Haible  <bruno@clisp.org>
50701
50702         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
50703         hints is NULL.
50704
50705 2007-03-25  Bruno Haible  <bruno@clisp.org>
50706
50707         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
50708         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
50709
50710 2007-03-25  Bruno Haible  <bruno@clisp.org>
50711
50712         * lib/vasnprintf.c: Include langinfo.h.
50713         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
50714         multithread-safe.
50715         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
50716         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
50717         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50718         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50719         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50720         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50721         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50722         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
50723         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50724         Reported by Simon Josefsson.
50725
50726 2007-03-25  Bruno Haible  <bruno@clisp.org>
50727
50728         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
50729         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
50730         * modules/vasnprintf (Depends-on): Add stdint.
50731
50732 2007-03-25  Bruno Haible  <bruno@clisp.org>
50733
50734         * modules/fpieee: New file.
50735         * m4/fpieee.m4: New file.
50736         * modules/isnan-nolibm (Depends-on): Add fpieee.
50737         * modules/isnanl-nolibm (Depends-on): Add fpieee.
50738         * modules/isnanl (Depends-on): Add fpieee.
50739
50740 2007-03-25  Bruno Haible  <bruno@clisp.org>
50741
50742         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
50743
50744 2007-03-25  Bruno Haible  <bruno@clisp.org>
50745
50746         Avoid test failures on IRIX 6.5.
50747         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
50748         (main): Use it.
50749         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
50750         macros.
50751         (main): Use them.
50752
50753 2007-03-25  Bruno Haible  <bruno@clisp.org>
50754
50755         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
50756         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
50757         exists but doesn't work.
50758         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
50759         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
50760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
50761         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
50762
50763 2007-03-25  Bruno Haible  <bruno@clisp.org>
50764
50765         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
50766         returns inf. Needed on IRIX 6.5.
50767
50768 2007-03-25  Bruno Haible  <bruno@clisp.org>
50769
50770         * tests/test-frexpl.c: Include isnanl-nolibm.h.
50771         (main): Use isnanl instead of x != x idiom.
50772         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
50773
50774         * tests/test-frexp.c: Include isnan.h.
50775         (main): Use isnan instead of x != x idiom.
50776         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
50777
50778 2007-03-25  Bruno Haible  <bruno@clisp.org>
50779
50780         * tests/test-frexp.c (NaN): New function/macro.
50781         (main): Use it instead of 0.0 / 0.0.
50782         * tests/test-isnan.c (NaN): New function/macro.
50783         (main): Use it instead of 0.0 / 0.0.
50784         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
50785         (test_function): Use it instead of 0.0 / 0.0.
50786         * tests/test-vasprintf-posix.c (NaN): New function/macro.
50787         (test_function): Use it instead of 0.0 / 0.0.
50788         * tests/test-snprintf-posix.h (NaN): New function/macro.
50789         (test_function): Use it instead of 0.0 / 0.0.
50790         * tests/test-sprintf-posix.h (NaN): New function/macro.
50791         (test_function): Use it instead of 0.0 / 0.0.
50792         * tests/test-fprintf-posix.h (NaN): New function/macro.
50793         (test_function): Use it instead of 0.0 / 0.0.
50794         * tests/test-printf-posix.h (NaN): New function/macro.
50795         (test_function): Use it instead of 0.0 / 0.0.
50796
50797         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
50798
50799 2007-03-25  Bruno Haible  <bruno@clisp.org>
50800
50801         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
50802
50803 2007-03-25  Bruno Haible  <bruno@clisp.org>
50804
50805         * lib/regexec.c (merge_state_with_log): Make static.
50806
50807 2007-03-25  Bruno Haible  <bruno@clisp.org>
50808
50809         * lib/trigl.c (kernel_rem_pio2): Make static.
50810
50811 2007-03-25  Bruno Haible  <bruno@clisp.org>
50812
50813         * lib/sincosl.c (sincosl_table): Make static.
50814
50815 2007-03-25  Bruno Haible  <bruno@clisp.org>
50816
50817         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
50818         if the compiler does not support C99.
50819
50820 2007-03-25  Bruno Haible  <bruno@clisp.org>
50821
50822         * modules/time (Makefile.am): Ensure all rule action lines start with a
50823         tab.
50824
50825 2007-03-24  Bruno Haible  <bruno@clisp.org>
50826
50827         * modules/tsearch-tests: New file.
50828         * tests/test-tsearch.sh: New file.
50829         * tests/test-tsearch.c: New file, mostly copied from glibc.
50830
50831         * modules/search-tests: New file.
50832         * tests/test-search.c: New file.
50833
50834         * modules/search: New file.
50835         * lib/search_.h: New file, incorporating lib/tsearch.h.
50836         * m4/search_h.m4: New file.
50837         * lib/tsearch.h: Remove file.
50838         * lib/tsearch.c: Include search.h instead of tsearch.h.
50839         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
50840         HAVE_TSEARCH.
50841         * modules/tsearch (Files): Remove lib/tsearch.h.
50842         (Depends-on): Add search.
50843         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
50844         (Include): Change tsearch.h into search.h.
50845
50846 2007-03-24  Bruno Haible  <bruno@clisp.org>
50847
50848         * modules/fpucw: New file.
50849         * lib/fpucw.h: New file.
50850         * lib/frexp.c: Include fpucw.h.
50851         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50852         (FUNC): Use them.
50853         * lib/printf-frexp.c: Include fpucw.h.
50854         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50855         (FUNC): Use them.
50856         * lib/vasnprintf.c: Include fpucw.h.
50857         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
50858         'long double' calculations.
50859         * tests/test-frexpl.c: Include fpucw.h.
50860         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50861         * tests/test-printf-frexpl.c: Include fpucw.h.
50862         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50863         * modules/frexpl (Depends-on): Add fpucw.
50864         * modules/printf-frexpl (Depends-on): Likewise.
50865         * modules/fprintf-posix (Depends-on): Likewise.
50866         * modules/snprintf-posix (Depends-on): Likewise.
50867         * modules/sprintf-posix (Depends-on): Likewise.
50868         * modules/vasnprintf-posix (Depends-on): Likewise.
50869         * modules/vasprintf-posix (Depends-on): Likewise.
50870         * modules/vfprintf-posix (Depends-on): Likewise.
50871         * modules/vsnprintf-posix (Depends-on): Likewise.
50872         * modules/vsprintf-posix (Depends-on): Likewise.
50873         * modules/frexpl-tests (Depends-on): Likewise.
50874         * modules/printf-frexpl-tests (Depends-on): Likewise.
50875
50876 2007-03-24  Bruno Haible  <bruno@clisp.org>
50877
50878         * lib/float+.h: New file.
50879         * lib/isnan.c: Include float+.h.
50880         (SIZE): New macro.
50881         (FUNC): Compare only SIZE bytes of the value.
50882         * lib/vasnprintf.c: Include float+.h.
50883         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
50884         SIZEOF_LDBL or SIZEOF_DBL bytes.
50885         * modules/isnan-nolibm (Files): Add lib/float+.h.
50886         * modules/isnanl-nolibm (Files): Add lib/float+.h.
50887         * modules/isnanl (Files): Add lib/float+.h.
50888         * modules/vasnprintf (Files): Add lib/float+.h.
50889
50890 2007-03-24  Bruno Haible  <bruno@clisp.org>
50891
50892         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
50893         include isnanl-nolibm.h.
50894
50895 2007-03-24  Bruno Haible  <bruno@clisp.org>
50896
50897         * tests/test-read-file.c (main): Don't produce spurious output for
50898         expected situations. Make the test fail if it encountered unexpected
50899         results.
50900
50901 2007-03-24  Bruno Haible  <bruno@clisp.org>
50902
50903         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
50904         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
50905
50906 2007-03-24  Bruno Haible  <bruno@clisp.org>
50907
50908         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
50909
50910 2007-03-24  Bruno Haible  <bruno@clisp.org>
50911
50912         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
50913         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
50914
50915         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
50916         * modules/utf8-ucs4: Turn into a symbolic link to module
50917         unistr/u8-mbtouc.
50918
50919         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
50920         utf8-ucs4-unsafe.
50921         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
50922         unistr/u8-mbtouc-unsafe.
50923
50924         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
50925         * modules/utf16-ucs4: Turn into a symbolic link to module
50926         unistr/u16-mbtouc.
50927
50928         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
50929         utf16-ucs4-unsafe.
50930         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
50931         unistr/u16-mbtouc-unsafe.
50932
50933         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
50934         * modules/ucs4-utf8: Turn into a symbolic link to module
50935         unistr/u8-ubtomb.
50936
50937         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
50938         * modules/ucs4-utf16: Turn into a symbolic link to module
50939         unistr/u16-ubtomb.
50940
50941 2007-03-24  Bruno Haible  <bruno@clisp.org>
50942
50943         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
50944         Enable the function only if HAVE_INLINE.
50945         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
50946         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50947         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
50948         Enable the function only if HAVE_INLINE.
50949         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
50950         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50951         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
50952         Enable the function only if HAVE_INLINE.
50953         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
50954         Enable the function only if HAVE_INLINE.
50955         * modules/utf8-ucs4: Update.
50956         * modules/utf8-ucs4-unsafe: Update.
50957         * modules/utf16-ucs4: Update.
50958         * modules/utf16-ucs4-unsafe: Update.
50959         * modules/ucs4-utf8: Update.
50960         * modules/ucs4-utf16: Update.
50961
50962 2007-03-24  Bruno Haible  <bruno@clisp.org>
50963
50964         * lib/utf8-ucs4.h: Remove file.
50965         * lib/utf8-ucs4-unsafe.h: Remove file.
50966         * lib/utf16-ucs4.h: Remove file.
50967         * lib/utf16-ucs4-unsafe.h: Remove file.
50968         * lib/ucs4-utf8.h: Remove file.
50969         * lib/ucs4-utf16.h: Remove file.
50970         * lib/unistr.h: Include their previous contents.
50971         * m4/utf-ucs4.m4: Remove file.
50972         * m4/ucs4-utf.m4: Remove file.
50973         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
50974         (Depends-on): Add unistr/base.
50975         (configure.ac): Remove gl_UTF_UCS4.
50976         (Makefile.am): Update.
50977         (Include): Change to unistr.h.
50978         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
50979         (Depends-on): Add unistr/base.
50980         (configure.ac): Remove gl_UTF_UCS4.
50981         (Makefile.am): Update.
50982         (Include): Change to unistr.h.
50983         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
50984         (Depends-on): Add unistr/base.
50985         (configure.ac): Remove gl_UTF_UCS4.
50986         (Makefile.am): Update.
50987         (Include): Change to unistr.h.
50988         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
50989         (Depends-on): Add unistr/base.
50990         (configure.ac): Remove gl_UTF_UCS4.
50991         (Makefile.am): Update.
50992         (Include): Change to unistr.h.
50993         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
50994         (Depends-on): Add unistr/base.
50995         (configure.ac): Remove gl_UCS4_UTF.
50996         (Makefile.am): Update.
50997         (Include): Change to unistr.h.
50998         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
50999         (Depends-on): Add unistr/base.
51000         (configure.ac): Remove gl_UCS4_UTF.
51001         (Makefile.am): Update.
51002         (Include): Change to unistr.h.
51003         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
51004         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
51005         utf8-ucs4-unsafe.h.
51006         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
51007         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
51008         utf16-ucs4-unsafe.h.
51009         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
51010         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
51011         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
51012         * lib/unistr/u8-strchr.c: Likewise.
51013         * lib/unistr/u8-strrchr.c: Likewise.
51014         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
51015         * lib/unistr/u16-strchr.c: Likewise.
51016         * lib/unistr/u16-strrchr.c: Likewise.
51017         * lib/striconveh.c: Update.
51018         * lib/linebreak.c: Update.
51019
51020 2007-03-24  Bruno Haible  <bruno@clisp.org>
51021
51022         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
51023         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
51024
51025 2007-03-22  Bruno Haible  <bruno@clisp.org>
51026
51027         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
51028
51029 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51030
51031         * MODULES.html.sh (File system functions): New module write-any-file.
51032         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
51033         * m4/write-any-file.m4: New files.
51034
51035 2007-03-23  Eric Blake  <ebb9@byu.net>
51036
51037         * gnulib-tool: Rearrange space-tab sequences, since some editors
51038         like to eat them.
51039
51040 2007-03-23  Eric Blake  <ebb9@byu.net>
51041
51042         * lib/version-etc.c (version_etc_va): Update license wording to
51043         be more concise.  Recommended by Richard Stallman.
51044
51045 2007-03-22  Bruno Haible  <bruno@clisp.org>
51046
51047         * lib/poll.c (MSG_PEEK): New fallback definition.
51048
51049 2007-03-22  Bruno Haible  <bruno@clisp.org>
51050
51051         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
51052         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
51053         (main): Update.
51054         Fixes a compilation error on BeOS.
51055
51056 2007-03-22  Bruno Haible  <bruno@clisp.org>
51057
51058         * modules/frexpl-tests: New file.
51059         * tests/test-frexpl.c: New file.
51060
51061         * modules/frexpl: New file.
51062         * m4/frexpl.m4: New file.
51063         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
51064         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
51065         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
51066         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
51067         (Depends-on): Add frexpl. Remove isnanl-nolibm.
51068         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
51069
51070 2007-03-22  Bruno Haible  <bruno@clisp.org>
51071
51072         * lib/frexpl.c: Share code with lib/frexp.c.
51073         * modules/mathl (Files): Add lib/frexp.c.
51074         (Depends-on): Add isnanl-nolibm.
51075
51076 2007-03-22  Bruno Haible  <bruno@clisp.org>
51077
51078         * modules/printf-frexp (Files): Add m4/frexp.m4.
51079         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
51080         only if the found frexp function actually works.
51081
51082 2007-03-22  Bruno Haible  <bruno@clisp.org>
51083
51084         * lib/frexp.c: Remove older implementation that uses divisions.
51085
51086 2007-03-21  Bruno Haible  <bruno@clisp.org>
51087
51088         * modules/frexp-tests: New file.
51089         * tests/test-frexp.c: New file.
51090
51091         * modules/frexp: New file.
51092         * lib/frexp.c: New file.
51093         * m4/frexp.m4: New file.
51094         * lib/math_.h (frexp): New declaration.
51095         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
51096         REPLACE_FREXP.
51097         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
51098
51099 2007-03-21  Bruno Haible  <bruno@clisp.org>
51100
51101         * modules/isnanl-tests: New file.
51102         * tests/test-isnanl.c: New file.
51103
51104         * modules/isnanl: New file.
51105         * lib/isnanl.h: New file.
51106         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
51107         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
51108         gl_FUNC_ISNANL_WORKS.
51109         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
51110         New macros.
51111
51112 2007-03-21  Bruno Haible  <bruno@clisp.org>
51113
51114         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
51115         lib/isnanl.h.
51116         (Include): Update.
51117         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
51118         * lib/vasnprintf.c: Update.
51119         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
51120         tests/test-isnanl.h, remove tests/test-isnanl.c.
51121         (Makefile.am): Update.
51122         * tests/test-isnanl-nolibm.c: New file.
51123         * tests/test-isnanl.h: New file.
51124         * tests/test-isnanl.c: Remove file.
51125
51126 2007-03-21  Jim Meyering  <jim@meyering.net>
51127
51128         When trying to open ".", treat ESTALE like EACCES.
51129         * lib/savewd.c (savewd_save): Resort to forking not just upon
51130         failure with EACCES, but also when errno is ESTALE.
51131
51132 2007-03-20  Bruno Haible  <bruno@clisp.org>
51133
51134         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
51135         Needed on AIX 5.1. Reported by Matthew Woehlke.
51136
51137 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51138
51139         Suggestions by Bruno Haible:
51140         * lib/acl-internal.h: Include "gettext.h" rather than rolling
51141         our own.
51142         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
51143         * modules/acl (Depends-on): Add gettext.
51144
51145 2007-03-19  Bruno Haible  <bruno@clisp.org>
51146
51147         * modules/iconvme: Remove file.
51148         * lib/iconvme.h: Remove file.
51149         * lib/iconvme.c: Remove file.
51150         * m4/iconvme.m4: Remove file.
51151
51152 2007-03-19  Bruno Haible  <bruno@clisp.org>
51153
51154         * doc/relocatable-maint.texi: Break long shell script line.
51155         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
51156
51157 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51158
51159         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
51160         handle file_has_acl.
51161         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
51162         * lib/acl.c: Move header inclusions and related macro defns into
51163         lib/acl-internal.h.
51164         (S_ISLNK): Remove defn, since that's now done for us.
51165         (file_has_acl): Move to lib/file-has-acl.c.
51166         Call acl_trivial if available.  This is the crucial part of the fix.
51167         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
51168         shared within the library.  Rewrite a bit, partly to make it compatible
51169         with the GNU coding style.
51170         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
51171         Remove unnecessary double-quotes.
51172         Don't test for acl_to_text; the build will catch that.
51173         Replace acl_entries if it doesn't exist and it is needed.
51174         Check for -lsec and acl_trivial (as used on Solaris 10).
51175         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
51176         lib/file-has-acl.c.
51177         (Depends-on): Add sys_stat, for S_ISLNK.
51178
51179 2007-03-19  Ben Pfaff  <blp@gnu.org>
51180
51181         * doc/gnulib.texi: Fix typos.
51182         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
51183
51184 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51185
51186         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
51187         If size is zero here, buf must be zero.
51188
51189 2007-03-19  Simon Josefsson  <simon@josefsson.org>
51190
51191         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
51192         <bruno@clisp.org>.
51193
51194 2007-03-18  Bruno Haible  <bruno@clisp.org>
51195
51196         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
51197         Suggested by Eric Blake.
51198
51199 2007-03-18  Ben Pfaff  <blp@gnu.org>
51200
51201         * doc/relocatable.texi: Recommend using as prefix a directory
51202         that does not exist and will never be created.  Based on
51203         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
51204         and others.
51205
51206 2007-03-17  Bruno Haible  <bruno@clisp.org>
51207
51208         * lib/fchownat.c: Include lchown.h.
51209
51210 2007-03-17  Bruno Haible  <bruno@clisp.org>
51211
51212         Fix endless loop when the given allocated size was > INT_MAX.
51213         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
51214         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
51215         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
51216         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
51217         * lib/sprintf.c (sprintf): Likewise.
51218
51219 2007-03-17  Bruno Haible  <bruno@clisp.org>
51220
51221         * tests/test-argp-2.sh (func_compare): Output a context diff.
51222
51223 2007-03-17  Bruno Haible  <bruno@clisp.org>
51224
51225         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
51226         locale's decimal-point character.
51227
51228 2007-03-17  Bruno Haible  <bruno@clisp.org>
51229
51230         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
51231         before comparing it. Needed because on some platforms (e.g. x86) a
51232         'long double' occupies less bytes than sizeof (long double).
51233
51234 2007-03-17  Bruno Haible  <bruno@clisp.org>
51235
51236         * tests/test-crc.c (main): Make printf statements 64-bit clean.
51237         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
51238         * tests/test-getaddrinfo.c (simple): Likewise.
51239         * tests/test-read-file.c (main): Likewise.
51240
51241 2007-03-17  Bruno Haible  <bruno@clisp.org>
51242
51243         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
51244
51245 2007-03-17  Bruno Haible  <bruno@clisp.org>
51246
51247         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
51248         unused variable.
51249
51250 2007-03-17  Bruno Haible  <bruno@clisp.org>
51251
51252         * tests/test-c-strcasecmp.c: Include c-strcase.h.
51253         * tests/test-c-strncasecmp.c: Likewise.
51254
51255 2007-03-17  Bruno Haible  <bruno@clisp.org>
51256
51257         * modules/stdlib (Depends-on): Add unistd.
51258         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
51259         Needed for MacOS X 10.3.
51260
51261 2007-03-17  Bruno Haible  <bruno@clisp.org>
51262
51263         * lib/unistr/u-strdup.h: Include <stdlib.h>.
51264
51265 2007-03-17  Bruno Haible  <bruno@clisp.org>
51266
51267         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
51268
51269 2007-03-17  Bruno Haible  <bruno@clisp.org>
51270
51271         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
51272         to reflect files copied from gnulib (with or without modifications).
51273         Suggested by Jim Meyering.
51274
51275 2007-03-17  Eric Blake  <ebb9@byu.net>
51276
51277         * NEWS: Document stdlib change from 2007-02-18.
51278
51279 2007-03-17  Jim Meyering  <jim@meyering.net>
51280
51281         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
51282         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
51283         someone uses a name containing shell meta-characters.
51284         Reported by Alfred M. Szmidt.
51285
51286         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
51287
51288 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
51289
51290         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
51291         and copy gettext configuration files only if configure.ac contains
51292         a use of AM_GNU_GETTEXT_VERSION.
51293
51294 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
51295
51296         * build-aux/bootstrap (gnulib_name): New variable.
51297         (gnulib_tool_options): Use it.
51298
51299 2007-03-13  Simon Josefsson  <simon@josefsson.org>
51300
51301         * tests/test-des.c: Use new namespace.
51302
51303 2007-03-15  Bruno Haible  <bruno@clisp.org>
51304
51305         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
51306         Reported by James Youngman <jay@gnu.org>.
51307
51308 2007-03-15  Bruno Haible  <bruno@clisp.org>
51309
51310         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
51311         declared prototype. Needed with cc on OSF/1 5.1.
51312
51313 2007-03-15  Bruno Haible  <bruno@clisp.org>
51314
51315         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
51316         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
51317         (struct gl_list_implementation): Add dispose_fn argument to the
51318         'create_empty', 'create' methods.
51319         (struct gl_list_impl_base): Add field 'dispose_fn'.
51320         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
51321         argument.
51322         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
51323         dispose_fn argument.
51324         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
51325         dispose_fn on the dropped values.
51326         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
51327         dispose_fn argument.
51328         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
51329         dropped values.
51330         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
51331         (gl_tree_remove_node): Call dispose_fn on the dropped value.
51332         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
51333         (gl_tree_remove_node): Call dispose_fn on the dropped value.
51334         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
51335         argument.
51336         (gl_tree_list_free): Call dispose_fn on the dropped values.
51337         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
51338         the dropped values.
51339         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
51340         Add dispose_fn argument.
51341         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
51342         Call dispose_fn on the dropped values.
51343         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
51344         Add dispose_fn argument.
51345         (gl_sublist_create): Initialize the 'dispose_fn' field.
51346         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
51347         * tests/test-array_list.c (main): Update.
51348         * tests/test-carray_list.c (main): Update.
51349         * tests/test-avltree_list.c (main): Update.
51350         * tests/test-rbtree_list.c (main): Update.
51351         * tests/test-avltreehash_list.c (main): Update.
51352         * tests/test-rbtreehash_list.c (main): Update.
51353         * tests/test-linked_list.c (main): Update.
51354         * tests/test-linkedhash_list.c (main): Update.
51355         * tests/test-array_oset.c (main): Update.
51356
51357 2007-03-15  Bruno Haible  <bruno@clisp.org>
51358
51359         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
51360         (gl_oset_create_empty): Add dispose_fn argument.
51361         (struct gl_oset_implementation): Add dispose_fn argument to
51362         'create_empty' method.
51363         (struct gl_oset_impl_base): Add dispose_fn field.
51364         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
51365         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
51366         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
51367         values.
51368         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
51369         (gl_tree_oset_free): Call dispose_fn on the dropped values.
51370         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51371         dropped value.
51372         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51373         dropped value.
51374         * tests/test-array_oset.c (main): Update.
51375         * tests/test-avltree_oset.c (main): Update.
51376         * tests/test-rbtree_oset.c (main): Update.
51377         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
51378
51379 2007-03-13  Bruno Haible  <bruno@clisp.org>
51380
51381         * tests/test-stdbool.c (i): Update after last patch.
51382
51383 2007-03-12  Bruno Haible  <bruno@clisp.org>
51384
51385         * lib/quotearg.c: Include <wctype.h> early, before the definition of
51386         the iswprint macro. Needed on Solaris 2.5.1.
51387
51388 2007-03-12  Bruno Haible  <bruno@clisp.org>
51389
51390         * tests/test-printf-frexp.c (main): Declare x as volatile.
51391
51392 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51393
51394         * doc/gnulib.texi (Build robot for gnulib): New section.
51395
51396 2007-03-12  Jim Meyering  <jim@meyering.net>
51397
51398         * build-aux/bootstrap: New file.
51399         * build-aux/bootstrap.conf: New file, from coreutils.
51400
51401 2007-03-11  Bruno Haible  <bruno@clisp.org>
51402
51403         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
51404
51405 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51406
51407         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
51408         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
51409         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
51410
51411 2007-03-11  Bruno Haible  <bruno@clisp.org>
51412
51413         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
51414         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
51415
51416 2007-03-11  Bruno Haible  <bruno@clisp.org>
51417
51418         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
51419         formula. Needed for SunPRO C 5.0.
51420
51421 2007-03-11  Bruno Haible  <bruno@clisp.org>
51422
51423         * modules/long-options (Depends-on): Add getopt.
51424
51425 2007-03-11  Bruno Haible  <bruno@clisp.org>
51426
51427         * modules/modechange (Depends-on): Add stdbool.
51428
51429 2007-03-11  Bruno Haible  <bruno@clisp.org>
51430
51431         * modules/i-ring (Depends-on): Add stdbool.
51432
51433 2007-03-11  Bruno Haible  <bruno@clisp.org>
51434
51435         * modules/gc-des (Depends-on): Add stdbool.
51436
51437 2007-03-11  Bruno Haible  <bruno@clisp.org>
51438
51439         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
51440
51441 2007-03-11  Bruno Haible  <bruno@clisp.org>
51442
51443         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
51444
51445 2007-03-11  Bruno Haible  <bruno@clisp.org>
51446
51447         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
51448
51449 2007-03-11  Bruno Haible  <bruno@clisp.org>
51450
51451         * lib/vasnprintf.c (sprintf): Undefine.
51452
51453 2007-03-11  Bruno Haible  <bruno@clisp.org>
51454
51455         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
51456         initializers in SunPRO C and Compaq C compilers.
51457
51458 2007-03-11  Bruno Haible  <bruno@clisp.org>
51459
51460         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
51461         decrementing code ANSI C compliant.
51462
51463 2007-03-11  Bruno Haible  <bruno@clisp.org>
51464
51465         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
51466         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
51467
51468 2007-03-11  Bruno Haible  <bruno@clisp.org>
51469
51470         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
51471         <stdbool.h> substitute doesn't pass.
51472
51473 2007-03-11  Bruno Haible  <bruno@clisp.org>
51474
51475         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
51476
51477 2007-03-11  Bruno Haible  <bruno@clisp.org>
51478
51479         * gnulib-tool (func_create_megatestdir): Create also an autobuild
51480         script, for submission to autobuild.josefsson.org.
51481
51482 2007-03-10  Bruno Haible  <bruno@clisp.org>
51483
51484         * modules/canonicalize-lgpl-tests: New file.
51485         * tests/test-canonicalize-lgpl.sh: New file.
51486         * tests/test-canonicalize-lgpl.c: New file.
51487
51488         * modules/c-strcase-tests: New file.
51489         * tests/test-c-strcase.sh: New file.
51490         * tests/test-c-strcasecmp.c: New file.
51491         * tests/test-c-strncasecmp.c: New file.
51492
51493         * modules/atexit-tests: New file.
51494         * tests/test-atexit.sh: New file.
51495         * tests/test-atexit.c: New file.
51496
51497 2007-03-10  Bruno Haible  <bruno@clisp.org>
51498
51499         * tests/test-binary-io.sh: Use temporary filenames that are not so
51500         likely to clash with those of other tests (in a parallel make).
51501         * tests/test-binary-io.c: Likewise.
51502
51503 2007-03-10  Bruno Haible  <bruno@clisp.org>
51504
51505         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
51506         fallback; use #error instead.
51507         Suggested by Simon Josefsson.
51508
51509 2007-03-10  Bruno Haible  <bruno@clisp.org>
51510
51511         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
51512         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
51513         first and the last.
51514
51515 2007-03-10  Bruno Haible  <bruno@clisp.org>
51516
51517         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
51518
51519 2007-03-10  Bruno Haible  <bruno@clisp.org>
51520
51521         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
51522         "make distcheck".
51523         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
51524         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
51525         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
51526
51527 2007-03-10  Bruno Haible  <bruno@clisp.org>
51528
51529         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
51530         variable.
51531         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
51532         variable.
51533
51534 2007-03-09  Eric Blake  <ebb9@byu.net>
51535         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
51536
51537         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
51538         types are not being provided by gnulib.
51539         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
51540         types are supported.
51541
51542 2007-03-10  Bruno Haible  <bruno@clisp.org>
51543
51544         * lib/stdio_.h (__attribute__): New macro.
51545         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
51546         vsprintf): Specify __attribute__ __format__ for GCC.
51547         Suggested by Eric Blake.
51548
51549 2007-03-09  Bruno Haible  <bruno@clisp.org>
51550
51551         * modules/printf-posix-tests: New file.
51552         * tests/test-printf-posix.sh: New file.
51553         * tests/test-printf-posix.c: New file.
51554
51555         * modules/printf-posix: New file.
51556         * lib/printf.c: New file.
51557         * m4/printf-posix-rpl.m4: New file.
51558         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
51559         REPLACE_PRINTF.
51560         * lib/stdio_.h (printf): New declaration.
51561         (format, __format__, ____printf____, ____scanf____, ____strftime____,
51562         ____strfmon____): New macros.
51563         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
51564         REPLACE_PRINTF.
51565
51566 2007-03-09  Bruno Haible  <bruno@clisp.org>
51567
51568         * tests/test-vasnprintf-posix2.sh: New file.
51569         * tests/test-vasnprintf-posix2.c: New file.
51570         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
51571         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51572         (Makefile.am): Activate test-vasnprintf-posix2.sh.
51573
51574         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
51575         a locale dependent decimal point, rather than always '.'.
51576
51577 2007-03-09  Eric Blake  <ebb9@byu.net>
51578
51579         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
51580         spite of platforms like Tandem/NSK that define it to -1.
51581
51582 2007-03-08  Bruno Haible  <bruno@clisp.org>
51583
51584         * modules/vprintf-posix-tests: New file.
51585         * tests/test-vprintf-posix.sh: New file.
51586         * tests/test-vprintf-posix.c: New file.
51587         * tests/test-printf-posix.h: New file.
51588
51589         * modules/vprintf-posix: New file.
51590         * lib/vprintf.c: New file.
51591         * m4/vprintf-posix.m4: New file.
51592         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
51593         REPLACE_VPRINTF.
51594         * lib/stdio_.h (vprintf): New declaration.
51595         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
51596         REPLACE_VPRINTF.
51597
51598 2007-03-08  Bruno Haible  <bruno@clisp.org>
51599
51600         * modules/fprintf-posix-tests: New file.
51601         * tests/test-fprintf-posix.sh: New file.
51602         * tests/test-fprintf-posix.c: New file.
51603
51604         * modules/fprintf-posix: New file.
51605         * lib/fprintf.c: New file.
51606         * m4/fprintf-posix.m4: New file.
51607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
51608         REPLACE_FPRINTF.
51609         * lib/stdio_.h (fprintf): New declaration.
51610         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
51611         REPLACE_FPRINTF.
51612
51613 2007-03-08  Bruno Haible  <bruno@clisp.org>
51614
51615         * modules/vfprintf-posix-tests: New file.
51616         * tests/test-vfprintf-posix.sh: New file.
51617         * tests/test-vfprintf-posix.c: New file.
51618         * tests/test-fprintf-posix.h: New file.
51619         * tests/test-fprintf-posix.out: New file.
51620
51621         * modules/vfprintf-posix: New file.
51622         * lib/vfprintf.c: New file.
51623         * m4/vfprintf-posix.m4: New file.
51624         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
51625         REPLACE_VFPRINTF.
51626         * lib/stdio_.h (vfprintf): New declaration.
51627         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
51628         REPLACE_VFPRINTF.
51629
51630 2007-03-08  Bruno Haible  <bruno@clisp.org>
51631
51632         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
51633
51634 2007-03-08  Bruno Haible  <bruno@clisp.org>
51635
51636         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
51637         instead of 'expr' invocations.
51638         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51639         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51640         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51641         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51642         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51643         Suggested by Paul Eggert.
51644
51645 2007-03-08  Bruno Haible  <bruno@clisp.org>
51646
51647         * modules/fseterr-tests: New file.
51648         * tests/test-fseterr.c: New file.
51649
51650         * modules/fseterr: New file.
51651         * lib/fseterr.h: New file.
51652         * lib/fseterr.c: New file.
51653
51654 2007-03-08  Bruno Haible  <bruno@clisp.org>
51655
51656         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
51657         * lib/getopt_.h: Likewise.
51658         * lib/mbswidth.h: Likewise.
51659         * lib/setenv.h: Likewise.
51660         * lib/vasnprintf.h: Likewise.
51661         * lib/vasprintf.h: Likewise.
51662         * lib/verror.h: Likewise.
51663         * lib/xsetenv.h: Likewise.
51664         * lib/xvasprintf.h: Likewise.
51665
51666 2007-03-08  Jim Meyering  <jim@meyering.net>
51667
51668         * users.txt: Add parted.
51669
51670         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
51671
51672 2007-03-07  Bruno Haible  <bruno@clisp.org>
51673
51674         * m4/printf.m4: Make the shell script snippets copy&pastable.
51675
51676 2007-03-02  Bruno Haible  <bruno@clisp.org>
51677
51678         * lib/netinet_in_.h: New file.
51679         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
51680         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
51681         * modules/netinet_in (Files): Add lib/netinet_in_.h.
51682         (Depends-on): Add absolute-header.
51683         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
51684         into netinet/in.h.
51685
51686 2007-03-03  Bruno Haible  <bruno@clisp.org>
51687
51688         * lib/sys_select_.h: New file.
51689         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
51690         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
51691         * modules/sys_select (Files): Add lib/sys_select_.h.
51692         (Depends-on): Add absolute-header.
51693         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
51694         into sys/select.h.
51695
51696 2007-03-02  Bruno Haible  <bruno@clisp.org>
51697
51698         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
51699         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
51700         values.
51701         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
51702         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
51703         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
51704         * modules/sys_socket (Depends-on): Add absolute-header.
51705         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
51706         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
51707         (Include): Remove requirement of inclusion of <sys/types.h>.
51708
51709 2007-03-02  Bruno Haible  <bruno@clisp.org>
51710
51711         * lib/byteswap_.h (bswap_32): Fix formula.
51712
51713 2007-03-06  Bruno Haible  <bruno@clisp.org>
51714
51715         * modules/sprintf-posix-tests: New file.
51716         * tests/test-sprintf-posix.c: New file.
51717
51718         * modules/sprintf-posix: New file.
51719         * lib/sprintf.c: New file.
51720         * m4/sprintf-posix.m4: New file.
51721         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
51722         REPLACE_SPRINTF.
51723         * lib/stdio_.h (sprintf): New declaration.
51724         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
51725         REPLACE_SPRINTF.
51726
51727 2007-03-06  Bruno Haible  <bruno@clisp.org>
51728
51729         * modules/vsprintf-posix-tests: New file.
51730         * tests/test-vsprintf-posix.c: New file.
51731         * tests/test-sprintf-posix.h: New file.
51732
51733         * modules/vsprintf-posix: New file.
51734         * lib/vsprintf.c: New file.
51735         * m4/vsprintf-posix.m4: New file.
51736         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
51737         REPLACE_VSPRINTF.
51738         * lib/stdio_.h (vsprintf): New declaration.
51739         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
51740         REPLACE_VSPRINTF.
51741
51742 2007-03-06  Bruno Haible  <bruno@clisp.org>
51743
51744         * modules/vsnprintf (Depend-on): Remove minmax.
51745
51746 2007-03-06  Bruno Haible  <bruno@clisp.org>
51747
51748         * modules/snprintf-posix-tests: New file.
51749         * tests/test-snprintf-posix.c: New file.
51750
51751         * modules/snprintf-posix: New file.
51752         * m4/snprintf-posix.m4: New file.
51753         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
51754         gl_FUNC_SNPRINTF.
51755         (gl_FUNC_SNPRINTF): Invoke it.
51756         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
51757         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
51758         is set.
51759         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
51760
51761 2007-03-06  Bruno Haible  <bruno@clisp.org>
51762
51763         * modules/vsnprintf-posix-tests: New file.
51764         * tests/test-vsnprintf-posix.c: New file.
51765         * tests/test-snprintf-posix.h: New file.
51766
51767         * modules/vsnprintf-posix: New file.
51768         * m4/vsnprintf-posix.m4: New file.
51769         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
51770         gl_FUNC_VSNPRINTF.
51771         (gl_FUNC_VSNPRINTF): Invoke it.
51772         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
51773         * lib/stdio_.h (vsnprintf): Define as a replacement if
51774         REPLACE_VSNPRINTF is set.
51775         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
51776
51777 2007-03-06  Bruno Haible  <bruno@clisp.org>
51778
51779         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
51780         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
51781
51782 2007-03-06  Bruno Haible  <bruno@clisp.org>
51783
51784         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
51785         (asinl): Declare also if HAVE_DECL_ASINL is set.
51786         (atanl): Declare also if HAVE_DECL_ATANL is set.
51787         (ceill): Declare also if HAVE_DECL_CEILL is set.
51788         (cosl): Declare also if HAVE_DECL_COSL is set.
51789         (expl): Declare also if HAVE_DECL_EXPL is set.
51790         (floorl): Declare also if HAVE_DECL_FLOORL is set.
51791         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
51792         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
51793         (logl): Declare also if HAVE_DECL_LOGL is set.
51794         (sinl): Declare also if HAVE_DECL_SINL is set.
51795         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
51796         (tanl): Declare also if HAVE_DECL_TANL is set.
51797         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
51798         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
51799         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
51800         declaration of frexpl, ldexpl.
51801         * modules/printf-frexpl (Depends-on): Add math.
51802         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
51803
51804 2007-03-05  Bruno Haible  <bruno@clisp.org>
51805
51806         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
51807         frexpl and ldexpl are declared.
51808         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
51809
51810 2007-03-05  Bruno Haible  <bruno@clisp.org>
51811
51812         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
51813         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
51814
51815 2007-03-05  Bruno Haible  <bruno@clisp.org>
51816
51817         * lib/stdio_.h: Include <stddef.h>.
51818
51819 2007-03-05  Bruno Haible  <bruno@clisp.org>
51820
51821         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
51822
51823 2007-03-05  Bruno Haible  <bruno@clisp.org>
51824
51825         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
51826         NetBSD 4, from Ralf Wildenhues.
51827
51828 2007-03-04  Bruno Haible  <bruno@clisp.org>
51829
51830         * lib/vasprintf.h: Update #if logic for the case when the functions
51831         exist but are overridden.
51832
51833 2007-03-04  Bruno Haible  <bruno@clisp.org>
51834
51835         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
51836         implementations: glibc-2.4 and MacOS X 10.3.
51837         * tests/test-vasnprintf-posix.c (test_function): Test also the case
51838         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
51839         * tests/test-vasprintf-posix.c (test_function): Likewise.
51840
51841 2007-03-04  Bruno Haible  <bruno@clisp.org>
51842
51843         * modules/vasprintf-posix-tests: New file.
51844         * tests/test-vasprintf-posix.c: New file.
51845
51846         * modules/vasprintf-posix: New file.
51847         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
51848         defined.
51849         * m4/vasprintf-posix.m4: New file.
51850         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
51851         gl_FUNC_VASPRINTF.
51852         (gl_FUNC_VASPRINTF): Invoke it.
51853         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
51854         here.
51855         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
51856
51857 2007-03-04  Bruno Haible  <bruno@clisp.org>
51858
51859         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
51860         REPLACE_GETTIMEOFDAY.
51861         * modules/sys_time (Makefile.am): Likewise.
51862         * m4/sys_time_h.m4: Likewise.
51863         * m4/gettimeofday.m4: Likewise.
51864
51865 2007-03-04  Bruno Haible  <bruno@clisp.org>
51866
51867         * modules/vasnprintf-posix-tests: New file.
51868         * tests/test-vasnprintf-posix.c: New file.
51869
51870         * modules/vasnprintf-posix: New file.
51871         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
51872         printf-frexpl.h.
51873         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
51874         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
51875         REPLACE_VASNPRINTF is defined.
51876         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
51877         gl_FUNC_VASNPRINTF.
51878         (gl_FUNC_VASNPRINTF): Invoke it.
51879         * m4/vasnprintf-posix.m4: New file.
51880         * m4/printf.m4: New file.
51881
51882 2007-03-04  Bruno Haible  <bruno@clisp.org>
51883
51884         Compile progreloc.c only if --enable-relocatable is specified.
51885         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
51886         if --enable-relocatable was specified.
51887         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
51888         lib_SOURCES.
51889
51890 2007-03-04  Jim Meyering  <jim@meyering.net>
51891
51892         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
51893         Use it consistently, rather than enumerating errno constants.
51894
51895 2007-03-04  Bruno Haible  <bruno@clisp.org>
51896
51897         * modules/xvasprintf-tests: New file.
51898         * tests/test-xvasprintf.c: New file.
51899
51900         * modules/vasprintf-tests: New file.
51901         * tests/test-vasprintf.c: New file.
51902
51903         * modules/vasnprintf-tests: New file.
51904         * tests/test-vasnprintf.c: New file.
51905
51906         * modules/vsnprintf-tests: New file.
51907         * tests/test-vsnprintf.c: New file.
51908
51909         * modules/snprintf-tests: New file.
51910         * tests/test-snprintf.c: New file.
51911
51912 2007-03-04  Bruno Haible  <bruno@clisp.org>
51913
51914         Compile relocatable.c only if --enable-relocatable is specified.
51915         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
51916         gl_RELOCATABLE_LIBRARY.
51917         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
51918         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
51919         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
51920         gl_RELOCATABLE_LIBRARY.
51921         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
51922         (Makefile.am): Remove lib_SOURCES.
51923         * modules/relocatable-lib-lgpl (configure.ac): Invoke
51924         gl_RELOCATABLE_LIBRARY.
51925         (Makefile.am): Remove lib_SOURCES.
51926         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
51927         always.
51928         * modules/relocatable-prog-wrapper (configure.ac): Invoke
51929         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
51930
51931 2007-03-04  Bruno Haible  <bruno@clisp.org>
51932
51933         * modules/argmatch-tests: New file.
51934         * tests/test-argmatch.c: New file.
51935
51936         * tests/test-allocsa.c (main): Halve the number of loop runs.
51937
51938         * modules/alloca-opt-tests: New file.
51939         * tests/test-alloca-opt.c: New file.
51940
51941 2007-03-04  Jim Meyering  <jim@meyering.net>
51942
51943         Work around difference between Linux ACLs and Solaris 10 ZFS.
51944         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
51945         for EINVAL.
51946
51947 2007-03-03  Bruno Haible  <bruno@clisp.org>
51948
51949         * modules/relocatable-prog (Depends-on): Add back progreloc's
51950         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
51951
51952 2007-03-03  Bruno Haible  <bruno@clisp.org>
51953
51954         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
51955         * modules/relocatable-lib: New file.
51956
51957 2007-03-03  Bruno Haible  <bruno@clisp.org>
51958
51959         * modules/relocatable-prog: Renamed from modules/relocatable.
51960         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
51961
51962 2007-03-03  Bruno Haible  <bruno@clisp.org>
51963
51964         * modules/relocatable-script (Files): Add doc/relocatable.texi,
51965         m4/relocatable-lib.m4.
51966         (Depends-on): Remove 'relocatable'.
51967         (configure.ac): Add gl_RELOCATABLE_NOP.
51968
51969 2007-03-03  Bruno Haible  <bruno@clisp.org>
51970
51971         * modules/relocatable-prog-wrapper: New file.
51972         * modules/relocatable (Depends-on): Add it. Remove all other
51973         dependencies except progname.
51974         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
51975
51976         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
51977         (gl_FUNC_STRERROR): Nop.
51978         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
51979
51980         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
51981         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
51982
51983         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
51984         (gl_FUNC_READLINK): Update.
51985
51986         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
51987
51988 2007-03-03  Bruno Haible  <bruno@clisp.org>
51989
51990         * lib/xreadlink.c: Include <unistd.h> unconditionally.
51991         * modules/xreadlink (Depends-on): Add unistd.
51992         * modules/xreadlink-with-size (Depends-on): Likewise.
51993
51994 2007-03-03  Bruno Haible  <bruno@clisp.org>
51995
51996         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
51997         extracted from gt_FUNC_SETENV.
51998         (gt_FUNC_SETENV): Remove macro.
51999         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
52000         remove gt_FUNC_SETENV.
52001
52002 2007-03-03  Bruno Haible  <bruno@clisp.org>
52003
52004         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
52005         ENABLE_RELOCATABLE here.
52006         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
52007
52008 2007-03-03  Bruno Haible  <bruno@clisp.org>
52009
52010         * modules/rbtreehash-list-tests (Depends-on): Add progname.
52011         * tests/test-rbtreehash_list.c: Include progname.h.
52012         (main): Call set_program_name.
52013
52014         * modules/rbtree-oset-tests (Depends-on): Add progname.
52015         * tests/test-rbtree_oset.c: Include progname.h.
52016         (main): Call set_program_name.
52017
52018         * modules/rbtree-list-tests (Depends-on): Add progname.
52019         * tests/test-rbtree_list.c: Include progname.h.
52020         (main): Call set_program_name.
52021
52022         * modules/linked-list-tests (Depends-on): Add progname.
52023         * tests/test-linked_list.c: Include progname.h.
52024         (main): Call set_program_name.
52025
52026 2007-03-03  Bruno Haible  <bruno@clisp.org>
52027
52028         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
52029         All uses of __restrict changed to _Restrict_.
52030         * lib/glob_.h (__restrict): Remove macro.
52031
52032 2007-03-02  Bruno Haible  <bruno@clisp.org>
52033
52034         * modules/gettext (configure.ac): Require gettext infrastructure
52035         from version 0.16.1.
52036
52037 2007-03-02  Bruno Haible  <bruno@clisp.org>
52038
52039         * modules/linkedhash-list-tests (Depends-on): Add progname.
52040         * tests/test-linkedhash_list.c: Include progname.h.
52041         (main): Call set_program_name.
52042
52043         * modules/carray-list-tests (Depends-on): Add progname.
52044         * tests/test-carray_list.c: Include progname.h.
52045         (main): Call set_program_name.
52046
52047         * modules/avltreehash-list-tests (Depends-on): Add progname.
52048         * tests/test-avltreehash_list.c: Include progname.h.
52049         (main): Call set_program_name.
52050
52051         * modules/avltree-oset-tests (Depends-on): Add progname.
52052         * tests/test-avltree_oset.c: Include progname.h.
52053         (main): Call set_program_name.
52054
52055         * modules/avltree-list-tests (Depends-on): Add progname.
52056         * tests/test-avltree_list.c: Include progname.h.
52057         (main): Call set_program_name.
52058
52059         * modules/array-oset-tests (Depends-on): Add progname.
52060         * tests/test-array_oset.c: Include progname.h.
52061         (main): Call set_program_name.
52062
52063         * modules/array-list-tests (Depends-on): Add progname.
52064         * tests/test-array_list.c: Include progname.h.
52065         (main): Call set_program_name.
52066
52067         * modules/argp-tests (Depends-on): Add progname.
52068         * tests/test-argp.c: Include argp.h first. Include progname.h.
52069         (main): Call set_program_name.
52070
52071 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52072
52073         * doc/gnulib-tool.texi (Initial import): Reword description of
52074         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
52075         limited effect even if defined after the first system include.
52076
52077 2007-03-01  Bruno Haible  <bruno@clisp.org>
52078
52079         * build-aux/config.libpath: Update to libtool-1.5.22.
52080         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52081
52082 2007-03-01  Bruno Haible  <bruno@clisp.org>
52083
52084         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
52085         foo_CFLAGS.
52086         Reported by Ralf Wildenhues.
52087
52088 2007-03-01  Bruno Haible  <bruno@clisp.org>
52089
52090         * build-aux/install-reloc: Remove object files left over by some
52091         compilers.
52092         Reported by Ralf Wildenhues.
52093
52094 2007-03-01  Bruno Haible  <bruno@clisp.org>
52095
52096         * build-aux/install-reloc: Break long lines.
52097
52098 2007-03-01  Bruno Haible  <bruno@clisp.org>
52099
52100         * doc/relocatable.texi: Document that it may not work on OpenBSD.
52101         Reported by Ralf Wildenhues.
52102
52103 2007-03-01  Bruno Haible  <bruno@clisp.org>
52104
52105         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
52106         include ordering constraints.
52107
52108 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
52109
52110         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
52111         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
52112         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
52113         as another example.
52114         * lib/time_.h: Fix misspelling.
52115         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52116         Require gl_HEADER_TIME_H_DEFAULTS.
52117         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
52118         * m4/time_r.m4 (gl_TIME_R): Likewise.
52119         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
52120
52121 2007-03-01  Bruno Haible  <bruno@clisp.org>
52122
52123         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
52124         * m4/utimens.m4 (gl_UTIMENS): Likewise.
52125
52126 2007-03-01  Jim Meyering  <jim@meyering.net>
52127
52128         * modules/xreadlink (Maintainer): Add my name.
52129         * modules/xreadlink-with-size (Depends-on): Alphabetize.
52130
52131 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
52132             Bruno Haible  <bruno@clisp.org>
52133
52134         * build-aux/install-reloc: Compile also c-ctype.c.
52135         * build-aux/relocatable.sh.in: New file.
52136         * doc/relocatable.texi: New file.
52137         * doc/relocatable-maint.texi: New file.
52138         * doc/gnulib.texi: Include relocatable-maint.texi.
52139         * lib/progreloc.c: Include unistd.h unconditionally.
52140         * lib/relocwrapper.c: Include unistd.h unconditionally.
52141         Include c-ctype.h.
52142         (add_dotbin): Use c_tolower.
52143         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
52144         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
52145         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
52146         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
52147         to m4/relocatable-lib.m4.
52148         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
52149         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
52150         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
52151         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
52152         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
52153         * modules/relocatable: New file.
52154         * modules/relocatable-lib: New file.
52155         * modules/relocatable-script: New file.
52156
52157 2007-02-28  Bruno Haible  <bruno@clisp.org>
52158
52159         Import --enable-relocatable infrastructure.
52160         * build-aux/config.libpath: New file, from GNU gettext.
52161         * build-aux/install-reloc: New file, from GNU gettext.
52162         * build-aux/reloc-ldflags: New file, from GNU gettext.
52163         * lib/relocatable.h: New file, from GNU gettext.
52164         * lib/relocatable.c: New file, from GNU gettext.
52165         * lib/relocwrapper.c: New file, from GNU gettext.
52166         * m4/relocatable.m4: New file, from GNU gettext.
52167
52168 2007-02-28  Bruno Haible  <bruno@clisp.org>
52169
52170         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
52171
52172         * modules/xreadlink: New file, from GNU gettext with modifications.
52173         * lib/xreadlink.c: New file, from GNU gettext.
52174         * lib/xreadlink.h: Add comments.
52175         (xreadlink): New declaration.
52176
52177         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
52178         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
52179         lib/xreadlink-with-size.c.
52180         (configure.ac): Remove gl_XREADLINK invocation.
52181         (Makefile.am): Augment lib_SOURCES.
52182         * m4/xreadlink.m4: Remove file.
52183         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
52184         (xreadlink_with_size): Renamed from xreadink.
52185         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
52186         * modules/canonicalize (Depends-on): Replace xreadlink with
52187         xreadlink-with-size.
52188         * lib/canonicalize.c (canonicalize_filename_mode): Update.
52189
52190 2007-02-25  Jim Meyering  <jim@meyering.net>
52191
52192         * build-aux/announce-gen: When complaining about excess arguments,
52193         list them.
52194
52195 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
52196
52197         * README: Document signed integer overflow situation more
52198         accurately.
52199
52200 2007-02-25  Bruno Haible  <bruno@clisp.org>
52201
52202         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
52203         'a' or 'A' conversion.
52204
52205 2007-02-25  Bruno Haible  <bruno@clisp.org>
52206
52207         * modules/filename: Renamed from modules/pathname.
52208         (Files): Replace lib/pathname.h with lib/filename.h. Replace
52209         lib/concatpath.c with lib/concat-filename.c.
52210         (Makefile.am): Update.
52211         (Include): Replace pathname.h with filename.h.
52212         * lib/filename.h: Renamed from lib/pathname.h.
52213         (concatenated_filename): Renamed from concatenated_pathname.
52214         * lib/concat-filename.c: Renamed from lib/concatpath.c.
52215         (concatenated_filename): Renamed from concatenated_pathname.
52216         * lib/findprog.c: Include filename.h instead of pathname.h.
52217         (find_in_path): Update.
52218         * lib/javacomp.c: Include filename.h instead of pathname.h.
52219         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
52220         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
52221         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
52222         is_oldgcj_14_13_usable, is_javac_usable): Update.
52223         * lib/javaexec.c: Include filename.h instead of pathname.h.
52224         (execute_java_class): Update.
52225         * modules/findprog: Update.
52226         * modules/javacomp: Update.
52227         * modules/javaexec: Update.
52228         * MODULES.html.sh (File system functions): Add 'filename', remove
52229         'pathname'.
52230
52231 2007-02-25  Bruno Haible  <bruno@clisp.org>
52232
52233         * modules/printf-frexpl-tests: New file.
52234         * tests/test-printf-frexpl.c: New file.
52235
52236         * modules/printf-frexpl: New file.
52237         * lib/printf-frexpl.h: New file.
52238         * lib/printf-frexpl.c: New file.
52239         * m4/printf-frexpl.m4: New file.
52240
52241 2007-02-25  Bruno Haible  <bruno@clisp.org>
52242
52243         * modules/printf-frexp-tests: New file.
52244         * tests/test-printf-frexp.c: New file.
52245
52246         * modules/printf-frexp: New file.
52247         * lib/printf-frexp.h: New file.
52248         * lib/printf-frexp.c: New file.
52249         * m4/printf-frexp.m4: New file.
52250
52251 2007-02-25  Bruno Haible  <bruno@clisp.org>
52252
52253         Assume automake >= 1.10 for the tests.
52254         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
52255         * modules/arctwo-tests: Likewise.
52256         * modules/argp-tests: Likewise.
52257         * modules/avltree-list-tests: Likewise.
52258         * modules/avltree-oset-tests: Likewise.
52259         * modules/avltreehash-list-tests: Likewise.
52260         * modules/carray-list-tests: Likewise.
52261         * modules/crc-tests: Likewise.
52262         * modules/des-tests: Likewise.
52263         * modules/gc-arcfour-tests: Likewise.
52264         * modules/gc-arctwo-tests: Likewise.
52265         * modules/gc-des-tests: Likewise.
52266         * modules/gc-hmac-md5-tests: Likewise.
52267         * modules/gc-hmac-sha1-tests: Likewise.
52268         * modules/gc-md2-tests: Likewise.
52269         * modules/gc-md4-tests: Likewise.
52270         * modules/gc-md5-tests: Likewise.
52271         * modules/gc-pbkdf2-sha1-tests: Likewise.
52272         * modules/gc-rijndael-tests: Likewise.
52273         * modules/gc-sha1-tests: Likewise.
52274         * modules/gc-tests: Likewise.
52275         * modules/getaddrinfo-tests: Likewise.
52276         * modules/hmac-md5-tests: Likewise.
52277         * modules/hmac-sha1-tests: Likewise.
52278         * modules/linked-list-tests: Likewise.
52279         * modules/linkedhash-list-tests: Likewise.
52280         * modules/lock-tests: Likewise.
52281         * modules/md2-tests: Likewise.
52282         * modules/md4-tests: Likewise.
52283         * modules/md5-tests: Likewise.
52284         * modules/rbtree-list-tests: Likewise.
52285         * modules/rbtree-oset-tests: Likewise.
52286         * modules/rbtreehash-list-tests: Likewise.
52287         * modules/read-file-tests: Likewise.
52288         * modules/rijndael-tests: Likewise.
52289         * modules/stdint-tests: Likewise.
52290         * modules/tls-tests: Likewise.
52291
52292 2007-02-24  Bruno Haible  <bruno@clisp.org>
52293
52294         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
52295         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
52296         function; instead check whether isnan with a double argument links.
52297         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
52298         function; instead check whether isnan with a 'long double' argument
52299         links.
52300         Reported by Eric Blake <ebb9@byu.net>.
52301
52302 2007-02-24  Bruno Haible  <bruno@clisp.org>
52303
52304         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
52305         defined.
52306         * lib/isnanl.c: Remove all code. Just include isnan.c.
52307         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
52308
52309 2007-02-25  Jim Meyering  <jim@meyering.net>
52310
52311         Avoid conflicting types for 'unsetenv' on FreeBSD.
52312         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
52313         conflicting with FreeBSD's (5.0 and 6.1) function declaration
52314         in stdlib.h.
52315
52316 2007-02-24  Bruno Haible  <bruno@clisp.org>
52317
52318         * modules/isnanl-nolibm-tests: New file.
52319         * tests/test-isnanl.c: New file.
52320
52321         * modules/isnanl-nolibm: New file.
52322         * lib/isnanl.h: New file.
52323         * lib/isnanl.c: New file.
52324         * m4/isnanl.m4: New file.
52325
52326 2007-02-24  Bruno Haible  <bruno@clisp.org>
52327
52328         * modules/isnan-nolibm-tests: New file.
52329         * tests/test-isnan.c: New file.
52330
52331         * modules/isnan-nolibm: New file.
52332         * lib/isnan.h: New file.
52333         * lib/isnan.c: New file.
52334         * m4/isnan.m4: New file.
52335
52336 2007-02-24  Bruno Haible  <bruno@clisp.org>
52337
52338         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
52339         assume that an exponent fits in 20 bits.
52340
52341 2007-02-24  Jim Meyering  <jim@meyering.net>
52342
52343         * m4/regex.m4: Update the description of the configure-time option,
52344         --without-included-regex, to state accurately what the defaults are,
52345         and perhaps to give people an idea why using this option is risky.
52346
52347 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
52348
52349         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
52350         loops on small arguments.  This attempts to avoid the problem
52351         Bruno Haible reported for AIX 4.3.2 in
52352         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
52353
52354 2007-02-23  Bruno Haible  <bruno@clisp.org>
52355
52356         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
52357         Needed for help2man.
52358
52359 2007-02-23  Karl Berry  <karl@gnu.org>
52360
52361         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
52362         exists, foo.h should be cvs-ignored, not committed.
52363
52364 2007-02-23  Eric Blake  <ebb9@byu.net>
52365
52366         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
52367         * lib/stat-time.h (includes): Likewise.
52368         * lib/utimecmp.c (includes): Likewise.
52369         * lib/utimens.h (includes): Likewise.
52370         * lib/getdate.y (includes): Also include "timespec.h" for use
52371         internal to the module.
52372         * modules/utimens (Depends-on): Revert yesterday's patch.
52373         * modules/nanosleep (Depends-on): Add missing dependency.
52374
52375 2007-02-22  Bruno Haible  <bruno@clisp.org>
52376
52377         * lib/glob.c: Don't include getlogin_r.h.
52378
52379 2007-02-22  Jim Meyering  <jim@meyering.net>
52380
52381         * modules/utimens (Depends-on): Add timespec, required for
52382         utimens.h's inclusion of timespec.h.
52383
52384 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
52385
52386         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
52387         long unreadable paths in GNU/Linux.  Problem reported by Andreas
52388         Schwab in
52389         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
52390         I'll try to think of a better way to fix the Solaris problem.
52391
52392         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
52393         like glibc; on Solaris 10, it fails with errno == EINVAL.
52394         POSIX says the behavior is unspecified if the first argument is NULL,
52395         so play it safe and never pass NULL to the system getcwd.
52396
52397 2007-02-21  Jim Meyering  <jim@meyering.net>
52398
52399         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
52400         of gettimeofday.  It would conflict with the one now always
52401         provided via sys_time_.h.  Reported by Matthew Woehlke, as
52402         an IRIX 6.5 build failure.
52403
52404 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
52405
52406         Minor fixups to port to Solaris 10 with Sun C 5.8.
52407         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
52408         * modules/getcwd (Depends-on): Add dirfd.
52409         * lib/putenv.c (putenv): #undef it.
52410         (rpl_putenv): New decl.
52411         (malloc, free): Include <stdlib.h> rather than prototyping separately.
52412
52413 2007-02-20  Bruno Haible  <bruno@clisp.org>
52414
52415         * modules/stdio-tests: New file.
52416         * tests/test-stdio.c: New file.
52417
52418         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
52419         (Depends-on): Add stdio.
52420         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52421         (Include): Use <stdio.h> instead of vsnprintf.h.
52422         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52423         HAVE_DECL_VSNPRINTF.
52424         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
52425
52426         * modules/snprintf (Files): Remove lib/snprintf.h.
52427         (Depends-on): Add stdio.
52428         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52429         (Include): Use <stdio.h> instead of snprintf.h.
52430         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52431         HAVE_DECL_SNPRINTF.
52432         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
52433         * lib/getaddrinfo.c: Likewise.
52434
52435         * modules/stdio: New file.
52436         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
52437         * lib/snprintf.h: Remove file.
52438         * lib/vsnprintf.h: Remove file.
52439         * lib/.cppi-disable: Remove snprintf.h.
52440         * m4/stdio_h.m4: New file.
52441         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
52442
52443 2007-02-20  Jim Meyering  <jim@meyering.net>
52444
52445         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
52446         used by e.g., mingw.  From Bruno Haible.
52447
52448 2007-02-19  Bruno Haible  <bruno@clisp.org>
52449
52450         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
52451         warnings.
52452         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52453
52454 2007-02-19  Bruno Haible  <bruno@clisp.org>
52455
52456         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
52457         from mingw users.
52458
52459 2007-02-19  Bruno Haible  <bruno@clisp.org>
52460
52461         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
52462         warnings.
52463         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
52464
52465 2007-02-19  Jim Meyering  <jim@meyering.net>
52466
52467         Don't use FD after a successful "fdopendir (fd)".
52468         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
52469         Reset it by calling dirfd on the just-obtained DIR*.
52470
52471         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
52472         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
52473
52474 2007-02-18  Bruno Haible  <bruno@clisp.org>
52475
52476         * lib/readlink.c: Include <unistd.h>.
52477         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
52478         HAVE_READLINK.
52479         * modules/readlink (Depends-on): Add unistd.
52480         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52481         (Include): Add <unistd.h>.
52482
52483         * lib/getlogin_r.h: Remove file.
52484         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
52485         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
52486         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
52487         HAVE_DECL_GETLOGIN_R.
52488         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
52489         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52490         (Include): Use <unistd.h> instead of getlogin_r.h.
52491
52492         * lib/getcwd.h: Remove file.
52493         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
52494         * lib/xgetcwd.c: Likewise.
52495         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
52496         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
52497         * modules/getcwd (Files): Remove lib/getcwd.h.
52498         (Depends-on): Add unistd.
52499         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52500         (Include): Use <unistd.h> instad of getcwd.h.
52501
52502         * lib/ftruncate.c: Include <unistd.h> first.
52503         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
52504         Set HAVE_FTRUNCATE.
52505         * modules/ftruncate (Depends-on): Add unistd.
52506         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52507
52508         * lib/fchdir.c: Include <unistd.h> first.
52509         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
52510         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
52511         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
52512         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52513         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
52514
52515         * lib/dup2.c: Include <unistd.h> first.
52516         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
52517         HAVE_DUP2.
52518         * modules/dup2 (Depends-on): Add unistd.
52519         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52520
52521         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
52522         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
52523         REPLACE_CHOWN. Don't define chown as a macro here.
52524         * modules/chown (Depends-on): Add unistd.
52525         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52526
52527         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
52528         Add definition for GL_LINK_WARNING.
52529         (chown, dup2): New declarations.
52530         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
52531         link warning.
52532         (ftruncate): New declaration.
52533         (getcwd): New declaration, taken from old getcwd.h.
52534         (getlogin_r): New declaration, taken from old getlogin_r.h.
52535         (readlink): New declaration.
52536         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
52537         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
52538         (gl_PREREQ_UNISTD): Remove macro.
52539         (gl_UNISTD_MODULE_INDICATOR): New macro.
52540         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
52541         many new variables. Don't set UNISTD_H.
52542         * modules/unistd (Description): Change.
52543         (Depends-on): Add link-warning.
52544         (configure.ac): Update.
52545         (Makefile.am): Create unistd.h always. Substitute many new variables
52546         into it.
52547
52548 2007-02-18  Bruno Haible  <bruno@clisp.org>
52549
52550         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
52551         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
52552         HAVE_GETSUBOPT.
52553         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
52554         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
52555         * lib/getsubopt.h: Remove file.
52556         * modules/getsubopt (Files): Remove lib/getsubopt.h.
52557         (Depends-on): Add stdlib.
52558         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52559         (Includes): Use <stdlib.h> instead of getsubopt.h.
52560         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
52561         Set HAVE_GETSUBOPT.
52562         * lib/getsubopt.c: Don't include getsubopt.h.
52563
52564 2007-02-18  Bruno Haible  <bruno@clisp.org>
52565
52566         * modules/fchdir (Depends-on): Add dup2.
52567
52568 2007-02-18  Bruno Haible  <bruno@clisp.org>
52569
52570         * lib/stdlib_.h: Handle glibc's special invocation convention
52571         specially.
52572
52573 2007-02-18  Bruno Haible  <bruno@clisp.org>
52574
52575         * modules/stdlib-tests: New file.
52576         * tests/test-stdlib.c: New file.
52577
52578         * modules/mkstemp (Files): Remove lib/mkstemp.h.
52579         (Depends-on): Add stdlib.
52580         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52581         (Includes): Use <stdlib.h> instead of mkstemp.h.
52582         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52583         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
52584         * lib/mkstemp.c: Don't include mkstemp.h.
52585         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
52586         * lib/stdlib--.h: Don't include mkstemp.h.
52587
52588         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
52589         (Depends-on): Add stdlib.
52590         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52591         (Includes): Use <stdlib.h> instead of mkdtemp.h.
52592         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52593         HAVE_MKDTEMP.
52594         * lib/mkdtemp.c: Don't include mkdtemp.h.
52595         * lib/clean-temp.c: Don't include mkdtemp.h.
52596
52597         * modules/exit (Files): Remove lib/exit.h.
52598         (Depends-on): Add stdlib.
52599         (Makefile.am): Remove lib_SOURCES.
52600         (Include): Use <stdlib.h> instead of exit.h.
52601         * lib/argmatch.c: Don't include exit.h.
52602         * lib/execute.c: Likewise.
52603         * lib/pagealign_alloc.c: Likewise.
52604         * lib/pipe.c: Likewise.
52605         * lib/wait-process.c: Likewise.
52606         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
52607         * lib/exitfail.c: Likewise.
52608         * lib/savewd.c: Likewise.
52609         * lib/xsetenv.c: Likewise.
52610
52611         * modules/stdlib: New file.
52612         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
52613         and extra comments about mkstemp().
52614         * lib/exit.h: Remove file.
52615         * lib/mkdtemp.h: Remove file.
52616         * lib/mkstemp.h: Remove file.
52617         * m4/stdlib_h.m4: New file.
52618         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
52619
52620 2007-02-18  Bruno Haible  <bruno@clisp.org>
52621
52622         * modules/math-tests: New file.
52623         * tests/test-math.c: New file.
52624
52625         * modules/math: New file.
52626         * modules/mathl (Files): Remove lib/mathl.h.
52627         (Depends-on): Add math.
52628         (Makefile.am): Don't mention mathl.h.
52629         (Include): Use <math.h> instead of mathl.h.
52630         * lib/math_.h: New file.
52631         * lib/mathl.h: Remove file.
52632         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
52633         mathl.h.
52634         * lib/asinl.c: Likewise.
52635         * lib/atanl.c: Likewise.
52636         * lib/ceill.c: Likewise.
52637         * lib/cosl.c: Likewise.
52638         * lib/expl.c: Likewise.
52639         * lib/floorl.c: Likewise.
52640         * lib/frexpl.c: Likewise.
52641         * lib/ldexpl.c: Likewise.
52642         * lib/logl.c: Likewise.
52643         * lib/sincosl.c: Likewise.
52644         * lib/sinl.c: Likewise.
52645         * lib/sqrtl.c: Likewise.
52646         * lib/tanl.c: Likewise.
52647         * lib/trigl.c: Likewise.
52648         * m4/math_h.m4: New file.
52649         * MODULES.html.sh (Mathematics): Add math.
52650
52651 2007-02-17  Bruno Haible  <bruno@clisp.org>
52652
52653         * modules/wctype-tests: New file.
52654         * tests/test-wctype.c: New file.
52655
52656         * modules/wchar-tests: New file.
52657         * tests/test-wchar.c: New file.
52658
52659         * modules/unistd-tests: New file.
52660         * tests/test-unistd.c: New file.
52661
52662         * modules/time-tests: New file.
52663         * tests/test-time.c: New file.
52664
52665         * modules/sysexits-tests: New file.
52666         * tests/test-sysexits.c: New file.
52667
52668         * modules/sys_time-tests: New file.
52669         * tests/test-sys_time.c: New file.
52670
52671         * modules/sys_stat-tests: New file.
52672         * tests/test-sys_stat.c: New file.
52673
52674         * modules/sys_socket-tests: New file.
52675         * tests/test-sys_socket.c: New file.
52676
52677         * modules/sys_select-tests: New file.
52678         * tests/test-sys_select.c: New file.
52679
52680         * modules/string-tests: New file.
52681         * tests/test-string.c: New file.
52682
52683         * modules/stdbool-tests: New file.
52684         * tests/test-stdbool.c: New file.
52685
52686         * modules/netinet_in-tests: New file.
52687         * tests/test-netinet_in.c: New file.
52688
52689         * modules/inttypes-tests: New file.
52690         * tests/test-inttypes.c: New file.
52691
52692         * modules/fcntl-tests: New file.
52693         * tests/test-fcntl.c: New file.
52694
52695         * modules/byteswap-tests: New file.
52696         * tests/test-byteswap.c: New file.
52697
52698         * modules/arpa_inet-tests: New file.
52699         * tests/test-arpa_inet.c: New file.
52700
52701 2007-02-17  Bruno Haible  <bruno@clisp.org>
52702
52703         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
52704         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
52705         if the corresponding module is not enabled. Emit link warnings if
52706         the function is used nevertheless.
52707         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
52708         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
52709         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
52710         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
52711         * modules/inttypes (Depends-on): Add link-warning.
52712         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52713         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
52714         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
52715         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
52716         * modules/imaxdiv (configure.ac): Likewise.
52717         * modules/strtoimax (configure.ac): Likewise.
52718         * modules/strtoumax (configure.ac): Likewise.
52719
52720 2007-02-17  Bruno Haible  <bruno@clisp.org>
52721
52722         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
52723         gl_STRING_MODULE_INDICATOR_DEFAULTS.
52724         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
52725         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
52726
52727 2007-02-17  Bruno Haible  <bruno@clisp.org>
52728
52729         * modules/link-warning: New file.
52730         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
52731         * lib/string_.h (GL_LINK_WARNING): Remove definition.
52732         * modules/string (Depends-on): Add link-warning.
52733         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52734         string.h.
52735         * MODULES.html.sh (Support for building libraries and executables): Add
52736         link-warning.
52737
52738 2007-02-17  Bruno Haible  <bruno@clisp.org>
52739
52740         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
52741         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
52742         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
52743         long lines.
52744
52745 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
52746             Bruno Haible  <bruno@clisp.org>
52747
52748         * modules/tmpfile: New file.
52749         * lib/tmpfile.c: New file.
52750         * m4/tmpfile.m4: New file.
52751         * MODULES.html.sh (func_all_modules): New section "Input/output".
52752
52753 2007-02-15  Bruno Haible  <bruno@clisp.org>
52754
52755         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
52756         (supports_delete_on_close): New function.
52757         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
52758
52759 2007-02-14  Bruno Haible  <bruno@clisp.org>
52760
52761         * modules/mbspcasecmp-tests: New file.
52762         * tests/test-mbspcasecmp.sh: New file.
52763         * tests/test-mbspcasecmp.c: New file.
52764
52765         New module mbspcasecmp.
52766         * modules/mbspcasecmp: New file.
52767         * lib/mbspcasecmp.c: New file.
52768         * lib/string_.h (strncasecmp): Change warning message.
52769         (mbspcasecmp): New declaration.
52770         * m4/mbspcasecmp.m4: New file.
52771         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52772         GNULIB_MBSPCASECMP.
52773         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
52774         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
52775
52776 2007-02-14  Bruno Haible  <bruno@clisp.org>
52777
52778         * modules/mbsncasecmp-tests: New file.
52779         * tests/test-mbsncasecmp.sh: New file.
52780         * tests/test-mbsncasecmp.c: New file.
52781
52782         New module mbsncasecmp.
52783         * modules/mbsncasecmp: New file.
52784         * lib/mbsncasecmp.c: New file.
52785         * lib/string_.h (mbsncasecmp): New declaration.
52786         * m4/mbsncasecmp.m4: New file.
52787         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52788         GNULIB_MBSNCASECMP.
52789         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
52790         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
52791
52792 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
52793
52794         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
52795         Verify that it doesn't overlap with our flags.
52796         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
52797         do not have the desired effect in multibyte locales; instead, use
52798         mbscasecmp.
52799         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
52800         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
52801         we don't require GNU fnmatch ourselves (if our users require it, they
52802         should do so explicitly).
52803
52804         Fix regex code so it doesn't rely on strcasecmp.
52805         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
52806         Otherwise, include gnulib's langinfo.h.
52807         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
52808         undesirable behavior in non-C locales.  Instead, rely on localecharset.
52809         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
52810         * modules/regex (FILES): Remove m4/codeset.m4.
52811         (Depends-on): Add localcharset.  Remove strcase.
52812
52813 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52814
52815         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
52816         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
52817
52818 2007-02-13  Bruno Haible  <bruno@clisp.org>
52819
52820         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
52821         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52822
52823 2007-02-12  Bruno Haible  <bruno@clisp.org>
52824
52825         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52826         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
52827         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
52828         time warning rather than a link error.
52829
52830 2007-02-12  Bruno Haible  <bruno@clisp.org>
52831
52832         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
52833         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52834         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52835
52836 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52837
52838         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
52839         args, not 2.
52840
52841 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52842
52843         New module 'time', so that apps can include <time.h> as per
52844         POSIX and GNU instead of separate include files like time_r.h
52845         and timegm.h.  This implementation tries out a simpler approach
52846         for replacing decls in standard include files (as compared to
52847         the string module), somewhat as an experiment.
52848
52849         * config/srclist.txt: Comment out mktime.c for now.
52850         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
52851         since it doesn't apply any more.  Use generic wording instead.
52852         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
52853         'time'.
52854         * lib/time_.h, m4/time_h.m4, modules/time: New files.
52855         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
52856         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
52857         Don't include <sys/types.h>; no longer needed since we assume C89.
52858         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
52859         * lib/strftime.c: Likewise.
52860         * lib/time_r.c: Likewise.
52861         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
52862         * lib/nanosleep.c: Include <time.h> first, to check interface.
52863         * lib/strptime.c: Likewise.
52864         * lib/time_r.c: Likewise.
52865         * lib/timegm.c: Likewise.
52866         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
52867         needed.
52868         * lib/timegm.c: Don't include timegm.h; no longer needed.
52869         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
52870         time.h now handles any problems in that area.
52871         (struct timespec, nanosleep): Remove; time.h now arranges for these.
52872         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
52873         that time.h defines struct timespec.
52874         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
52875         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
52876         handles that.
52877         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
52878         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
52879         needed.  Set REPLACE_LOCALTIME.
52880         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
52881         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
52882         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
52883         nanosleep; time_h.m4 now does that.  Don't require
52884         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
52885         module handles this now.
52886         * modules/getdate (Depends-on): Remove timespec.  Add time.
52887         * modules/nanosleep (Depends-on): Likewise.
52888         * modules/stat-time (Depends-on): Likewise.
52889         * modules/nanosleep (Include): Include time.h, not timespec.h.
52890         * modules/strptime (Files): Remove lib/strptime.h.
52891         (Depends-on): Add extensions, time.
52892         (Include): Include time.h, not strptime.h.
52893         * modules/time_r (Files): Remove lib/time_r.h.
52894         (Depends-on): Add time.
52895         (Include): Include time.h, not time_r.h.
52896         * modules/timegm: Likewise.
52897         * modules/timespec (Description): Now does timespec-related decls
52898         of our own, instead of struct timespec itself.
52899         (Depends-on): Add time; remove extensions.
52900         (Maintainer): Add self.
52901         * modules/utimecmp (Depends-on): Add time; remove timespec.
52902         * modules/utimens (Depends-on): Likewise.
52903         * modules/xnanosleep (Depends-on): Likewise.
52904
52905 2007-02-11  Bruno Haible  <bruno@clisp.org>
52906
52907         * lib/c-strstr.c: Include allocsa.h.
52908         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52909         * lib/c-strcasestr.c: Include allocsa.h.
52910         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52911         * lib/strcasestr.c: Include allocsa.h.
52912         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52913         * lib/mbsstr.c: Include allocsa.h.
52914         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52915         allocsa/freesa instead of malloc/free.
52916         * lib/mbscasestr.c: Include allocsa.h.
52917         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52918         allocsa/freesa instead of malloc/free.
52919         * modules/c-strstr (Depends-on): Add allocsa.
52920         * modules/c-strcasestr (Depends-on): Likewise.
52921         * modules/strcasestr (Depends-on): Likewise.
52922         * modules/mbsstr (Depends-on): Likewise.
52923         * modules/mbscasestr (Depends-on): Likewise.
52924
52925 2007-02-11  Bruno Haible  <bruno@clisp.org>
52926
52927         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
52928
52929         * modules/mbsspn-tests: New file.
52930         * tests/test-mbsspn.sh: New file.
52931         * tests/test-mbsspn.c: New file.
52932
52933 2007-02-11  Bruno Haible  <bruno@clisp.org>
52934
52935         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
52936
52937         * modules/mbspbrk-tests: New file.
52938         * tests/test-mbspbrk.sh: New file.
52939         * tests/test-mbspbrk.c: New file.
52940
52941 2007-02-11  Bruno Haible  <bruno@clisp.org>
52942
52943         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
52944         unneeded cast.
52945
52946         * modules/mbscspn-tests: New file.
52947         * tests/test-mbscspn.sh: New file.
52948         * tests/test-mbscspn.c: New file.
52949
52950 2007-02-11  Bruno Haible  <bruno@clisp.org>
52951
52952         * modules/mbscasecmp-tests: New file.
52953         * tests/test-mbscasecmp.sh: New file.
52954         * tests/test-mbscasecmp.c: New file.
52955
52956 2007-02-11  Bruno Haible  <bruno@clisp.org>
52957
52958         Ensure O(n) worst-case complexity of mbscasestr.
52959         * lib/mbscasestr.c: Include stdbool.h.
52960         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52961         functions.
52962         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
52963         the bookkeeping indicates that it's worth it.
52964         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
52965
52966         * modules/mbscasestr-tests: New file.
52967         * tests/test-mbscasestr1.c: New file.
52968         * tests/test-mbscasestr2.sh: New file.
52969         * tests/test-mbscasestr2.c: New file.
52970         * tests/test-mbscasestr3.sh: New file.
52971         * tests/test-mbscasestr3.c: New file.
52972         * tests/test-mbscasestr4.sh: New file.
52973         * tests/test-mbscasestr4.c: New file.
52974         * m4/locale-tr.m4: New file.
52975
52976 2007-02-11  Bruno Haible  <bruno@clisp.org>
52977
52978         Ensure O(n) worst-case complexity of mbsstr.
52979         * lib/mbsstr.c: Include stdbool.h.
52980         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52981         functions.
52982         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
52983         bookkeeping indicates that it's worth it.
52984         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
52985
52986         * modules/mbsstr-tests: New file.
52987         * tests/test-mbsstr1.c: New file.
52988         * tests/test-mbsstr2.sh: New file.
52989         * tests/test-mbsstr2.c: New file.
52990         * tests/test-mbsstr3.sh: New file.
52991         * tests/test-mbsstr3.c: New file.
52992         * m4/locale-fr.m4: New file.
52993
52994 2007-02-11  Bruno Haible  <bruno@clisp.org>
52995
52996         * lib/mbsrchr.c (mbsrchr): Fix bug.
52997
52998         * modules/mbsrchr-tests: New file.
52999         * tests/test-mbsrchr.sh: New file.
53000         * tests/test-mbsrchr.c: New file.
53001
53002 2007-02-11  Bruno Haible  <bruno@clisp.org>
53003
53004         * lib/mbschr.c (mbschr): Fix bug.
53005
53006         * modules/mbschr-tests: New file.
53007         * tests/test-mbschr.sh: New file.
53008         * tests/test-mbschr.c: New file.
53009         * m4/locale-zh.m4: New file.
53010
53011 2007-02-11  Bruno Haible  <bruno@clisp.org>
53012
53013         Support for copying multibyte string iterators.
53014         * lib/mbiter.h: Include <string.h>.
53015         (mbiter_multi_copy): New function.
53016         (mbi_copy): New macro.
53017         * lib/mbuiter.h: Include <string.h>.
53018         (mbuiter_multi_copy): New function.
53019         (mbui_copy): New macro.
53020
53021 2007-02-11  Bruno Haible  <bruno@clisp.org>
53022
53023         New module mbslen.
53024         * modules/mbslen: New file.
53025         * lib/mbslen.c: New file.
53026         * lib/string_.h (mbslen): New declaration.
53027         * m4/mbslen.m4: New file.
53028         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53029         GNULIB_MBSLEN.
53030         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
53031         * MODULES.html.sh (Internationalization functions): Add mbslen.
53032
53033 2007-02-11  Bruno Haible  <bruno@clisp.org>
53034
53035         Ensure O(n) worst-case complexity of strcasestr substitute.
53036         * lib/strcasestr.c: Include stdbool.h.
53037         (knuth_morris_pratt): New function.
53038         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
53039         bookkeeping indicates that it's worth it.
53040         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
53041
53042         * modules/strcasestr-tests: New file.
53043         * tests/test-strcasestr.c: New file.
53044
53045 2007-02-11  Bruno Haible  <bruno@clisp.org>
53046
53047         Ensure O(n) worst-case complexity of c_strcasestr.
53048         * lib/c-strcasestr.c: Include stdbool.h, string.h.
53049         (knuth_morris_pratt): New function.
53050         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
53051         the bookkeeping indicates that it's worth it.
53052         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
53053
53054         * modules/c-strcasestr-tests: New file.
53055         * tests/test-c-strcasestr.c: New file.
53056
53057 2007-02-11  Bruno Haible  <bruno@clisp.org>
53058
53059         Ensure O(n) worst-case complexity of c_strstr.
53060         * lib/c-strstr.c: Include stdbool.h, string.h.
53061         (knuth_morris_pratt): New function.
53062         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
53063         bookkeeping indicates that it's worth it.
53064         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
53065
53066         * lib/c-strstr.c: Complete rewrite for maintainability.
53067
53068         * modules/c-strstr-tests: New file.
53069         * tests/test-c-strstr.c: New file.
53070
53071 2007-02-11  Bruno Haible  <bruno@clisp.org>
53072
53073         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
53074         5.2.1 and earlier, whereby \055 was treated just like the range
53075         delimiter '-'.
53076         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53077
53078 2007-02-08  Bruno Haible  <bruno@clisp.org>
53079
53080         * modules/regex (Depends-on): Add stdbool.
53081         Reported by Dalibor Topic <robilad@kaffe.org>.
53082
53083 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
53084
53085         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
53086         Prefer returning from main to exiting from it.
53087         Remove unnecessary parens after sizeof.
53088
53089 2007-02-05  Bruno Haible  <bruno@clisp.org>
53090
53091         New module mbssep.
53092         * modules/mbssep: New file.
53093         * lib/mbssep.c: New file.
53094         * lib/string_.h (strsep): Add a conditional link warning.
53095         (mbssep): New declaration.
53096         * m4/mbssep.m4: New file.
53097         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53098         GNULIB_MBSSEP.
53099         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
53100         * MODULES.html.sh (Internationalization functions): Add mbssep.
53101
53102 2007-02-05  Bruno Haible  <bruno@clisp.org>
53103
53104         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
53105         Optimize search in case of 1 delimiter.
53106
53107 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
53108
53109         * lib/acl.h: Include sys/types.h before sys/acl.h.
53110
53111 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
53112
53113         Merge upstream fix for glibc bugzilla #3957:
53114
53115         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
53116
53117         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
53118         bit for RE_HAT_LISTS_NOT_NEWLINE.
53119         (build_charclass_op): Remove bogus comment.
53120
53121 2007-02-05  Simon Josefsson  <simon@josefsson.org>
53122
53123         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
53124
53125 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53126
53127         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
53128         * lib/memmem.c [!defined _LIBC]: Include config.h.
53129
53130 2007-02-04  Bruno Haible  <bruno@clisp.org>
53131
53132         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
53133         warning message.
53134
53135 2007-02-04  Bruno Haible  <bruno@clisp.org>
53136
53137         New module mbstok_r.
53138         * modules/mbstok_r: New file.
53139         * lib/mbstok_r.c: New file.
53140         * lib/string_.h (strtok_r): Change argument names to match the
53141         comments. Add a conditional link warning.
53142         (mbstok_r): New declaration.
53143         * m4/mbstok_r.m4: New file.
53144         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53145         GNULIB_MBSTOK_R.
53146         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
53147         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
53148
53149 2007-02-04  Bruno Haible  <bruno@clisp.org>
53150
53151         New module mbsspn.
53152         * modules/mbsspn: New file.
53153         * lib/mbsspn.c: New file.
53154         * lib/string_.h (strspn): Add a conditional link warning.
53155         (mbsspn): New declaration.
53156         * m4/mbsspn.m4: New file.
53157         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53158         GNULIB_MBSSPN.
53159         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
53160         * MODULES.html.sh (Internationalization functions): Add mbsspn.
53161
53162 2007-02-04  Bruno Haible  <bruno@clisp.org>
53163
53164         New module mbspbrk.
53165         * modules/mbspbrk: New file.
53166         * lib/mbspbrk.c: New file.
53167         * lib/string_.h (strpbrk): Add a conditional link warning.
53168         (mbspbrk): New declaration.
53169         * m4/mbspbrk.m4: New file.
53170         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53171         GNULIB_MBSPBRK.
53172         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
53173         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
53174
53175 2007-02-04  Bruno Haible  <bruno@clisp.org>
53176
53177         New module mbscspn.
53178         * modules/mbscspn: New file.
53179         * lib/mbscspn.c: New file.
53180         * lib/string_.h (strcspn): Add a conditional link warning.
53181         (mbscspn): New declaration.
53182         * m4/mbscspn.m4: New file.
53183         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53184         GNULIB_MBSCSPN.
53185         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
53186         * MODULES.html.sh (Internationalization functions): Add mbscspn.
53187
53188 2007-02-04  Bruno Haible  <bruno@clisp.org>
53189
53190         New module mbscasestr, reduced goal of strcasestr.
53191         * modules/mbscasestr: New file.
53192         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
53193         (mbscasestr): Renamed from strcasestr.
53194         * lib/strcasestr.c: Don't include mbuiter.h.
53195         (strcasestr): Remove support for multibyte locales.
53196         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
53197         Change the conditional link warning.
53198         (mbscasestr): New declaration.
53199         * m4/mbscasestr.m4: New file.
53200         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
53201         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
53202         REPLACE_STRCASESTR.
53203         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
53204         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53205         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
53206         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
53207         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
53208         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
53209         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
53210         (Depends-on): Remove mbuiter.
53211         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
53212
53213 2007-02-04  Bruno Haible  <bruno@clisp.org>
53214
53215         Simplify handling of strncasecmp.
53216         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
53217         the conditional link warning.
53218         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53219         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
53220         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
53221         * modules/strcase (configure.ac): Don't invoke
53222         gl_STRING_MODULE_INDICATOR.
53223         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
53224
53225 2007-02-04  Bruno Haible  <bruno@clisp.org>
53226
53227         New module mbscasecmp, reduced goal of strcasecmp.
53228         * modules/mbscasecmp: New file.
53229         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
53230         (mbscasecmp): Renamed from strcasecmp.
53231         * lib/strcasecmp.c: Don't include mbuiter.h.
53232         (strcasecmp): Remove support for multibyte locales.
53233         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
53234         Change the conditional link warning.
53235         (mbscasecmp): New declaration.
53236         * m4/mbscasecmp.m4: New file.
53237         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
53238         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
53239         REPLACE_STRCASECMP.
53240         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
53241         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53242         GNULIB_MBSCASECMP.
53243         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
53244         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
53245         * modules/strcase (Files): Remove m4/mbrtowc.m4.
53246         (Depends-on): Remove mbuiter.
53247         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
53248
53249 2007-02-04  Bruno Haible  <bruno@clisp.org>
53250
53251         New module mbsstr. Remove module strstr.
53252         * modules/mbsstr: New file.
53253         * modules/strstr: Remove file.
53254         * lib/mbsstr.c: Renamed from lib/strstr.c.
53255         (mbsstr): Renamed from strstr.
53256         * lib/string_.h (strstr): Remove declaration. Change the conditional
53257         link warning.
53258         (mbsstr): New declaration.
53259         * m4/mbsstr.m4: New file.
53260         * m4/strstr.m4: Remove file.
53261         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
53262         REPLACE_STRSTR.
53263         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
53264         Don't initialize GNULIB_STRSTR.
53265         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
53266         substitute GNULIB_STRSTR and REPLACE_STRSTR.
53267         * MODULES.html.sh (Internationalization functions): Add mbsstr.
53268         (Support for systems lacking ANSI C 89): Remove strstr.
53269
53270 2007-02-04  Bruno Haible  <bruno@clisp.org>
53271
53272         New module mbsrchr.
53273         * modules/mbsrchr: New file.
53274         * lib/mbsrchr.c: New file.
53275         * lib/string_.h (strrchr): Add a conditional link warning.
53276         (mbsrchr): New declaration.
53277         * m4/mbsrchr.m4: New file.
53278         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53279         GNULIB_MBSRCHR.
53280         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
53281         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
53282
53283 2007-02-04  Bruno Haible  <bruno@clisp.org>
53284
53285         New module mbschr.
53286         * modules/mbschr: New file.
53287         * lib/mbschr.c: New file.
53288         * lib/string_.h (strchr): Add a conditional link warning.
53289         (mbschr): New declaration.
53290         * m4/mbschr.m4: New file.
53291         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53292         GNULIB_MBSCHR.
53293         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
53294         * MODULES.html.sh (Internationalization functions): Add mbschr.
53295
53296 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53297
53298         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
53299
53300         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
53301
53302 2007-02-04  Bruno Haible  <bruno@clisp.org>
53303
53304         New module description section 'configure.ac-early'.
53305         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
53306         (func_get_autoconf_early_snippet): New function.
53307         (func_import, func_create_testdir): Use it. Remove special cases for
53308         modules 'extensions' and 'lock'.
53309         * modules/extensions (configure.ac-early): Require
53310         gl_USE_SYSTEM_EXTENSIONS.
53311         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
53312
53313 2007-02-04  Bruno Haible  <bruno@clisp.org>
53314
53315         Make use of gcj-4.3's -fsource and -ftarget option.
53316         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
53317         and if so try the options -fsource and -ftarget.
53318         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
53319         source_version, ftarget_option, target_version arguments.
53320         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
53321         (is_envjavac_oldgcj_14_14_usable): Renamed from
53322         is_envjavac_gcj_14_14_usable.
53323         (is_envjavac_oldgcj_14_13_usable): Renamed from
53324         is_envjavac_gcj_14_13_usable.
53325         (is_gcj_present): Update.
53326         (is_gcj_43, is_gcj43_usable): New functions.
53327         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
53328         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
53329         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
53330         try the options -fsource and -ftarget.
53331
53332 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53333
53334         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
53335         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
53336         larger value.
53337
53338 2007-02-03  Jim Meyering  <jim@meyering.net>
53339
53340         Give tools a better chance to allocate space for very large buffers.
53341         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
53342
53343         Make pwd and readlink work also when run with an unreadable parent dir
53344         on systems with openat support.
53345         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
53346         provided getcwd function, even when we have openat support.
53347         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
53348
53349 2007-02-02  Bruno Haible  <bruno@clisp.org>
53350
53351         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53352         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
53353         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
53354         portability problems if one of these functions is only used on specific
53355         platforms.
53356         Reported by Paul Eggert.
53357
53358 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
53359
53360         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
53361         is causing more trouble than it's curing.
53362         * lib/regex_internal.h (__mempcpy): Remove.
53363         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
53364         (and make the code a tad smaller to boot).
53365         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
53366
53367 2007-02-02  Jim Meyering  <jim@meyering.net>
53368
53369         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
53370         section, not in the Makefile.am: one.
53371
53372 2007-02-02  Eric Blake  <ebb9@byu.net>
53373
53374         * lib/strchrnul.c: Always include config.h first.
53375
53376         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
53377         gnulib strstr is not necessary here.
53378
53379 2007-02-02  Simon Josefsson  <simon@josefsson.org>
53380
53381         * m4/socklen.m4: Fix typo.
53382
53383 2007-02-02  Eric Blake  <ebb9@byu.net>
53384
53385         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
53386         * modules/netinet_in (Makefile.am): Likewise.
53387
53388 2007-02-01  Bruno Haible  <bruno@clisp.org>
53389
53390         * lib/string_.h (GL_LINK_WARNING): New macro.
53391         (strcasecmp, strstr, strcasestr): If provided by the system,
53392         conditionally define as a macro that leads to a warning instead of to
53393         an error.
53394         (strncasecmp): Conditionally define as a macro that leads to a warning.
53395
53396 2007-02-01  Karl Berry  <karl@gnu.org>
53397
53398         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
53399
53400 2007-02-01  Bruno Haible  <bruno@clisp.org>
53401
53402         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
53403         renamings.
53404
53405 2007-02-01  Eric Blake  <ebb9@byu.net>
53406
53407         * modules/regex (Depends-on): Revert dependence on mempcpy.
53408         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
53409         module's definition of mempcpy.
53410         Reported by Paul Eggert.
53411
53412 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
53413
53414         * lib/string_.h: If the gnulib module XYZ is not present, undefine
53415         the symbol XYZ before redefining it.  This fixes a problem with
53416         programs that don't use XYZ, when compiled on systems that define
53417         XYZ to something else.
53418
53419 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
53420
53421         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
53422         occurs when "mkdir -m foo" creates a setgid directory that is (1)
53423         writeable to group or other and (2) is intended to have a special
53424         mode bit that is set or cleared.  In such a case, the directory
53425         should be neither group- nor other-writeable until the special
53426         mode bits are right.
53427
53428 2007-01-31  Eric Blake  <ebb9@byu.net>
53429
53430         * modules/mountlist (Depends-on): Add strstr.
53431
53432         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
53433         bug.
53434         * modules/string (Makefile.am): Remove redundant replacement.
53435         * modules/regex (Depends-on): Add mempcpy.
53436
53437 2007-01-31  Bruno Haible  <bruno@clisp.org>
53438
53439         New module description field 'Link'.
53440         * gnulib-tool (func_usage): Document --extract-link-directive.
53441         (sed_extract_prog): Recognize 'Link' directive.
53442         (func_get_link_directive): New function.
53443         (func_import): Show summary of link directives.
53444         Handle --extract-link-directive option.
53445         * modules/acl (Link): New section.
53446         * modules/clock-time (Link): New section.
53447         * modules/euidaccess (Link): New section.
53448         * modules/gettext (Link): New section.
53449         * modules/iconv (Link): New section.
53450         * modules/lock (Link): New section.
53451         * modules/nanosleep (Link): New section.
53452         * modules/readline (Link): New section.
53453
53454 2007-01-27  Bruno Haible  <bruno@clisp.org>
53455
53456         Enforce the use of gnulib modules for unportable <string.h> functions.
53457         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
53458         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
53459         (gl_HEADER_STRING_H_BODY): Require it.
53460         * lib/string_.h: If the gnulib module XYZ is not present, redefine
53461         the symbol XYZ to one that gives a link error.
53462         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
53463         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
53464         * modules/mempcpy (configure.ac): Likewise.
53465         * modules/memrchr (configure.ac): Likewise.
53466         * modules/stpcpy (configure.ac): Likewise.
53467         * modules/stpncpy (configure.ac): Likewise.
53468         * modules/strcase (configure.ac): Likewise.
53469         * modules/strcasestr (configure.ac): Likewise.
53470         * modules/strchrnul (configure.ac): Likewise.
53471         * modules/strdup (configure.ac): Likewise.
53472         * modules/strndup (configure.ac): Likewise.
53473         * modules/strnlen (configure.ac): Likewise.
53474         * modules/strpbrk (configure.ac): Likewise.
53475         * modules/strsep (configure.ac): Likewise.
53476         * modules/strstr (configure.ac): Likewise.
53477         * modules/strtok_r (configure.ac): Likewise.
53478
53479 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
53480
53481         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
53482
53483 2007-01-30  Jim Meyering  <jim@meyering.net>
53484
53485         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
53486
53487 2007-01-29  Bruno Haible  <bruno@clisp.org>
53488
53489         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
53490         * lib/execute.c: Likewise.
53491         * lib/pipe.c: Likewise.
53492         * lib/printf-args.h: Likewise.
53493         * lib/printf-args.c: Likewise.
53494         * lib/printf-parse.c: Likewise.
53495         * lib/vasnprintf.c: Likewise.
53496
53497 2007-01-29  Eric Blake  <ebb9@byu.net>
53498
53499         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
53500         declaration.
53501
53502 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
53503
53504         * lib/strptime.h (strptime): Use 'restrict' for args where
53505         POSIX requires this.
53506         * lib/strptime.c (strptime): Likewise.
53507         Change license notice from LGPL to GPL, since gnulib-tool will
53508         change this as needed.
53509         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
53510         defined.
53511         Include "strptime.h" first, to check interface.
53512         Do not #undef _LIBC and _NL_CURRENT.
53513         Do not include <stdlib.h>; no longer needed.
53514         Include "time_r.h" and declare ptime_locale_status
53515         only if _LIBC is not defined.
53516         (__P): Remove unused macro.
53517         (match_string): Bring back glibc version, but use it only if _LIBC
53518         is defined.
53519         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
53520         Remove unnecessary assertion and abort() call.
53521         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
53522         * m4/strptime.m4: Fix serial number comment.
53523         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
53524         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
53525         (Depends-on): Add time_r.
53526
53527 2007-01-29  Bruno Haible  <bruno@clisp.org>
53528
53529         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53530         strptime.
53531         * modules/strptime (Depends-on): Add stdbool.
53532         * lib/strptime.h: Include <time.h> always. Add comments.
53533
53534 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53535
53536         * modules/strptime: New file.
53537         * lib/strptime.h: New file.
53538         * lib/strptime.c: New file.
53539         * m4/strptime.m4: New file.
53540
53541 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53542
53543         * MODULES.html.sh: New module mpsort.
53544         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
53545
53546         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
53547         a circularity problem with HP-UX ia64 reported by Bob Proulx in
53548         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
53549         All uses changed.
53550         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
53551         All uses changed.
53552         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
53553         to _Restrict_.
53554         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
53555         the parameter matches the prototype.
53556
53557 2007-01-28  Jim Meyering  <jim@meyering.net>
53558
53559         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
53560         sys/time.h here, reverting that part of the previous patch:
53561         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
53562
53563 2007-01-28  Bruno Haible  <bruno@clisp.org>
53564
53565         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
53566         value of $(SYS_TIME_H).
53567         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
53568         remove it conditionally, too. [added by Jim Meyering]
53569         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
53570         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53571         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
53572         GETTIMEOFDAY_REPLACEMENT to 1.
53573
53574 2007-01-28  Bruno Haible  <bruno@clisp.org>
53575
53576         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
53577         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
53578         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
53579         Set UNISTD_H instead of UNISTD_H2.
53580         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
53581
53582 2007-01-28  Bruno Haible  <bruno@clisp.org>
53583
53584         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
53585         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
53586
53587 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53588
53589         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
53590         (func_create_testdir): Ensure C locale for `grep' and `tr'
53591         character ranges.
53592         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
53593         ACLOCAL_AMFLAGS parsing state machine.
53594
53595 2007-01-27  Bruno Haible  <bruno@clisp.org>
53596
53597         * modules/unistr/base: Update.
53598
53599 2007-01-27  Bruno Haible  <bruno@clisp.org>
53600
53601         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
53602         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
53603         * modules/unistr/u32-mbtouc-unsafe: Renamed from
53604         modules/unistr/u32-mbtouc.
53605         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
53606         * lib/unistr.h: Update.
53607         * lib/linebreak.c: Update.
53608         * modules/unistr/u32-mbtouc: Renamed from
53609         modules/unistr/u32-mbtouc-safe.
53610         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
53611         * lib/unistr.h: Update.
53612         * lib/unistr/u32-to-u8.c: Update.
53613         * lib/unistr/u32-to-u16.c: Update.
53614
53615 2007-01-27  Bruno Haible  <bruno@clisp.org>
53616
53617         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
53618         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
53619         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
53620         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
53621         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
53622         * modules/unistr/u16-mbtouc-unsafe: Renamed from
53623         modules/unistr/u16-mbtouc.
53624         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
53625         * lib/unistr.h: Update.
53626         * lib/linebreak.c: Update.
53627         * modules/linebreak: Update.
53628         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
53629         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
53630         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
53631         * modules/unistr/u16-mbtouc: Renamed from
53632         modules/unistr/u16-mbtouc-safe.
53633         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
53634         * lib/unistr.h: Update.
53635         * lib/unistr/u16-to-u8.c: Update.
53636         * modules/unistr/u16-to-u8: Update.
53637         * lib/unistr/u16-to-u32.c: Update.
53638         * modules/unistr/u16-to-u32: Update.
53639
53640 2007-01-27  Bruno Haible  <bruno@clisp.org>
53641
53642         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
53643         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
53644         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
53645         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
53646         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
53647         * modules/unistr/u8-mbtouc-unsafe: Renamed from
53648         modules/unistr/u8-mbtouc.
53649         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
53650         * lib/unistr.h: Update.
53651         * lib/striconveh.c: Update.
53652         * modules/striconveh: Update.
53653         * lib/linebreak.c: Update.
53654         * modules/linebreak: Update.
53655         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
53656         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
53657         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
53658         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
53659         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
53660         * lib/unistr.h: Update.
53661         * lib/striconveh.c: Update.
53662         * modules/striconveh: Update.
53663         * lib/unistr/u8-to-u16.c: Update.
53664         * modules/unistr/u8-to-u16: Update.
53665         * lib/unistr/u8-to-u32.c: Update.
53666         * modules/unistr/u8-to-u32: Update.
53667
53668 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53669
53670         Sync from Libtool.
53671         * lib/argz.c: Do not include strings.h nor memory.h, include
53672         string.h unconditionally.  Patch by Simon Josefsson.
53673
53674 2007-01-27  Bruno Haible  <bruno@clisp.org>
53675
53676         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
53677         from gl_HEADER_STRING_H_BODY.
53678         (gl_HEADER_STRING_H_BODY): Require it.
53679         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
53680         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
53681         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
53682         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
53683         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53684         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
53685         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53686         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
53687         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
53688         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53689         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
53690         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
53691         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
53692         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53693         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
53694
53695 2007-01-27  Bruno Haible  <bruno@clisp.org>
53696
53697         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
53698         check_PROGRAMS into noinst_PROGRAMS.
53699         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
53700         check_PROGRAMS in this case.
53701         (func_import): Set for_test to false.
53702         (func_create_testdir): Set for_test to true.
53703
53704 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53705             Bruno Haible  <bruno@clisp.org>
53706
53707         * modules/strcasestr (Files): Remove lib/strcasestr.h.
53708         (Depends-on): Add string.
53709         (Includes): Use <string.h> instead of strcasestr.h.
53710         * modules/string (Makefile.am): Also substitute the value of
53711         REPLACE_STRCASESTR.
53712         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
53713         assume strcasestr is declared in <string.h> not <strings.h>. Also
53714         set REPLACE_STRCASESTR.
53715         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
53716         REPLACE_STRCASESTR.
53717         * lib/strcasestr.h: Remove file.
53718         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
53719         * lib/string_.h (strcasestr): New declaration.
53720
53721 2007-01-27  Bruno Haible  <bruno@clisp.org>
53722
53723         * lib/string_.h: Use 'extern'.
53724
53725 2007-01-27  Jim Meyering  <jim@meyering.net>
53726
53727         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
53728         of set-but-not-used local, "q".
53729
53730         * lib/mempcpy.c: Include <config.h> before <string.h>.
53731         This fixes a compilation error on HP-UX, due to the system's
53732         "restrict"-using mempcpy prototype.
53733
53734 2007-01-26  Bruno Haible  <bruno@clisp.org>
53735
53736         Small optimization.
53737         * lib/javacomp.c: Include c-strstr.h.
53738          (is_envjavac_gcj): Use c_strstr instead of strstr.
53739         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
53740
53741 2007-01-26  Bruno Haible  <bruno@clisp.org>
53742
53743         * MODULES.html.sh (Unicode string functions): Add the new modules.
53744
53745         * modules/uniconv/u32-strconv-to-locale: New file.
53746         * lib/uniconv/u32-strconv-to-locale.c: New file.
53747
53748         * modules/uniconv/u16-strconv-to-locale: New file.
53749         * lib/uniconv/u16-strconv-to-locale.c: New file.
53750
53751         * modules/uniconv/u8-strconv-to-locale: New file.
53752         * lib/uniconv/u8-strconv-to-locale.c: New file.
53753
53754         * modules/uniconv/u32-strconv-from-locale: New file.
53755         * lib/uniconv/u32-strconv-from-locale.c: New file.
53756
53757         * modules/uniconv/u16-strconv-from-locale: New file.
53758         * lib/uniconv/u16-strconv-from-locale.c: New file.
53759
53760         * modules/uniconv/u8-strconv-from-locale: New file.
53761         * lib/uniconv/u8-strconv-from-locale.c: New file.
53762
53763         * modules/uniconv/u32-strconv-to-enc: New file.
53764         * lib/uniconv/u32-strconv-to-enc.c: New file.
53765         * modules/uniconv/u32-strconv-to-enc-tests: New file.
53766         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
53767
53768         * modules/uniconv/u16-strconv-to-enc: New file.
53769         * lib/uniconv/u16-strconv-to-enc.c: New file.
53770         * lib/uniconv/u-strconv-to-enc.h: New file.
53771         * modules/uniconv/u16-strconv-to-enc-tests: New file.
53772         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
53773
53774         * modules/uniconv/u8-strconv-to-enc: New file.
53775         * lib/uniconv/u8-strconv-to-enc.c: New file.
53776         * modules/uniconv/u8-strconv-to-enc-tests: New file.
53777         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
53778
53779         * modules/uniconv/u32-strconv-from-enc: New file.
53780         * lib/uniconv/u32-strconv-from-enc.c: New file.
53781         * modules/uniconv/u32-strconv-from-enc-tests: New file.
53782         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
53783
53784         * modules/uniconv/u16-strconv-from-enc: New file.
53785         * lib/uniconv/u16-strconv-from-enc.c: New file.
53786         * modules/uniconv/u16-strconv-from-enc-tests: New file.
53787         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
53788
53789         * modules/uniconv/u8-strconv-from-enc: New file.
53790         * lib/uniconv/u8-strconv-from-enc.c: New file.
53791         * lib/uniconv/u-strconv-from-enc.h: New file.
53792         * modules/uniconv/u8-strconv-from-enc-tests: New file.
53793         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
53794
53795         * modules/uniconv/u32-conv-from-enc: New file.
53796         * lib/uniconv/u32-conv-from-enc.c: New file.
53797         * modules/uniconv/u32-conv-from-enc-tests: New file.
53798         * tests/uniconv/test-u32-conv-from-enc.c: New file.
53799
53800         * modules/uniconv/u16-conv-from-enc: New file.
53801         * lib/uniconv/u16-conv-from-enc.c: New file.
53802         * lib/uniconv/u-conv-from-enc.h: New file.
53803         * modules/uniconv/u16-conv-from-enc-tests: New file.
53804         * tests/uniconv/test-u16-conv-from-enc.c: New file.
53805
53806         * modules/uniconv/u8-conv-from-enc: New file.
53807         * lib/uniconv/u8-conv-from-enc.c: New file.
53808         * modules/uniconv/u8-conv-from-enc-tests: New file.
53809         * tests/uniconv/test-u8-conv-from-enc.c: New file.
53810
53811         * modules/uniconv/base: New file.
53812         * lib/uniconv.h: New file.
53813
53814 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
53815
53816         * doc/gnulib-tool.texi (Initial import): Update to match current
53817         behavior with strdup module.
53818         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
53819         * lib/memmem.h: Remove; all uses removed.  This is now done
53820         by <string.h>.
53821         * lib/mempcpy.h: Likewise.
53822         * lib/memrchr.h: Likewise.
53823         * lib/stpcpy.h: Likewise.
53824         * lib/stpncpy.h: Likewise.
53825         * lib/strcase.h: Likewise.
53826         * lib/strchrnul.h: Likewise.
53827         * lib/strdup.h: Likewise.
53828         * lib/strndup.h: Likewise.
53829         * lib/strnlen.h: Likewise.
53830         * lib/strpbrk.h: Likewise.
53831         * lib/strsep.h: Likewise.
53832         * lib/strstr.h: Likewise.
53833         * lib/strtok_r.h: Likewise.
53834         * lib/string_.h: New file.
53835         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
53836         Rely on <string.h> instead.
53837         * lib/canon-host.c: Likewise.
53838         * lib/chdir-long.c: Likewise.
53839         * lib/concatpath.c: Likewise.
53840         * lib/exclude.c: Likewise.
53841         * lib/fchdir.c: Likewise.
53842         * lib/getaddrinfo.c: Likewise.
53843         * lib/getcwd.c: Likewise.
53844         * lib/getsubopt.c: Likewise.
53845         * lib/glob.c: Likewise.
53846         * lib/hard-locale.c: Likewise.
53847         * lib/iconvme.c: Likewise.
53848         * lib/javacomp.c: Likewise.
53849         * lib/mempcpy.c: Likewise.
53850         * lib/memrchr.c: Likewise.
53851         * lib/regex_internal.h: Likewise.
53852         * lib/stpncpy.c: Likewise.
53853         * lib/strcasecmp.c: Likewise.
53854         * lib/strchrnul.c: Likewise.
53855         * lib/strdup.c: Likewise.
53856         * lib/striconv.c: Likewise.
53857         * lib/striconveh.c: Likewise.
53858         * lib/striconveha.c: Likewise.
53859         * lib/strncasecmp.c: Likewise.
53860         * lib/strndup.c: Likewise.
53861         * lib/strnlen.c: Likewise.
53862         * lib/strsep.c: Likewise.
53863         * lib/strstr.c: Likewise.
53864         * lib/strtok_r.c: Likewise.
53865         * lib/userspec.c: Likewise.
53866         * lib/w32spawn.h: Likewise.
53867         * lib/xstrndup.c: Likewise.
53868         * lib/mountlist.c (strstr): Remove decl.
53869         * m4/string_h.m4: New file.
53870         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
53871         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
53872         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
53873         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
53874         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
53875         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
53876         Set REPLACE_STRCASECMP if necessary.
53877         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
53878         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
53879         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
53880         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
53881         HAVE_DECL_STRDUP if necessary.
53882         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
53883         since gl_FUNC_STRNDUP does that now.
53884         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
53885         Check for decl here...
53886         (gl_PREREQ_STRNLEN): ... not here.
53887         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
53888         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
53889         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
53890         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
53891         necessary.
53892         * modules/string: New file.
53893         * modules/memmem (Files): Remove special-purpose include file.
53894         (Depends-on): Add string.
53895         (Include): Include <string.h>, not the removed file.
53896         * modules/mempcpy: Likewise.
53897         * modules/memrchr: Likewise.
53898         * modules/stpcpy: Likewise.
53899         * modules/stpncpy: Likewise.
53900         * modules/strcase: Likewise.
53901         * modules/strchrnul: Likewise.
53902         * modules/strdup: Likewise.
53903         * modules/strndup: Likewise.
53904         * modules/strnlen: Likewise.
53905         * modules/strpbrk: Likewise.
53906         * modules/strsep: Likewise.
53907         * modules/strstr: Likewise.
53908         * modules/strtok_r: Likewise.
53909         * tests/test-dirname.c: Don't include "strdup.h", since
53910         <string.h> now suffices.
53911         * tests/test-memmem.c: Don't include "memmem.h", since
53912         <string.h> now suffices.
53913
53914 2007-01-25  Bruno Haible  <bruno@clisp.org>
53915
53916         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
53917         *resultp is 0.
53918
53919         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
53920         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
53921         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
53922         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
53923
53924         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
53925         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
53926         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
53927         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
53928         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
53929         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
53930
53931 2007-01-24  Bruno Haible  <bruno@clisp.org>
53932
53933         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
53934         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
53935         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
53936         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
53937         gl_FUNC_FTS_CORE.
53938         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
53939         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
53940         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53941         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
53942         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
53943         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
53944         gl_FUNC_FCHOWNAT.
53945         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
53946         gl_FUNC_STRFTIME.
53947         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
53948         Reported by Ralf Wildenhues.
53949
53950 2007-01-24  Bruno Haible  <bruno@clisp.org>
53951
53952         Drop AC_REQUIRE calls that are redundant with the module dependencies.
53953         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
53954         gl_GETADDRINFO.
53955         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
53956         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
53957         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
53958
53959 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
53960
53961         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
53962         Don't use 'exit'; just return from 'main'.
53963         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
53964
53965         * lib/fnmatch_.h: Readjust white space and comments to match
53966         glibc, to avoid spurious diffs.
53967
53968 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53969
53970         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
53971         2004-12-01 change by Jakub Jelinek, since this code won't compile
53972         if !LIBC.  Problem reported by Bob Proulx.
53973
53974 2007-01-23  Bruno Haible  <bruno@clisp.org>
53975
53976         * lib/striconveh.c: Include c-strcaseeq.h.
53977         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
53978         * modules/striconveh (Depends-on): Add c-strcaseeq.
53979
53980 2007-01-23  Bruno Haible  <bruno@clisp.org>
53981
53982         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
53983
53984         * modules/c-strcaseeq: New file.
53985         * lib/c-strcaseeq.h: New file.
53986
53987         * modules/streq: New file.
53988         * lib/streq.h: New file.
53989
53990 2007-01-23  Bruno Haible  <bruno@clisp.org>
53991
53992         * modules/striconveha-tests: New file.
53993         * tests/test-striconveha.c: New file.
53994
53995         * lib/striconveha.h: Include <stdbool.h>.
53996         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
53997         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
53998         (mem_iconveha_notranslit): Renamed from mem_iconveha.
53999         (mem_iconveha): New function.
54000         (str_iconveha_notranslit): Renamed from str_iconveha.
54001         (str_iconveha): New function.
54002         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
54003         c-strcase.
54004
54005 2007-01-23  Bruno Haible  <bruno@clisp.org>
54006
54007         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
54008         encodings without forgiving before trying any encoding with handler.
54009         (str_iconveha): Try all encodings without forgiving before trying any
54010         encoding with handler.
54011
54012 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54013
54014         Import the following changes from libc.
54015
54016         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
54017
54018         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
54019
54020         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54021
54022         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
54023         normal_bracket label.
54024
54025         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
54026
54027         [BZ #361]
54028         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
54029         to normal_bracket after fetching the next character.
54030
54031 2007-01-22  Bruno Haible  <bruno@clisp.org>
54032
54033         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
54034         argument.
54035         * lib/striconveh.c (iconv_carefully_1): New function.
54036         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
54037         argument.
54038         (str_cd_iconveh): Update.
54039         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
54040         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
54041         * tests/test-striconveh.c (MAGIC): New macro.
54042         (new_offsets): New function.
54043         (main): Test call with and without offsets.
54044
54045 2007-01-22  Bruno Haible  <bruno@clisp.org>
54046
54047         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
54048         * modules/sys_select (Makefile.am): Likewise.
54049         * modules/sys_socket (Makefile.am): Likewise.
54050         * modules/sys_time (Makefile.am): Likewise.
54051
54052 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
54053
54054         * modules/gettimeofday (License): Change from GPL to LGPL, since
54055         gettimeofday is a library function.
54056
54057 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54058
54059         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
54060
54061 2007-01-21  Bruno Haible  <bruno@clisp.org>
54062
54063         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
54064
54065 2007-01-21  Bruno Haible  <bruno@clisp.org>
54066
54067         * modules/striconveha: New file.
54068         * lib/striconveha.h: New file.
54069         * lib/striconveha.c: New file.
54070         * MODULES.html.sh (Internationalization functions): Add striconveha.
54071         * lib/striconv.c (str_iconv): Optimize the case of an empty input
54072         string.
54073         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
54074
54075 2007-01-21  Bruno Haible  <bruno@clisp.org>
54076
54077         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
54078         * lib/striconveh.c (str_iconveh): Likewise.
54079
54080 2007-01-21  Bruno Haible  <bruno@clisp.org>
54081
54082         * lib/striconveh.h (mem_iconveh): New declaration.
54083         * lib/striconveh.c (mem_iconveh): New function.
54084         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
54085
54086 2007-01-21  Bruno Haible  <bruno@clisp.org>
54087
54088         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
54089
54090         * lib/striconveh.h (mem_cd_iconveh): Change specification.
54091         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
54092         original result buffer.
54093         (str_cd_iconveh): Update.
54094         * tests/test-striconveh.c (main): Update.
54095
54096         * lib/striconv.h (mem_cd_iconv): Change specification.
54097         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
54098         result buffer.
54099         (str_cd_iconv): Update.
54100         * tests/test-striconv.c (main): Update.
54101
54102 2007-01-21  Bruno Haible  <bruno@clisp.org>
54103
54104         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
54105
54106 2007-01-20  Jim Meyering  <jim@meyering.net>
54107
54108         * lib/userspec.c (parse_with_separator): If a user or group string
54109         starts with "+", skip the corresponding name-to-ID look-up, since
54110         such a look-up must fail: user and group names may not include "+".
54111
54112 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54113
54114         * lib/poll.c: Include sys/time.h and time.h unconditionally,
54115         since we now assume the sys_time module.
54116         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
54117         check for sys/time.h; no longer needed.
54118         * modules/poll (Depends-on): Depend on sys_time.
54119
54120 2007-01-18  Bruno Haible  <bruno@clisp.org>
54121
54122         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
54123         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
54124
54125         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
54126         gettimeofday.
54127
54128         * tests/test-gettimeofday.c: Include <time.h>.
54129         (dummy): Remove variable.
54130
54131         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
54132         gl_HEADER_SYS_TIME_H.
54133         (gl_HEADER_SYS_TIME_H): New macro.
54134
54135         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
54136         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54137         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54138         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
54139         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54140         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
54141         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
54142         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54143         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
54144         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
54145         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54146
54147         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
54148         last change; it caused a compilation error when cross-compiling to
54149         Cygwin.
54150
54151 2007-01-18  Jim Meyering  <jim@meyering.net>
54152
54153         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
54154         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
54155         than the race-prone "test -d sys || mkdir sys".
54156         (configure.ac): Use AC_PROG_MKDIR_P.
54157         * modules/sys_select: Likewise.
54158         * modules/sys_socket: Likewise.
54159         * modules/sys_time: Likewise.
54160
54161 2007-01-18  Eric Blake  <ebb9@byu.net>
54162
54163         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
54164         replace gettimeofday.
54165         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
54166         name, to avoid infinite recursion.
54167
54168 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
54169
54170         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
54171         module sys_time.
54172         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
54173         assume timespec.h defines struct timeval.
54174         * lib/settime.c: Likewise.
54175         * lib/utimens.c: Likewise.
54176         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
54177         since we now assume the gettimeofday module.
54178         * lib/tempname.c (__gen_tempname): Likewise.
54179         * lib/gettimeofday.h: Remove.
54180         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
54181         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
54182         Include <time.h>, for 'time()'.
54183         (localtime_buffer_addr): Also use this workaround if
54184         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
54185         to simplify the uses.  All uses changed.
54186         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
54187         that #undef is inside {}, and 'const' follows type name consistently.
54188         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
54189         (gettimeofday): Do not use the maximum possible value for
54190         tv->tv_usec, since that might break usages other than ls.c.
54191         Instead, we'll leave ls.c alone.  This undoes today's patch
54192         by Bruno.  Add a compile-time warning for 1s-clock resolution;
54193         we've never observed the problem but might as well keep the
54194         canary.
54195         * lib/nanosleep.c: Include timespec.h first, for interface check.
54196         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
54197         now assume the sys_time module.
54198         * lib/tempname.c: Likewise.
54199         * lib/timespec.h: Likewise.
54200         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
54201         needed.
54202         * lib/strftime.c: Likewise.
54203         * lib/timespec.h: Likewise.
54204         * lib/posixtm.c: Include posixtm.h first, for interface check.
54205         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
54206         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
54207         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
54208         * lib/sys_time_.h: New file.
54209         * lib/timespec.h (struct timespec): Use long int, not long.
54210         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54211         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
54212         Remove obsolescent call to AC_HEADER_TIME.
54213         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
54214         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
54215         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
54216         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
54217         Likewise.
54218         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
54219         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
54220         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
54221         into the sys_time module.  Check for gettimeofday just once.
54222         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
54223         for gettimeofday signature to just check the signature.  Merely
54224         compile it, since linking doesn't test signature.  Improve test for
54225         whether gettimeofday.o is actually needed.
54226         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
54227         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
54228         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
54229         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54230         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
54231         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
54232         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
54233         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
54234         than worrying about sys/time.h.
54235         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
54236         Don't bother worrying about TIME_WITH_SYS_TIME.
54237         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
54238         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
54239         * m4/sys_time_h.m4: New file.
54240         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
54241         Don't include sys/time.h.  Return from main rather than exiting.
54242         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
54243         all uses changed.
54244         * modules/gethrxtime (Depends-on): Add sys_time.
54245         * modules/gettime (Depends-on): Likewise.
54246         * modules/gettimeofday (Depends-on): Likewise.
54247         * modules/nanosleep (Depends-on): Likewise.
54248         * modules/settime (Depends-on): Likewise.
54249         * modules/tempname (Depends-on): Likewise.
54250         * modules/utimens (Depends-on): Likewise.
54251         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
54252         (Include:) Change back to <sys/time.h>.
54253         (Maintainer:) Add self.
54254         * modules/sys_time: New file.
54255         * modules/tempname (Depends-on): Add gettimeofday.
54256         * tests/test-gettimeofday.c: Include <sys/time.h>
54257         rather than gettimeofday.h.
54258
54259 2007-01-17  Bruno Haible  <bruno@clisp.org>
54260
54261         * gnulib-tool (func_get_license): Revert last patch. Instead, let
54262         the license default to GPL.
54263         (func_create_testdir): Don't complain if a module is LGPL and its
54264         tests module depends on GPLed modules.
54265
54266 2007-01-17  Bruno Haible  <bruno@clisp.org>
54267
54268         * lib/gettimeofday.c (gettimeofday): Add code for the case
54269         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
54270         maximum possible value for tv->tv_usec, rather than the minimum one.
54271
54272 2005-10-08  Martin Lambers  <marlam@marlam.de>
54273 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54274 2007-01-16  Bruno Haible  <bruno@clisp.org>
54275
54276         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
54277         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
54278         gl_FUNC_GETTIMEOFDAY.
54279         (Include): Add gettimeofday.h.
54280         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
54281         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
54282         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
54283         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
54284         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
54285         * lib/gettimeofday.h: New file.
54286         * lib/gettimeofday.c: Include <sys/timeb.h>.
54287         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
54288         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54289         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
54290         fall back on time().
54291
54292         * tests/test-gettimeofday.c: New file.
54293         * modules/gettimeofday-tests: New file.
54294
54295 2007-01-16  Eric Blake  <ebb9@byu.net>
54296
54297         * modules/fnmatch (Depends-on): Depend on wchar.
54298         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
54299         * m4/fnmatch.m4: Likewise.
54300         * modules/mbchar (Makefile.am): Assume <wchar.h>.
54301         * m4/mbchar.m4: Likewise.
54302         * modules/mbswidth (Depends-on): Depend on wchar.
54303         * lib/mbswidth.c: Assume <wchar.h>.
54304         * m4/mbswidth.m4: Likewise.
54305         * modules/quotearg (Depends-on): Depend on wchar.
54306         * lib/quotearg.c: Assume <wchar.h>.
54307         * m4/quotearg.m4: Likewise.
54308         * modules/regex (Depends-on): Depend on wchar.
54309         * lib/regex_internal.h: Assume <wchar.h>.
54310         * m4/regex.m4: Likewise.
54311         * modules/stdint (Depends-on): Depend on wchar.
54312         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
54313         * m4/stdint.m4: Likewise.
54314         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
54315         * modules/strftime (Depends-on): Depend on wchar.
54316         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
54317         * modules/strtol (Depends-on): Depend on wchar.
54318         * lib/strtol.c: Assume <wchar.h>.
54319         * modules/wcwidth (Depends-on): Depend on wchar.
54320         * lib/wcwidth.h: Assume <wchar.h>.
54321         * m4/wcwidth.m4: Likewise.
54322
54323 2007-01-16  Bruno Haible  <bruno@clisp.org>
54324
54325         * modules/csharpexec-script: New, created from...
54326         * modules/csharpexec: ... this.
54327
54328 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54329
54330         * modules/javaexec-script: New, created from...
54331         * modules/javaexec: ... this.
54332
54333 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54334
54335         * modules/poll (Dependencies): Add sys_select.
54336
54337 2007-01-15  Jim Meyering  <jim@meyering.net>
54338
54339         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
54340         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
54341         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
54342         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
54343
54344 2007-01-15  Bruno Haible  <bruno@clisp.org>
54345
54346         * modules/striconveh: New file.
54347         * lib/striconveh.h: New file.
54348         * lib/striconveh.c: New file.
54349         * MODULES.html.sh (Internationalization functions): Add striconveh.
54350
54351         * modules/striconveh-tests: New file.
54352         * tests/test-striconveh.c: New file.
54353
54354 2007-01-15  Bruno Haible  <bruno@clisp.org>
54355
54356         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
54357         not from GNU libiconv or GNU libc.
54358
54359 2007-01-15  Bruno Haible  <bruno@clisp.org>
54360
54361         * doc/gnulib-intro.texi (Copyright): Explain the different license
54362         terms for module descriptions, autoconf macros, tests, documentation.
54363
54364 2007-01-14  Bruno Haible  <bruno@clisp.org>
54365
54366         * modules/striconv-tests: New file.
54367         * tests/test-striconv.c: New file.
54368
54369 2007-01-14  Bruno Haible  <bruno@clisp.org>
54370
54371         * modules/iconv-tests: New file.
54372         * tests/test-iconv.c: New file.
54373
54374 2007-01-14  Bruno Haible  <bruno@clisp.org>
54375
54376         * gnulib-tool (func_get_license): For test modules, use the license of
54377         the main module.
54378
54379 2007-01-14  Bruno Haible  <bruno@clisp.org>
54380
54381         * modules/iconv (Include): Clarify that <iconv.h> can only be included
54382         if iconv is found to exist.
54383
54384 2007-01-14  Bruno Haible  <bruno@clisp.org>
54385
54386         * modules/c-ctype-tests: New file.
54387         * tests/test-c-ctype.c: New file.
54388
54389 2007-01-14  Bruno Haible  <bruno@clisp.org>
54390
54391         * modules/binary-io-tests: New file.
54392         * tests/test-binary-io.sh: New file.
54393         * tests/test-binary-io.c: New file.
54394
54395 2007-01-14  Bruno Haible  <bruno@clisp.org>
54396
54397         * modules/array-oset-tests: New file.
54398         * tests/test-array_oset.c: New file.
54399
54400 2007-01-14  Bruno Haible  <bruno@clisp.org>
54401
54402         * modules/array-list-tests: New file.
54403         * tests/test-array_list.c: New file.
54404
54405 2007-01-14  Bruno Haible  <bruno@clisp.org>
54406
54407         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
54408         and make.
54409         Reported by Simon Josefsson in
54410         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
54411
54412 2007-01-14  Bruno Haible  <bruno@clisp.org>
54413
54414         * modules/allocsa-tests: New file.
54415         * tests/test-allocsa.c: New file.
54416
54417 2007-01-14  Bruno Haible  <bruno@clisp.org>
54418
54419         * modules/fchdir (Depends-on): Add absolute-header.
54420         * modules/unistd (Depends-on): Likewise.
54421
54422 2006-12-30  Bruno Haible  <bruno@clisp.org>
54423
54424         * modules/fchdir: New file.
54425         * modules/unistd (Files): Add lib/unistd_.h.
54426         (Makefile.am): Generate unistd.h from unistd_.h.
54427         * lib/fchdir.c: New file.
54428         * lib/dirent_.h: New file.
54429         * lib/unistd_.h: New file.
54430         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
54431         * m4/fchdir.m4: New file.
54432         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
54433         (gl_HEADER_UNISTD): Invoke it.
54434         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
54435         function.
54436         * lib/backupfile.c (opendir, closedir): Undefine.
54437         * lib/chown.c (open, close): Undefine.
54438         * lib/clean-temp.c (open, close): Undefine.
54439         * lib/copy-file.c (open, close): Undefine.
54440         * lib/execute.c (open, close): Undefine.
54441         * lib/fsusage.c (open, close): Undefine.
54442         * lib/gc-gnulib.c (open, close): Undefine.
54443         * lib/getcwd.c (opendir, closedir): Undefine.
54444         * lib/glob.c (opendir, closedir): Undefine.
54445         * lib/javacomp.c (open, close): Undefine.
54446         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
54447         * lib/openat-proc.c (open, close): Undefine.
54448         * lib/pagealign_alloc.c (open, close): Undefine.
54449         * lib/pipe.c (open, close): Undefine.
54450         * lib/progreloc.c (open, close): Undefine.
54451         * lib/savedir.c (opendir, closedir): Undefine.
54452         * lib/utime.c (open, close): Undefine.
54453         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
54454
54455 2007-01-10  Bruno Haible  <bruno@clisp.org>
54456
54457         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
54458
54459 2007-01-12  Eric Blake  <ebb9@byu.net>
54460
54461         Provide a robust <wchar.h>.  Further simplifications are now
54462         possible in other modules, but not included here.
54463         * modules/wchar: New module.
54464         * m4/wchar.m4: New file.
54465         * lib/wchar_.h: Likewise.
54466         * modules/mbchar (Depends-on): Depend on wchar, as the first use
54467         of the new module.
54468         * MODULES.html.sh (Extended multibyte and wide character utilities):
54469         New section.
54470
54471 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
54472
54473         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
54474         to a reasonable default for memory allocation.
54475         (xreadlink): Don't allocate a huge buffer, to work around a buggy
54476         file system that reports garbage st_size values for symlinks.
54477         Problem reported by Liyang Hu.
54478
54479 2007-01-11  Simon Josefsson  <simon@josefsson.org>
54480
54481         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
54482         Emacs .#* auto-save files).
54483
54484 2007-01-11  Bruno Haible  <bruno@clisp.org>
54485
54486         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
54487         directory.
54488
54489 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54490
54491         Use @...@ consistently in lib/wctype_.h.
54492         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
54493         on it being set to 1 or 0.
54494         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
54495         go back to AC_SUBSTing it.
54496         * modules/wctype (Makefile.am): Undo previous change.
54497
54498 2007-01-10  Eric Blake  <ebb9@byu.net>
54499
54500         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
54501         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
54502         * modules/wctype (Makefile.am): Likewise.
54503         Reported by Chris McGuire.
54504
54505 2007-01-10  Jim Meyering  <jim@meyering.net>
54506
54507         fts.c: a small readability/maintainability improvement
54508         * lib/fts.c (fts_read): Make this code slightly more readable and
54509         maintainable by hoisting the "sp->fts_cur = p" assignments to
54510         immediately follow the statements that set P.  Derived from
54511         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
54512
54513 2007-01-10  Eric Blake  <ebb9@byu.net>
54514
54515         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
54516         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
54517         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54518         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
54519         Reported by Chris McGuire.
54520
54521 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54522
54523         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
54524         in sed script.
54525
54526 2007-01-09  Bruno Haible  <bruno@clisp.org>
54527
54528         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
54529         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
54530         variables.
54531         (func_module): Use them.
54532
54533 2007-01-09  Bruno Haible  <bruno@clisp.org>
54534
54535         * modules/unistr/base: New file.
54536         * lib/unistr.h: New file.
54537
54538         * modules/unistr/u8-to-u16: New file.
54539         * lib/unistr/u8-to-u16.c: New file.
54540
54541         * modules/unistr/u8-to-u32: New file.
54542         * lib/unistr/u8-to-u32.c: New file.
54543
54544         * modules/unistr/u16-to-u8: New file.
54545         * lib/unistr/u16-to-u8.c: New file.
54546
54547         * modules/unistr/u16-to-u32: New file.
54548         * lib/unistr/u16-to-u32.c: New file.
54549
54550         * modules/unistr/u32-to-u8: New file.
54551         * lib/unistr/u32-to-u8.c: New file.
54552
54553         * modules/unistr/u32-to-u16: New file.
54554         * lib/unistr/u32-to-u16.c: New file.
54555
54556         * modules/unistr/u8-check: New file.
54557         * modules/unistr/u16-check: New file.
54558         * modules/unistr/u32-check: New file.
54559         * lib/unistr/u8-check.c: New file.
54560         * lib/unistr/u16-check.c: New file.
54561         * lib/unistr/u32-check.c: New file.
54562
54563         * modules/unistr/u8-chr: New file.
54564         * modules/unistr/u16-chr: New file.
54565         * modules/unistr/u32-chr: New file.
54566         * lib/unistr/u8-chr.c: New file.
54567         * lib/unistr/u16-chr.c: New file.
54568         * lib/unistr/u32-chr.c: New file.
54569
54570         * modules/unistr/u8-cmp: New file.
54571         * modules/unistr/u16-cmp: New file.
54572         * modules/unistr/u32-cmp: New file.
54573         * lib/unistr/u8-cmp.c: New file.
54574         * lib/unistr/u16-cmp.c: New file.
54575         * lib/unistr/u32-cmp.c: New file.
54576
54577         * modules/unistr/u8-cpy: New file.
54578         * modules/unistr/u16-cpy: New file.
54579         * modules/unistr/u32-cpy: New file.
54580         * lib/unistr/u8-cpy.c: New file.
54581         * lib/unistr/u16-cpy.c: New file.
54582         * lib/unistr/u32-cpy.c: New file.
54583         * lib/unistr/u-cpy.h: New file.
54584
54585         * modules/unistr/u8-cpy-alloc: New file.
54586         * modules/unistr/u16-cpy-alloc: New file.
54587         * modules/unistr/u32-cpy-alloc: New file.
54588         * lib/unistr/u8-cpy-alloc.c: New file.
54589         * lib/unistr/u16-cpy-alloc.c: New file.
54590         * lib/unistr/u32-cpy-alloc.c: New file.
54591         * lib/unistr/u-cpy-alloc.h: New file.
54592
54593         * modules/unistr/u8-endswith: New file.
54594         * modules/unistr/u16-endswith: New file.
54595         * modules/unistr/u32-endswith: New file.
54596         * lib/unistr/u8-endswith.c: New file.
54597         * lib/unistr/u16-endswith.c: New file.
54598         * lib/unistr/u32-endswith.c: New file.
54599         * lib/unistr/u-endswith.h: New file.
54600
54601         * modules/unistr/u8-mblen: New file.
54602         * modules/unistr/u16-mblen: New file.
54603         * modules/unistr/u32-mblen: New file.
54604         * lib/unistr/u8-mblen.c: New file.
54605         * lib/unistr/u16-mblen.c: New file.
54606         * lib/unistr/u32-mblen.c: New file.
54607
54608         * modules/unistr/u8-mbtouc: New file.
54609         * modules/unistr/u16-mbtouc: New file.
54610         * modules/unistr/u32-mbtouc: New file.
54611         * lib/unistr/u8-mbtouc.c: New file.
54612         * lib/unistr/u16-mbtouc.c: New file.
54613         * lib/unistr/u32-mbtouc.c: New file.
54614
54615         * modules/unistr/u8-mbtouc-safe: New file.
54616         * modules/unistr/u16-mbtouc-safe: New file.
54617         * modules/unistr/u32-mbtouc-safe: New file.
54618         * lib/unistr/u8-mbtouc-safe.c: New file.
54619         * lib/unistr/u16-mbtouc-safe.c: New file.
54620         * lib/unistr/u32-mbtouc-safe.c: New file.
54621
54622         * modules/unistr/u8-move: New file.
54623         * modules/unistr/u16-move: New file.
54624         * modules/unistr/u32-move: New file.
54625         * lib/unistr/u8-move.c: New file.
54626         * lib/unistr/u16-move.c: New file.
54627         * lib/unistr/u32-move.c: New file.
54628         * lib/unistr/u-move.h: New file.
54629
54630         * modules/unistr/u8-next: New file.
54631         * modules/unistr/u16-next: New file.
54632         * modules/unistr/u32-next: New file.
54633         * lib/unistr/u8-next.c: New file.
54634         * lib/unistr/u16-next.c: New file.
54635         * lib/unistr/u32-next.c: New file.
54636
54637         * modules/unistr/u8-prev: New file.
54638         * modules/unistr/u16-prev: New file.
54639         * modules/unistr/u32-prev: New file.
54640         * lib/unistr/u8-prev.c: New file.
54641         * lib/unistr/u16-prev.c: New file.
54642         * lib/unistr/u32-prev.c: New file.
54643
54644         * modules/unistr/u8-set: New file.
54645         * modules/unistr/u16-set: New file.
54646         * modules/unistr/u32-set: New file.
54647         * lib/unistr/u8-set.c: New file.
54648         * lib/unistr/u16-set.c: New file.
54649         * lib/unistr/u32-set.c: New file.
54650         * lib/unistr/u-set.h: New file.
54651
54652         * modules/unistr/u8-startswith: New file.
54653         * modules/unistr/u16-startswith: New file.
54654         * modules/unistr/u32-startswith: New file.
54655         * lib/unistr/u8-startswith.c: New file.
54656         * lib/unistr/u16-startswith.c: New file.
54657         * lib/unistr/u32-startswith.c: New file.
54658         * lib/unistr/u-startswith.h: New file.
54659
54660         * modules/unistr/u8-stpcpy: New file.
54661         * modules/unistr/u16-stpcpy: New file.
54662         * modules/unistr/u32-stpcpy: New file.
54663         * lib/unistr/u8-stpcpy.c: New file.
54664         * lib/unistr/u16-stpcpy.c: New file.
54665         * lib/unistr/u32-stpcpy.c: New file.
54666         * lib/unistr/u-stpcpy.h: New file.
54667
54668         * modules/unistr/u8-stpncpy: New file.
54669         * modules/unistr/u16-stpncpy: New file.
54670         * modules/unistr/u32-stpncpy: New file.
54671         * lib/unistr/u8-stpncpy.c: New file.
54672         * lib/unistr/u16-stpncpy.c: New file.
54673         * lib/unistr/u32-stpncpy.c: New file.
54674         * lib/unistr/u-stpncpy.h: New file.
54675
54676         * modules/unistr/u8-strcat: New file.
54677         * modules/unistr/u16-strcat: New file.
54678         * modules/unistr/u32-strcat: New file.
54679         * lib/unistr/u8-strcat.c: New file.
54680         * lib/unistr/u16-strcat.c: New file.
54681         * lib/unistr/u32-strcat.c: New file.
54682         * lib/unistr/u-strcat.h: New file.
54683
54684         * modules/unistr/u8-strchr: New file.
54685         * modules/unistr/u16-strchr: New file.
54686         * modules/unistr/u32-strchr: New file.
54687         * lib/unistr/u8-strchr.c: New file.
54688         * lib/unistr/u16-strchr.c: New file.
54689         * lib/unistr/u32-strchr.c: New file.
54690
54691         * modules/unistr/u8-strcmp: New file.
54692         * modules/unistr/u16-strcmp: New file.
54693         * modules/unistr/u32-strcmp: New file.
54694         * lib/unistr/u8-strcmp.c: New file.
54695         * lib/unistr/u16-strcmp.c: New file.
54696         * lib/unistr/u32-strcmp.c: New file.
54697
54698         * modules/unistr/u8-strcpy: New file.
54699         * modules/unistr/u16-strcpy: New file.
54700         * modules/unistr/u32-strcpy: New file.
54701         * lib/unistr/u8-strcpy.c: New file.
54702         * lib/unistr/u16-strcpy.c: New file.
54703         * lib/unistr/u32-strcpy.c: New file.
54704         * lib/unistr/u-strcpy.h: New file.
54705
54706         * modules/unistr/u8-strcspn: New file.
54707         * modules/unistr/u16-strcspn: New file.
54708         * modules/unistr/u32-strcspn: New file.
54709         * lib/unistr/u8-strcspn.c: New file.
54710         * lib/unistr/u16-strcspn.c: New file.
54711         * lib/unistr/u32-strcspn.c: New file.
54712         * lib/unistr/u-strcspn.h: New file.
54713
54714         * modules/unistr/u8-strdup: New file.
54715         * modules/unistr/u16-strdup: New file.
54716         * modules/unistr/u32-strdup: New file.
54717         * lib/unistr/u8-strdup.c: New file.
54718         * lib/unistr/u16-strdup.c: New file.
54719         * lib/unistr/u32-strdup.c: New file.
54720         * lib/unistr/u-strdup.h: New file.
54721
54722         * modules/unistr/u8-strlen: New file.
54723         * modules/unistr/u16-strlen: New file.
54724         * modules/unistr/u32-strlen: New file.
54725         * lib/unistr/u8-strlen.c: New file.
54726         * lib/unistr/u16-strlen.c: New file.
54727         * lib/unistr/u32-strlen.c: New file.
54728         * lib/unistr/u-strlen.h: New file.
54729
54730         * modules/unistr/u8-strmblen: New file.
54731         * modules/unistr/u16-strmblen: New file.
54732         * modules/unistr/u32-strmblen: New file.
54733         * lib/unistr/u8-strmblen.c: New file.
54734         * lib/unistr/u16-strmblen.c: New file.
54735         * lib/unistr/u32-strmblen.c: New file.
54736
54737         * modules/unistr/u8-strmbtouc: New file.
54738         * modules/unistr/u16-strmbtouc: New file.
54739         * modules/unistr/u32-strmbtouc: New file.
54740         * lib/unistr/u8-strmbtouc.c: New file.
54741         * lib/unistr/u16-strmbtouc.c: New file.
54742         * lib/unistr/u32-strmbtouc.c: New file.
54743
54744         * modules/unistr/u8-strncat: New file.
54745         * modules/unistr/u16-strncat: New file.
54746         * modules/unistr/u32-strncat: New file.
54747         * lib/unistr/u8-strncat.c: New file.
54748         * lib/unistr/u16-strncat.c: New file.
54749         * lib/unistr/u32-strncat.c: New file.
54750         * lib/unistr/u-strncat.h: New file.
54751
54752         * modules/unistr/u8-strncmp: New file.
54753         * modules/unistr/u16-strncmp: New file.
54754         * modules/unistr/u32-strncmp: New file.
54755         * lib/unistr/u8-strncmp.c: New file.
54756         * lib/unistr/u16-strncmp.c: New file.
54757         * lib/unistr/u32-strncmp.c: New file.
54758
54759         * modules/unistr/u8-strncpy: New file.
54760         * modules/unistr/u16-strncpy: New file.
54761         * modules/unistr/u32-strncpy: New file.
54762         * lib/unistr/u8-strncpy.c: New file.
54763         * lib/unistr/u16-strncpy.c: New file.
54764         * lib/unistr/u32-strncpy.c: New file.
54765         * lib/unistr/u-strncpy.h: New file.
54766
54767         * modules/unistr/u8-strnlen: New file.
54768         * modules/unistr/u16-strnlen: New file.
54769         * modules/unistr/u32-strnlen: New file.
54770         * lib/unistr/u8-strnlen.c: New file.
54771         * lib/unistr/u16-strnlen.c: New file.
54772         * lib/unistr/u32-strnlen.c: New file.
54773         * lib/unistr/u-strnlen.h: New file.
54774
54775         * modules/unistr/u8-strpbrk: New file.
54776         * modules/unistr/u16-strpbrk: New file.
54777         * modules/unistr/u32-strpbrk: New file.
54778         * lib/unistr/u8-strpbrk.c: New file.
54779         * lib/unistr/u16-strpbrk.c: New file.
54780         * lib/unistr/u32-strpbrk.c: New file.
54781         * lib/unistr/u-strpbrk.h: New file.
54782
54783         * modules/unistr/u8-strrchr: New file.
54784         * modules/unistr/u16-strrchr: New file.
54785         * modules/unistr/u32-strrchr: New file.
54786         * lib/unistr/u8-strrchr.c: New file.
54787         * lib/unistr/u16-strrchr.c: New file.
54788         * lib/unistr/u32-strrchr.c: New file.
54789
54790         * modules/unistr/u8-strspn: New file.
54791         * modules/unistr/u16-strspn: New file.
54792         * modules/unistr/u32-strspn: New file.
54793         * lib/unistr/u8-strspn.c: New file.
54794         * lib/unistr/u16-strspn.c: New file.
54795         * lib/unistr/u32-strspn.c: New file.
54796         * lib/unistr/u-strspn.h: New file.
54797
54798         * modules/unistr/u8-strstr: New file.
54799         * modules/unistr/u16-strstr: New file.
54800         * modules/unistr/u32-strstr: New file.
54801         * lib/unistr/u8-strstr.c: New file.
54802         * lib/unistr/u16-strstr.c: New file.
54803         * lib/unistr/u32-strstr.c: New file.
54804         * lib/unistr/u-strstr.h: New file.
54805
54806         * modules/unistr/u8-strtok: New file.
54807         * modules/unistr/u16-strtok: New file.
54808         * modules/unistr/u32-strtok: New file.
54809         * lib/unistr/u8-strtok.c: New file.
54810         * lib/unistr/u16-strtok.c: New file.
54811         * lib/unistr/u32-strtok.c: New file.
54812         * lib/unistr/u-strtok.h: New file.
54813
54814         * modules/unistr/u8-uctomb: New file.
54815         * modules/unistr/u16-uctomb: New file.
54816         * modules/unistr/u32-uctomb: New file.
54817         * lib/unistr/u8-uctomb.c: New file.
54818         * lib/unistr/u16-uctomb.c: New file.
54819         * lib/unistr/u32-uctomb.c: New file.
54820
54821         * MODULES.html.sh (Unicode string functions): Add the new modules.
54822
54823 2007-01-08  Bruno Haible  <bruno@clisp.org>
54824
54825         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
54826         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
54827         subdirectories.
54828
54829 2007-01-08  Karl Berry  <karl@gnu.org>
54830
54831         * doc/error.texi: mention that main() fns must set program_name
54832         when progname is used.
54833
54834 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
54835
54836         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
54837         WCTYPE_H is empty, for the benefit of builds from non-distclean
54838         directories.  Problem reported by Eric Blake in
54839         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
54840
54841 2007-01-08  Bruno Haible  <bruno@clisp.org>
54842
54843         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
54844         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
54845         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
54846         PROVIDE_CANONICALIZE_FILENAME_MODE.
54847         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
54848
54849 2007-01-08  Bruno Haible  <bruno@clisp.org>
54850
54851         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
54852         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
54853         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
54854         * lib/fts.c: Likewise.
54855         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
54856
54857 2006-12-25  Bruno Haible  <bruno@clisp.org>
54858
54859         * modules/utf8-ucs4-safe: New file.
54860         * lib/utf8-ucs4-safe.h: New file.
54861         * lib/unistr/utf8-ucs4-safe.c: New file.
54862
54863         * modules/utf16-ucs4-safe: New file.
54864         * lib/utf16-ucs4-safe.h: New file.
54865         * lib/unistr/utf16-ucs4-safe.c: New file.
54866
54867         * MODULES.html.sh (Unicode string functions): Add the new modules.
54868
54869 2007-01-08  Bruno Haible  <bruno@clisp.org>
54870
54871         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
54872         (Depends-on): Add unitypes.
54873         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54874         (u8_mbtouc_aux): Move out to separate file.
54875         (u8_mbtouc): Use ucs4_t, uint8_t types.
54876         * lib/unistr/utf8-ucs4.c: New file.
54877
54878         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
54879         (Depends-on): Add unitypes.
54880         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54881         (u16_mbtouc_aux): Move out to separate file.
54882         (u16_mbtouc): Use ucs4_t, uint16_t types.
54883         * lib/unistr/utf16-ucs4.c: New file.
54884
54885         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
54886         (Depends-on): Add unitypes.
54887         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
54888         (u8_uctomb_aux): Move out to separate file.
54889         (u8_uctomb): Use ucs4_t, uint8_t types.
54890         * lib/unistr/ucs4-utf8.c: New file.
54891
54892         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
54893         (Depends-on): Add unitypes.
54894         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
54895         (u16_uctomb_aux): Move out to separate file.
54896         (u16_uctomb): Use ucs4_t, uint16_t types.
54897         * lib/unistr/ucs4-utf16.c: New file.
54898
54899 2006-12-25  Bruno Haible  <bruno@clisp.org>
54900
54901         * modules/unitypes: New file.
54902         * lib/unitypes.h: New file.
54903         * MODULES.html.sh (func_all_modules): New section "Unicode string
54904         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
54905         this section. Add unitypes.
54906
54907 2007-01-08  Bruno Haible  <bruno@clisp.org>
54908
54909         Avoid variable names that conflict with those from libtool.
54910         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
54911         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
54912         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
54913         library_names_spec to acl_library_names_spec, hardcode_* to
54914         acl_hardcode_*.
54915         Reported by Ralf Wildenhues.
54916
54917 2007-01-08  Bruno Haible  <bruno@clisp.org>
54918
54919         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
54920         definition.
54921         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
54922         definition.
54923         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
54924         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
54925         definition.
54926         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
54927         definition.
54928         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
54929         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
54930         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
54931         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
54932         definition.
54933         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
54934         definition.
54935         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
54936         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
54937         GC_USE_<algorithm>.
54938         * lib/gc-libgcrypt.c: Likewise.
54939         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
54940         * modules/gc-arctwo (configure.ac): Likewise.
54941         * modules/gc-des (configure.ac): Likewise.
54942         * modules/gc-hmac-md5 (configure.ac): Likewise.
54943         * modules/gc-hmac-sha1 (configure.ac): Likewise.
54944         * modules/gc-md2 (configure.ac): Likewise.
54945         * modules/gc-md4 (configure.ac): Likewise.
54946         * modules/gc-md5 (configure.ac): Likewise.
54947         * modules/gc-random (configure.ac): Likewise.
54948         * modules/gc-rijndael (configure.ac): Likewise.
54949         * modules/gc-sha1 (configure.ac): Likewise.
54950
54951 2007-01-08  Bruno Haible  <bruno@clisp.org>
54952
54953         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
54954         macro definition.
54955         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
54956         definition.
54957         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
54958         definition.
54959         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
54960         * modules/fcntl-safer (configure.ac): Likewise.
54961         * modules/fopen-safer (configure.ac): Likewise.
54962         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
54963         GNULIB_FWRITEERROR macro definition.
54964
54965 2007-01-08  Bruno Haible  <bruno@clisp.org>
54966
54967         * m4/gnulib-common.m4: New file.
54968         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
54969         (func_get_filelist): Add m4/gnulib-common.m4.
54970
54971 2007-01-08  Bruno Haible  <bruno@clisp.org>
54972
54973         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
54974         command.
54975
54976 2007-01-08  Jim Meyering  <jim@meyering.net>
54977
54978         Use a more robust test for a "can't happen" condition.
54979         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
54980         narrowed the st_size value.  Presuming the "can't happen" condition
54981         is true, that narrowing could conceivably convert an invalid st_size
54982         value into a valid one.  Instead, use a change based on Matthew
54983         Woehlke's original patch.
54984
54985         Slight readability improvement: use an assert-like macro
54986         in place of literal "abort ()" uses.
54987         * lib/fts.c (fts_assert): Define.
54988         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
54989         Use this macro instead of a bare 'abort'.
54990
54991 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
54992
54993         Don't worry about using IRIX 5.3's wctype.h broken definitions;
54994         simply work around them.
54995         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
54996         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
54997         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
54998         declaring.
54999         Don't bother to define as macros, since the standard doesn't require it.
55000         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
55001         longer worry about IRIX 5.3.
55002         (HAVE_WCTYPE_CTMP_BUG): Remove.
55003
55004 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
55005
55006         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
55007         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
55008         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
55009         Problems reported by Georg Schwarz for IRIX 5.3.
55010
55011         * gnulib-tool (autoconf_minversion): Take the maximum version number
55012         found, not the minimum.  Problem reported by James Youngman.
55013
55014 2007-01-03  Karl Berry  <karl@gnu.org>
55015
55016         * doc/error.texi: new file, explaining interaction with progname.
55017         * doc/gnulib.texi: include it.  Update copyright.
55018
55019 2007-01-03  Simon Josefsson  <simon@josefsson.org>
55020
55021         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
55022         AC_CANONICAL_HOST, to improve autobuild outputs.
55023
55024 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
55025             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
55026
55027         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
55028         sockets, server sockets, and other file descriptors.  Count errors
55029         to compute the return value.  Reorder the code a bit to be easier
55030         to follow.  Don't set event bits that were not requested (except
55031         POLLERR and POLLHUP).
55032
55033 2007-01-01  Bruno Haible  <bruno@clisp.org>
55034
55035         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
55036
55037 2007-01-03  Jim Meyering  <jim@meyering.net>
55038
55039         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
55040
55041 2007-01-02  Bruno Haible  <bruno@clisp.org>
55042
55043         * modules/settime (Include): Require timespec.h.
55044         * modules/nanosleep (Include): Likewise.
55045
55046 2007-01-01  Bruno Haible  <bruno@clisp.org>
55047
55048         * gnulib-tool (func_emit_copyright_notice): Bump year.
55049         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
55050
55051 2007-01-01  Bruno Haible  <bruno@clisp.org>
55052
55053         Improve support for OpenBSD.
55054         * build-aux/config.rpath (libname_spec): Export.
55055         (library_names_spec): New variable. Export.
55056         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
55057         library_names_spec from the config.rpath output. Locate shared library
55058         through the name pattern in library_names_spec.
55059
55060 2007-01-01  Eric Blake  <ebb9@byu.net>
55061
55062         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
55063
55064 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
55065
55066         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
55067         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
55068         assume the C locale, and avoid an "eval" that could cause trouble.
55069         Problem with SORT reported by Bob Proulx.
55070
55071         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
55072         Define.  Trivial patch from Henning Nielsen Lund, originally
55073         sent to bug-grep@gnu.org today.
55074
55075 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55076
55077         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
55078         struct stat.  Problem reported by Henning Nielsen Lund.
55079         * lib/acl.c: Include acl.h first, to check interface.  Don't
55080         bother to include sys/types.h and sys/stat.h again.
55081
55082 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55083
55084         Import the following change from libc; problem reported by
55085         Sven Verdoolaege.
55086
55087         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
55088
55089         [BZ #1373]
55090         * lib/argp.h: Remove __NTH for __argp_usage inline function.
55091
55092 2006-12-28  Jim Meyering  <jim@meyering.net>
55093
55094         * build-aux/announce-gen: Do not assume that the package
55095         builds any of tar.gz, tar.bz2, and .xdelta files.
55096         Suggestion from Simon Josefsson.
55097
55098 2006-12-28  Simon Josefsson  <simon@josefsson.org>
55099
55100         * modules/announce-gen: New file.
55101
55102 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
55103
55104         * lib/mbchar.h: Just include <wctype.h>; the wctype module
55105         handles its gotchas now.
55106         * lib/mbswidth.c: Likewise.
55107         * lib/wcwidth.h: Likewise.
55108         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
55109         and iswcntrl; the wctype module does this stuff now.
55110         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55111         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55112         * modules/mbchar (Depends-on): Add wctype.
55113         * modules/mbswidth (Depends-on): Likewise.
55114         * modules/wcwidth (Depends-on): Likewise.
55115
55116 2006-12-27  Eric Blake  <ebb9@byu.net>
55117
55118         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
55119         module uses more than what <wctype.h> is required to provide.
55120
55121 2006-12-26  Eric Blake  <ebb9@byu.net>
55122
55123         * gnulib-tool (sed_extract_prog): Avoid space-tab.
55124
55125 2006-12-26  Eric Blake  <ebb9@byu.net>
55126
55127         * modules/absolute-header: New module.
55128         * modules/fcntl (Depends-on): Depend on it.
55129         * modules/inttypes (Depends-on): Likewise.
55130         * modules/stdint (Depends-on): Likewise.
55131         * modules/sys_stat (Depends-on): Likewise.
55132         * modules/wctype (Depends-on): Likewise.
55133         * MODULES.html.sh (Support for building libraries and
55134         executables): Document it.
55135
55136 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55137
55138         * gnulib-tool (SED): Remove, undoing previous change.
55139         The problem was that it broke coreutils on Solaris, because
55140         "sed --posix" leaked into a makefile.
55141         (sed): New alias, if 'alias' and GNU sed.
55142
55143 2006-12-24  Jim Meyering  <jim@meyering.net>
55144
55145         Work around an fchownat bug in glibc-2.4:
55146         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
55147         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
55148         in spite of the -P option.
55149         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
55150         New macros.
55151         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
55152         * modules/openat (Files): Add lib/fchownat.c.
55153         * lib/openat.c (fchownat): Don't define here.  Move to...
55154         * lib/fchownat.c: ...this new file.
55155
55156 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55157
55158         Fix bug reported by Bruno Haible in
55159         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
55160         where quotearg.c didn't compile on Mac OS X 10.2 because it
55161         lacks <wchar.h> and wint_t.
55162         * lib/wctype_.h (__wctype_wint_t): New type.
55163         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
55164         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
55165         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
55166         Arg is now of type __wctype_wint_t, not wint_t.
55167         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
55168         substitute HAVE_WINT_T.
55169         * modules/wctype (Files): Add m4/wint_t.m4.
55170         (wctype.h): Substitute HAVE_WINT_T.
55171
55172 2006-12-23  Bruno Haible  <bruno@clisp.org>
55173
55174         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
55175
55176 2006-12-23  Bruno Haible  <bruno@clisp.org>
55177
55178         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
55179         S_ISLNK.
55180         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
55181         mingw.
55182
55183 2006-12-22  Bruno Haible  <bruno@clisp.org>
55184
55185         * lib/copy-file.c: Include acl.h.
55186         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
55187         Close the file descriptors only after being done with copy_acl.
55188         * modules/copy-file (Depends-on): Add acl.
55189
55190 2006-12-22  Bruno Haible  <bruno@clisp.org>
55191
55192         * gnulib-tool (SED): New variable.
55193         Use $SED instead of sed everywhere.
55194
55195 2006-12-22  Bruno Haible  <bruno@clisp.org>
55196
55197         * modules/no-c++: New file.
55198         * m4/no-c++.m4: New file.
55199         * MODULES.html.sh (Support for building libraries and executables):
55200         Add no-c++.
55201
55202 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
55203
55204         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
55205         Include <limits.h>, and use its INT_MAX to rewrite the
55206         j loop so that it does not overflow 'int'.  Problem reported by
55207         Ralf Wildenhues in
55208         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
55209         Play it safe by shifting left by 1 rather than multiplying by 2,
55210         as GCC is less likely to optimize this away when the value
55211         is signed (when it assumes overflow leads to undefined behavior).
55212         Also, don't assume time_t uses two's complement.
55213
55214 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
55215
55216         * MODULES.html.sh: New module wctype.
55217         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
55218         * lib/fnmatch.c: Don't bother to include <wchar.h> before
55219         <wctype.h>, since the new wctype module should fix this.
55220         * lib/quotearg.c: Include <wctype.h> unconditionally, since
55221         the wctype module should arrange for it.
55222         * lib/regex_internal.h: Likewise.
55223         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
55224         since the wctype module should handle this now.
55225         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
55226         * modules/fnmatch (Depends-on): Add wctype.
55227         * modules/quotearg (Depends-on): Likewise.
55228         * modules/regex (Depends-on): Likewise.
55229
55230 2006-12-19  Bruno Haible  <bruno@clisp.org>
55231
55232         * lib/strdup.h [C++]: Wrap definitions in extern "C".
55233         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
55234
55235 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55236
55237         * modules/savewd (Depends-on): Fix dependency on fcntl.
55238
55239 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55240
55241         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
55242         conforms to C99, rather than relying on the user's environment
55243         setting of STDINT_H.
55244
55245 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55246         and Eric Blake  <ebb9@byu.net>
55247
55248         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
55249         This is more consistent with the other defines here.
55250         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
55251         Port to z/OS.  Problem reported by Paul Gilmartin.
55252         Change local vars to use gl_ prefix rather than ac_.
55253         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
55254         with other defines.
55255         * modules/double-slash-root: New module.
55256         * modules/dirname (Files): Remove m4/double-slash-root.m4.
55257         (Depends-on): Add double-slash-root.
55258         * MODULES.html.sh (File system functions): Mention new module.
55259
55260 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
55261
55262         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
55263         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
55264         This is for the benefit of gzip, which doesn't do i18n.
55265
55266 2006-12-12  Jim Meyering  <jim@meyering.net>
55267
55268         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
55269         Reported by Andreas Schwab <schwab@suse.de>.
55270
55271 2006-12-12  Bruno Haible  <bruno@clisp.org>
55272
55273         Merge these changes.
55274         2006-09-05  Bruno Haible  <bruno@clisp.org>
55275         * lib/iconvme.c (iconv_string): No need to save and restore errno when
55276         iconv_alloc succeeded.
55277         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
55278         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
55279         test for " && dest " at the end - dest is always != NULL there. Call
55280         iconv with 4xNULL arguments initially, to reset the state. Call iconv
55281         with 2xNULL arguments, also to flush the state storage. Handle the
55282         IRIX iconv behaviour. Realloc the final result, to throw away unused
55283         memory.
55284
55285 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
55286
55287         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
55288         and fchmodat unconditionally, since glibc 2.4 has them.
55289         Problem reported by Arkadiusz Miskiewicz.
55290
55291 2006-12-10  Bruno Haible  <bruno@clisp.org>
55292
55293         * gnulib-tool (func_import): Show the include files only for those
55294         modules that are copied and specified.
55295         Reported by Karl Berry.
55296
55297 2006-12-08  Jim Meyering  <jim@meyering.net>
55298
55299         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
55300         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
55301
55302         * build-aux/announce-gen: Add two new options, both optional:
55303         --bootstrap-tools=TOOL_LIST
55304               a comma-separated list of tools, e.g.,
55305               autoconf,automake,bison,gnulib
55306         --gnulib-snapshot-date=DATE
55307               if gnulib is in the bootstrap tool list,
55308               then report this as the snapshot date.
55309               If not specified, use the current date/time.
55310               If you specify a date here, be sure it's UTC.
55311
55312 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55313
55314         * tests/test-argp-2.sh: Fix test to match actual output.
55315         (func_compare): Fix sed script to be portable.
55316
55317 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
55318
55319         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
55320         workaround for this case.  It is not autoconfigured now; offhand
55321         it's hard to see how to autoconfigure it.
55322
55323 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55324
55325         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
55326         a directory that is about to be chowned.  Such a directory's
55327         initial file permissions should permit the owner only and this
55328         should not be changed until after the chown, since the group and
55329         other bits would be incorrect if they granted permission before
55330         the chown.
55331
55332         Fix porting problem for iswctype reported by Georg Schwarz in:
55333         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
55334         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
55335         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
55336         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
55337         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
55338
55339 2006-12-03  Jim Meyering  <jim@meyering.net>
55340
55341         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
55342         p->fts_statp may not yet be defined.
55343         (fts_read): Instead, set it in the caller, once p->fts_statp is
55344         sure to be defined, and corresponds to a top-level directory.
55345         This bug made du -x fail.  Here's the coreutils test case:
55346         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
55347         Reported by Mike Frysinger.
55348
55349 2006-12-01  Jim Meyering  <jim@meyering.net>
55350
55351         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
55352         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
55353         Reported by Simon Josefsson.
55354
55355 2006-11-30  Jim Meyering  <jim@meyering.net>
55356
55357         * m4/warning.m4: Use the all-permissive copyright notice
55358         recommended by RMS (rather than LGPL).
55359         * m4/vararrays.m4: Likewise.
55360         * m4/flexmember.m4: Likewise.
55361
55362 2006-11-29  Bruno Haible  <bruno@clisp.org>
55363
55364         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55365         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
55366         using +=.
55367         Reported by Simon Josefsson <simon@josefsson.org>.
55368
55369 2006-11-28  James Youngman <jay@gnu.org>
55370
55371         * README: Advise users that they might find the bug-gnulib@gnu.org
55372         and autotools-announce@gnu.org mailing lists useful.
55373
55374 2006-11-28  Bruno Haible  <bruno@clisp.org>
55375
55376         * m4/ptrdiff_max.m4: Remove file.
55377
55378 2006-11-21  Bruno Haible  <bruno@clisp.org>
55379
55380         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
55381         _AC_COMPUTE_INT.
55382         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55383         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
55384         _AC_COMPUTE_INT.
55385         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55386         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
55387         _AC_COMPUTE_INT.
55388         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55389
55390 2006-11-28  Jim Meyering  <jim@meyering.net>
55391
55392         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
55393         warning from "gcc -Wshadow" about shadowing the builtin.
55394
55395 2006-11-27  Bruno Haible  <bruno@clisp.org>
55396
55397         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
55398         _AC_COMPUTE_INT.
55399         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55400
55401 2006-11-27  Bruno Haible  <bruno@clisp.org>
55402             Paul Eggert  <eggert@cs.ucla.edu>
55403
55404         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
55405
55406 2006-11-26  Bruno Haible  <bruno@clisp.org>
55407
55408         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55409         noinst_LTLIBRARIES.
55410
55411 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
55412             Bruno Haible  <bruno@clisp.org>
55413
55414         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
55415         if compiling with "gcc -ansi".
55416
55417 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
55418
55419         Fix some incompatibilities with gcc -ansi -pedantic.
55420         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
55421         if compiling pedantically with GCC, unless it's C99 or later.
55422         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
55423         it mishandles gcc -ansi -pedantic as well.
55424         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
55425         if gcc -pedantic.
55426         * lib/regexec.c (check_node_accept_bytes): Don't use auto
55427         initializers for struct if -pedantic, unless it's C99 or later.
55428
55429 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
55430
55431         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
55432         Don't close an fd more than once. Identical atimes indicate
55433         success, not failure.
55434
55435 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
55436
55437         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
55438
55439 2006-11-23  Jim Meyering  <jim@meyering.net>
55440
55441         * build-aux/announce-gen: New file.  From coreutils.
55442
55443 2006-11-22  Jim Meyering  <jim@meyering.net>
55444
55445         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
55446         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
55447         (fts_read): Use a temporary to narrow the overused st_size member
55448         before using it in a switch statement.  Reported by Matthew Woehlke.
55449
55450         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
55451         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
55452
55453 2006-11-20  Bruno Haible  <bruno@clisp.org>
55454
55455         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
55456         changequote instead of pairs of brackets.
55457         Reported by Andreas Schwab <schwab@suse.de>.
55458
55459 2006-11-21  Jim Meyering  <jim@meyering.net>
55460
55461         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
55462         so as to remain compatible with older compilers.
55463         Patch from Michael Deutschmann.
55464
55465 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55466
55467         * MODULES.html.sh (File system functions): Add openat.
55468
55469         * lib/openat.h (rpl_fstatat): New macro, if
55470         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
55471         (fstatat): Define to rpl_fstatat under the same conditions,
55472         unless COMPILING_FSTATAT.
55473         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
55474         seems to have the bug.
55475         * lib/fstatat.c: New file.
55476         * modules/openat (Files): Add it.
55477
55478 2006-11-20  Bruno Haible  <bruno@clisp.org>
55479
55480         * Makefile: New file.
55481
55482 2006-11-20  Jim Meyering  <jim@meyering.net>
55483
55484         The beginnings of syntax-related checks for gnulib.
55485         * lib/Makefile: New file.
55486         * lib/t-idcache: New script.  Ensure that the two halves of
55487         idcache.c stay in sync.
55488
55489         * lib/idcache.c: Adjust comments in user- and group- portions to
55490         be more accurate, and to be consistent with one another.
55491
55492 2006-11-20  Jim Meyering  <jim@meyering.net>
55493
55494         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
55495         continue using the flexible array member (thus, this module performs
55496         half as many malloc calls), with the addition that...
55497         (getgroup, getuser): Consistently record a non-match via an empty
55498         "name" string, and map an empty string match to a NULL return value.
55499         * modules/idcache (Depends-on): Re-add flexmember.
55500
55501         * lib/idcache.c (getuser): Remove all uses of the register keyword.
55502         (getuidbyname, getgroup, getgidbyname): Likewise.
55503
55504         Use cleaner syntax: NULL rather than 0.
55505         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
55506
55507 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55508
55509         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
55510         It mishandled the case where the group was missing.
55511         Problem reported by Greg Schafer.
55512         * modules/idcache: Likewise.
55513
55514 2006-11-18  Jim Meyering  <jim@meyering.net>
55515
55516         * check-module (%exempt_header): Add exception for some
55517         conditionally-included headers.
55518
55519         * modules/i-ring (Depends-on): Add verify.
55520         (License): Change to LGPL.
55521
55522 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55523
55524         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
55525         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
55526         and inttostr.h.  Use snprintf rather than uinttostr, so that
55527         LGPLed code doesn't depend on GPLed.
55528
55529 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55530
55531         * modules/inline (License): Change from GPL to LGPL.
55532
55533 2006-11-17  Jim Meyering  <jim@meyering.net>
55534
55535         * modules/d-type (License): Switch to LGPL.
55536
55537 2006-11-15  Bruno Haible  <bruno@clisp.org>
55538
55539         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
55540
55541 2006-11-15  Eric Blake  <ebb9@byu.net>
55542
55543         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
55544         the module dependency.
55545
55546 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55547             Bruno Haible  <bruno@clisp.org>
55548
55549         * gnulib-tool (func_create_testdir): Add license consistency check.
55550
55551 2006-11-15  Eric Blake  <ebb9@byu.net>
55552
55553         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
55554         random "(cached)" in configure output.
55555
55556 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55557
55558         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
55559         test for conforming inttypes.h is both announced and cached.
55560
55561         * MODULES.html.sh (seen_modules, seen_files): New variables.
55562         (func_module): Rewrite to use a few less gnulib-tool and sed
55563         invocations.  Avoid a couple of quadratic algorithms for ...
55564         (missed_modules, missed_files): ... these, with ...
55565         (func_append, func_tmpdir): ... these new functions, from
55566         gnulib-tool.  Analogously, install traps for cleanup.
55567
55568         * tests/test-gc.c (main): Remove unused variables.
55569         * tests/test-read-file.c: Include stdlib.h, for 'free'.
55570
55571 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
55572
55573         * modules/inttostr (License): Change to LGPL.
55574
55575 2006-11-14  Eric Blake  <ebb9@byu.net>
55576
55577         * modules/tempname (License): Change to LGPL.
55578
55579 2006-11-14  Eric Blake  <ebb9@byu.net>
55580
55581         * doc/functions.texi (Function Portability): *printf functions on
55582         Cygwin now understand all POSIX size specifiers.
55583
55584 2006-11-14  Bruno Haible  <bruno@clisp.org>
55585
55586         * modules/c-ctype (License): Change to LGPL.
55587
55588 2006-11-12  Bruno Haible  <bruno@clisp.org>
55589
55590         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55591         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
55592         for GNOME libraries, for which the include files are installed in
55593         subdirectories of $prefix/include.
55594
55595 2006-11-12  Bruno Haible  <bruno@clisp.org>
55596
55597         * m4/lib-link.m4: Require at least autoconf-2.54.
55598         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
55599         name to underscores for the --with option.
55600
55601 2006-11-13  Bruno Haible  <bruno@clisp.org>
55602
55603         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
55604         the tests directory.
55605         Reported by Ralf Wildenhues.
55606
55607 2006-11-13  Bruno Haible  <bruno@clisp.org>
55608
55609         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
55610         (func_emit_initmacro_end): Undo the override here.
55611         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
55612         Works around the famous automake error in coreutils.
55613
55614 2006-11-13  Eric Blake  <ebb9@byu.net>
55615
55616         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
55617         element, not its node.
55618
55619 2006-11-12  Bruno Haible  <bruno@clisp.org>
55620
55621         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
55622         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
55623
55624 2006-11-12  Bruno Haible  <bruno@clisp.org>
55625
55626         * gnulib-tool: New option --local-symlink.
55627         (func_usage): Document it.
55628         (lsymbolic): New variable.
55629         (func_import, func_create_testdir): If --symlink was not specified,
55630         test whether --local-symlink was specified and the file comes from
55631         the local_gnulib_dir.
55632
55633 2006-11-12  Bruno Haible  <bruno@clisp.org>
55634
55635         * gnulib-tool (func_ln): New function.
55636         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
55637
55638 2006-11-12  Bruno Haible  <bruno@clisp.org>
55639
55640         Finish support for source files in subdirectories.
55641         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
55642         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
55643         AUTOMAKE_OPTIONS.
55644         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
55645
55646 2006-11-12  Bruno Haible  <bruno@clisp.org>
55647
55648         * gnulib-tool (func_get_automake_snippet): Synthesize also an
55649         EXTRA_lib_SOURCES augmentation.
55650         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
55651
55652 2006-11-12  Jim Meyering  <jim@meyering.net>
55653
55654         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
55655         file descriptors.  This also averts a failure on systems with
55656         native openat support when a traversed directory lacks "x" access.
55657         * lib/fts_.h: Include "i-ring.h"
55658         (struct FTS) [fts_fd_ring]: New member.
55659         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
55660         (FCHDIR): Add parentheses.
55661         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
55662         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
55663         When descending, rather than simply closing the previous
55664         fts_cwd_fd value, push that file descriptor onto the ring.
55665         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
55666         (fts_open): Initialize the new fd_ring member.
55667         (fts_close): Clear the ring.
55668         (fts_safe_changedir): When possible, use our new fd_ring to skip
55669         the diropen and fstat and dev/ino comparison that would normally
55670         accompany a virtual `chdir ("..")'.
55671
55672         * modules/fts (Depends-on): Add i-ring.
55673         * modules/i-ring: New module.
55674         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
55675         * m4/i-ring.m4: New file.
55676
55677 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55678
55679         * gnulib-tool (func_create_testdir): Fix replacement of
55680         `build-aux' in configure.ac.  Run autotools in gltests
55681         subdirectory.
55682         (func_create_testdir, func_create_megatestdir, test): There is
55683         no need for '--force' in most autotool invocations in a new
55684         tree.  Actually fail the whole test if any of the tools, or the
55685         configure or make stages fail.
55686
55687         Sync from Automake.
55688         * build-aux/gnupload: Revert last change.  Add pointer to upload
55689         instructions of the GNU Maintenance Instructions.
55690         Suggestion by Karl Berry.
55691
55692 2006-11-10  Jim Meyering  <jim@meyering.net>
55693
55694         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
55695
55696 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55697
55698         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
55699         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
55700         (bind_textdomain_codeset) [! ENABLE_NLS]:
55701         Evaluate all the arguments.  That way, callers get compatible behavior
55702         if the arguments have side effects.  Also, it avoids some GCC
55703         diagnostics in some cases; Joel E. Denny reported problems when Bison
55704         was configured with --enable-gcc-warnigs.
55705
55706 2006-11-10  Jim Meyering  <jim@meyering.net>
55707
55708         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
55709         relevant options in CFLAGS (like -O, -fno-inline) are taken into
55710         account.
55711
55712 2006-11-10  Jim Meyering  <jim@meyering.net>
55713
55714         * modules/inline: New file/module.
55715         * modules/xalloc (Files): Remove m4/inline.m4.
55716         (Depends-on): Add inline, instead.
55717         * modules/oset: Likewise.
55718         * modules/list: Likewise.
55719
55720 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55721
55722         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
55723         Problem reported by Matthew Woehlke.
55724
55725 2006-11-09  Bruno Haible  <bruno@clisp.org>
55726
55727         * lib/tempname.c (gen_tempname): Remove variant that invokes
55728         __gen_tempname.
55729         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
55730         __gen_tempname.
55731
55732 2006-11-08  Bruno Haible  <bruno@clisp.org>
55733
55734         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
55735         to 'yes' instead of 'cross-compiling'.
55736
55737 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
55738
55739         * lib/quotearg.h (quotearg_free): New decl.
55740         * lib/quotearg.c (quotearg_free): New function.
55741         (slot0, nslots, slotvec0, slotvec):
55742         Now file-scope so that quotearg_free can get at them.
55743
55744 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55745
55746         Sync from Automake.
55747         * build-aux/gnupload: Add missing 'gnu' to example URL.
55748         Report by Karl Berry.
55749
55750 2006-11-08  Bruno Haible  <bruno@clisp.org>
55751
55752         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
55753         Suggested by Paul Eggert.
55754
55755 2006-11-08  Jim Meyering  <jim@meyering.net>
55756
55757         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
55758         It's already included if !_LIBC.
55759         (fts_safe_changedir): Add a comment.
55760
55761 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55762
55763         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
55764         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
55765         Matthew Woehlke.
55766
55767         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
55768         definitions up, to avoid colliding with change below.
55769         (static_inline) [HAVE_INLINE]: New macro.
55770         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
55771         Provide extern decls when !HAVE_INLINE.  Do not define unless
55772         static_inline is defined, either by us or by xmalloc.c.  Use
55773         static_inline rather than static inline.
55774         (XCALLOC): Optimize sizeof(T) = 1 case.
55775         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
55776
55777 2006-11-07  Bruno Haible  <bruno@clisp.org>
55778
55779         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
55780         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
55781         AC_C_INLINE.
55782         * modules/xalloc (Files): Add m4/inline.m4.
55783
55784 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55785
55786         * README: Fix typo.
55787         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
55788         (Miscellanous Notes): ...from this.
55789
55790 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55791
55792         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
55793         Mention that offsetof should be used instead of sizeof.
55794         From Bruno Haible.
55795
55796 2006-11-07  Bruno Haible  <bruno@clisp.org>
55797
55798         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
55799
55800 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55801
55802         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55803         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
55804         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55805         (gl_tree_add_before, gl_tree_add_after):
55806         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
55807         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
55808         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
55809         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
55810         (gl_linked_add_after, gl_linked_add_at): Likewise.
55811         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
55812         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55813         (gl_tree_add_before, gl_tree_add_after): Likewise.
55814         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
55815         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
55816         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
55817
55818 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55819
55820         * lib/gl_oset.h: Use C comment style, not C++ comment style.
55821
55822 2006-11-06  Bruno Haible  <bruno@clisp.org>
55823
55824         * m4/inline.m4: New file.
55825         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
55826         * modules/list (Files): Add m4/inline.m4.
55827         * modules/oset (Files): Likewise.
55828
55829 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55830
55831         * lib/idcache.c: Include <stddef.h>, for offsetof.
55832         (struct userid.name): Change from char * to a flexible array member.
55833         All uses changed.
55834         * modules/idcache (Depends-on): Add flexmember.
55835
55836         * MODULES.html.sh (Core language properties): New module flexmember.
55837         * modules/flexmember, m4/flexmember.m4: New files.
55838
55839         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
55840         inline functions that are identical with the old xnmalloc_inline,
55841         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
55842         that we can avoid some unnecessary integer multiplications and
55843         divisions in the common case where the element size is known at
55844         compile time.
55845         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
55846         needed.
55847         (xnboundedmalloc): Remove.
55848         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
55849         arguments, for consistency with rest of this header.
55850         (xcharalloc): Rewrite using XNMALLOC.
55851         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
55852         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
55853         versions have been moved to lib/xalloc.h and renamed to be the
55854         non-*_inline versions.
55855         (xmalloc, xrealloc): Implement without reference to the xnmalloc
55856         and xnrealloc functions, since those functions are now inline and
55857         now call us.
55858         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
55859         renaming described above.
55860         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
55861         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
55862         captures the dependency in AC_C_INLINE.
55863
55864         New module canonicalize-lgpl, proposed by Charles Wilson in
55865         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
55866         with a few small changes afterwards.
55867         * MODULES.html.sh (File system functions): New module
55868         canonicalize-lgpl.
55869         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
55870         and canonicalize_file_name.
55871         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
55872         * modules/canonicalize-lgpl: New files.
55873
55874 2006-11-05  Bruno Haible  <bruno@clisp.org>
55875
55876         * gnulib-tool (func_import, func_create_testdir): Create directories
55877         also for files in subdirectories of lib/.
55878
55879 2006-11-05  Bruno Haible  <bruno@clisp.org>
55880
55881         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
55882         ANSI C compliant.
55883
55884 2006-11-03  Bruno Haible  <bruno@clisp.org>
55885
55886         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55887         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
55888         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
55889         (xnboundedmalloc): New inline function.
55890         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
55891         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
55892         xmalloc.
55893         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
55894         xmalloc.
55895         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
55896         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
55897         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
55898         xmalloc.
55899         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55900         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
55901         xmalloc.
55902         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
55903         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55904         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
55905         xmalloc.
55906         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55907         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
55908         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55909         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
55910         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
55911         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
55912         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
55913
55914 2006-11-03  Bruno Haible  <bruno@clisp.org>
55915
55916         * lib/c-ctype.h [C++]: Define functions without name mangling.
55917         * lib/fwriteerror.h [C++]: Likewise.
55918         * lib/gcd.h [C++]: Likewise.
55919         * lib/linebreak.h [C++]: Likewise.
55920
55921 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55922
55923         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
55924         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
55925         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
55926         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
55927         Check for functions and headers just once.
55928         Check for declaration of canonicalize_file_name.
55929         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
55930
55931 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55932
55933         * gnulib-tool (func_import): Fix typo in actioncmd.
55934
55935 2006-11-02  Bruno Haible  <bruno@clisp.org>
55936
55937         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
55938         newline sequence in the Makefile.am snippet as a space, like "make"
55939         does.
55940         Reported by Roger Persson <perrog@gmail.com>.
55941
55942 2006-11-01  Bruno Haible  <bruno@clisp.org>
55943
55944         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
55945         already declared in <string.h>.
55946         * lib/strcase.h (strncasecmp): Don't declare it if yes.
55947
55948 2006-11-01  Bruno Haible  <bruno@clisp.org>
55949
55950         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
55951         * lib/strcase.h: Include <string.h>.
55952         (strcasecmp): Define to rpl_strcasecmp here.
55953
55954 2006-11-01  Bruno Haible  <bruno@clisp.org>
55955
55956         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
55957
55958 2006-11-01  Eric Blake  <ebb9@byu.net>
55959
55960         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
55961
55962         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
55963
55964 2006-10-29  Bruno Haible  <bruno@clisp.org>
55965
55966         Make it compile in C++ mode.
55967         * lib/full-write.c (full_rw): Add a cast.
55968
55969 2006-11-01  Bruno Haible  <bruno@clisp.org>
55970
55971         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
55972         be POSIX compliant.
55973         Reported by Roger Persson <perrog@gmail.com>.
55974
55975 2006-11-01  Eric Blake  <ebb9@byu.net>
55976
55977         * lib/getopt_.h: Fix comments.
55978
55979 2006-10-31  Eric Blake  <ebb9@byu.net>
55980
55981         * modules/tmpdir (Depends-on): Add sys_stat.
55982         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
55983         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
55984         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
55985         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
55986         tempname.
55987
55988 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
55989
55990         Avoid some C++ diagnostics reported by Bruno Haible.
55991         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
55992         xmalloc.
55993         (quotearg_alloc): Use xcharalloc rather than xmalloc.
55994         (struct slotvec): Move to top level.
55995         (quotearg_n_options): Rewrite to avoid xmalloc.
55996         * lib/xalloc.h (xcharalloc): New function.
55997         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
55998         [defined __cplusplus]: Add function template that provides result
55999         type propagation.  This part of the change is from Bruno Haible.
56000
56001 2006-10-29  Bruno Haible  <bruno@clisp.org>
56002
56003         Make it compile in C++ mode.
56004         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
56005         * lib/strnlen1.c (strnlen1): Cast memchr result.
56006         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
56007         * lib/clean-temp.c (string_equals, string_hash): Add casts.
56008         (create_temp_dir): Rename local variable 'template'.
56009         (compile_csharp_using_sscli): Add cast.
56010         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
56011         * lib/findprog.c (find_in_path): Likewise.
56012         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
56013         * lib/wait-process.c (register_slave_subprocess): Likewise.
56014
56015 2006-10-22  Bruno Haible  <bruno@clisp.org>
56016
56017         * modules/tsearch: New file.
56018         * lib/tsearch.h: New file.
56019         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
56020         * m4/tsearch.m4: New file.
56021         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
56022
56023 2006-10-29  Eric Blake  <ebb9@byu.net>
56024
56025         * lib/arcfour.c: Assume config.h.
56026         * lib/arctwo.c: Likewise.
56027         * lib/base64.c: Likewise.
56028         * lib/check-version.c: Likewise.
56029         * lib/crc.c: Likewise.
56030         * lib/des.c: Likewise.
56031         * lib/gc-gnulib.c: Likewise.
56032         * lib/gc-libgcrypt.c: Likewise.
56033         * lib/gc-pbkdf2-sha1.c: Likewise.
56034         * lib/getaddrinfo.c: Likewise.
56035         * lib/getdelim.c: Likewise.
56036         * lib/getline.c: Likewise.
56037         * lib/hmac-md5.c: Likewise.
56038         * lib/hmac-sha1.c: Likewise.
56039         * lib/iconvme.c: Likewise.
56040         * lib/md2.c: Likewise.
56041         * lib/md4.c: Likewise.
56042         * lib/memxor.c: Likewise.
56043         * lib/read-file.c: Likewise.
56044         * lib/readline.c: Likewise.
56045         * lib/rijndael-alg-fst.c: Likewise.
56046         * lib/rijndael-api-fst.c: Likewise.
56047         * lib/xgetdomainname.c: Likewise.
56048
56049 2006-10-28  Eric Blake  <ebb9@byu.net>
56050
56051         * lib/xstrndup.c: Assume config.h.
56052
56053 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
56054
56055         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
56056         stat-macros.h is now for our own macros, whereas stat_h is for
56057         macros in the <sys/stat.h> name space.
56058         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
56059         (STAT_MACROS_H): Remove.
56060         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
56061         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
56062         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
56063         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
56064         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
56065         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
56066         Move these macros to ...
56067         * lib/stat_.h: here.  Don't include stat-macros.h.
56068         * lib/canonicalize.c: Don't include stat-macros.h.
56069         * lib/chown.c: Likewise.
56070         * lib/euidaccess.c: Likewise.
56071         * lib/file-type.c: Likewise.
56072         * lib/filemode.c: Likewise.
56073         * lib/glob.c: Likewise.
56074         * lib/isapipe.c: Likewise.
56075         * lib/lchown.c: Likewise.
56076         * lib/lstat.c: Likewise.
56077         * lib/mkdir-p.c: Likewise.
56078         * lib/rmdir.c: Likewise.
56079         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
56080         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
56081         unless mkdir isn't declared, to speed up 'configure'.
56082         Always create sys/stat.h, since it's unlikely any real sys/stat.h
56083         would define all the S_* symbols.
56084         * modules/canonicalize (Depends-on):
56085         Depend on sys_stat, not stat-macros.
56086         * modules/chown: Likewise.
56087         * modules/euidaccess: Likewise.
56088         * modules/filemode: Likewise.
56089         * modules/file-type: Likewise.
56090         * modules/glob: Likewise.
56091         * modules/isapipe: Likewise.
56092         * modules/lchown: Likewise.
56093         * modules/lstat: Likewise.
56094         * modules/mkancesdirs: Likewise.
56095         * modules/rmdir: Likewise.
56096         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
56097         * modules/modechange: Likewise.
56098         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
56099         (configure.ac): Remove gl_STAT_MACROS.
56100         * modules/sys_stat (Depends-on): Remove stat-macros.
56101
56102 2006-10-27  Bruno Haible  <bruno@clisp.org>
56103
56104         * m4/signed.m4: Remove file.
56105         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
56106         invocation.
56107         * modules/vasnprintf (Files): Remove m4/signed.m4.
56108
56109 2006-10-27  Bruno Haible  <bruno@clisp.org>
56110
56111         Update to GNU gettext 0.16.
56112         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
56113         m4/inttypes-h.m4, m4/signed.m4.
56114         * m4/gettext.m4: Update to GNU gettext 0.16.
56115         * m4/intl.m4: New file, from GNU gettext.
56116         * m4/intldir.m4: New file, from GNU gettext.
56117         * config/srclist.txt: Update
56118
56119 2006-10-27  Eric Blake  <ebb9@byu.net>
56120
56121         * MODULES.html.sh: Document tempname.
56122         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
56123         dependencies.
56124         (Files): Move lib/tempname.c...
56125         * modules/tempname: ...to this new module.
56126         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
56127         (gl_PREREQ_TEMPNAME): Move...
56128         * m4/tempname.m4: ...to this new file.
56129         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
56130         * modules/sys_stat (Depends-on): Add stat-macros.
56131         * lib/stat_.h (includes): Pick up stat macros.
56132         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
56133         if stat macros are broken.
56134         * lib/tempname.c (includes): No need to include "stat-macros.h".
56135         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
56136         (direxists, __path_search) [!_LIBC]: Don't compile these in
56137         gnulib; the tmpdir module covers that.
56138         * lib/tempname.h: New file.
56139
56140 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
56141
56142         * COPYING: Explain how gnulib-tool converts licence headers.
56143         Almost all wording by Eric Blake.
56144
56145 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
56146
56147         * lib/mbchar.h (is_basic_table): Make read-only.
56148         * lib/mbchar.c (is_basic_table): Likewise.
56149         Reported by John Darrington.
56150
56151 2006-10-25  Bruno Haible  <bruno@clisp.org>
56152
56153         * lib/progname.h (set_program_name): Undefine before defining.
56154
56155 2006-10-25  Bruno Haible  <bruno@clisp.org>
56156
56157         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
56158         false for non-gcc C++ compilers.
56159         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56160
56161 2006-10-24  Bruno Haible  <bruno@clisp.org>
56162
56163         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
56164         iconv implementations like Irix iconv.
56165
56166 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56167
56168         * modules/vararrays: New file.
56169         * m4/vararrays.m4: New file, taken from diffutils.
56170         * MODULES.html.sh: New module vararrays.
56171
56172 2006-10-24  Karl Berry  <karl@gnu.org>
56173
56174         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
56175         Don't call GNU Unix.
56176
56177 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56178
56179         * users.txt: Add Libtool.
56180
56181         Sync from Libtool:
56182
56183         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56184
56185         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
56186         to gnulib's policy of including config.h unconditionally.
56187
56188 2006-10-24  Bruno Haible  <bruno@clisp.org>
56189
56190         * modules/wcwidth (Files): Add m4/wint_t.m4.
56191         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
56192         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
56193
56194 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56195
56196         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
56197         to pacify GCC with some -W flags enabled.  Problem reported by
56198         Bruno Haible.
56199
56200 2006-10-24  Jim Meyering  <jim@meyering.net>
56201
56202         * MODULES.html.sh: Remove uinttostr.  It's not a module.
56203         Reported by Karl Berry.
56204
56205 2006-10-23  Bruno Haible  <bruno@clisp.org>
56206
56207         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
56208
56209 2006-10-24  Bruno Haible  <bruno@clisp.org>
56210
56211         * lib/gl_list.h: Use C comment style, not C++ comment style.
56212
56213 2006-10-23  Eric Blake  <ebb9@byu.net>
56214
56215         * lib/getaddrinfo.c (includes): Add missing include.
56216
56217 2006-10-23  Bruno Haible  <bruno@clisp.org>
56218             Paul Eggert  <eggert@cs.ucla.edu>
56219
56220         Ability to rename obstack_free.
56221         * lib/obstack.h (__obstack_free): New macro. Declare instead of
56222         obstack_free.
56223         (obstack_free): Invoke the __obstack_free macro.
56224         * lib/obstack.c (obstack_free): Use __obstack_free macro.
56225
56226 2006-10-23  Bruno Haible  <bruno@clisp.org>
56227             Paul Eggert  <eggert@cs.ucla.edu>
56228
56229         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
56230         __argc, __argv from the declaration. (They are defined as macros on
56231         mingw.)
56232
56233 2006-10-22  Bruno Haible  <bruno@clisp.org>
56234
56235         * doc/gnulib-intro.texi: New file.
56236         * doc/gnulib.texi: Include it.
56237
56238 2006-10-21  Bruno Haible  <bruno@clisp.org>
56239
56240         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
56241         "Introduction", "Miscellanous Notes", "Particular Modules".
56242
56243 2006-10-21  Bruno Haible  <bruno@clisp.org>
56244
56245         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56246         Change mostlyclean-local rule to avoid sh syntax error from bash
56247         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
56248
56249 2006-10-23  Jim Meyering  <jim@meyering.net>
56250
56251         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
56252         in place of snprintf.
56253
56254         * modules/inttostr (Files): Add lib/uinttostr.c.
56255         * lib/uinttostr.c (inttostr): New file/function.
56256         * lib/inttostr.h (uinttostr): Declare.
56257         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
56258         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
56259         Add uinttostr.
56260         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
56261
56262 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
56263
56264         * lib/canonicalize.c (ELOOP): Define if not already defined.
56265         Problem reported by Bruno Haible in
56266         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
56267
56268 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
56269
56270         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
56271         Problem reported by Perry Smith and Ville Laurikari.
56272
56273         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
56274         uses.
56275
56276 2006-10-19  Bruno Haible  <bruno@clisp.org>
56277
56278         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
56279         for mingw.
56280
56281 2006-10-19  Bruno Haible  <bruno@clisp.org>
56282
56283         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
56284         Needed for mingw.
56285
56286 2006-10-19  Bruno Haible  <bruno@clisp.org>
56287
56288         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
56289
56290 2006-10-19  Bruno Haible  <bruno@clisp.org>
56291
56292         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
56293         it.
56294
56295 2006-10-19  Bruno Haible  <bruno@clisp.org>
56296
56297         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
56298         invocation.
56299
56300 2006-10-19  Bruno Haible  <bruno@clisp.org>
56301
56302         * gnulib-tool (func_create_testdir): Don't include ftruncate and
56303         mountlist by default.
56304
56305 2006-10-16  Bruno Haible  <bruno@clisp.org>
56306
56307         * lib/c-strstr.c: Include c-strstr.h.
56308
56309 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
56310
56311         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
56312         in a slash.
56313
56314 2006-10-18  Bruno Haible  <bruno@clisp.org>
56315
56316         * lib/lock.h [C++]: Wrap definitions in extern "C".
56317
56318 2006-10-18  Bruno Haible  <bruno@clisp.org>
56319
56320         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
56321         gl_LIBOBJS list.
56322
56323 2006-10-18  Bruno Haible  <bruno@clisp.org>
56324
56325         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
56326
56327 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
56328
56329         * lib/xstrtol.h: Include gettext.h.
56330         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
56331         Problem reported by Eric Blake.
56332         * modules/xstrtol (Depends-on): Add gettext-h.
56333
56334 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
56335
56336         * lib/strftime.c (advance): New macro.
56337         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
56338         incomplete type, so you can't add 0 to it.  Problem and patch
56339         reported by Eelco Dolstra for dietlibc.
56340
56341 2006-10-18  Jim Meyering  <jim@meyering.net>
56342
56343         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
56344         type for a local, and rename it: s/up/user_proc/.
56345
56346 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56347
56348         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
56349         READ_UTMP_USER_PROCESS.
56350         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
56351
56352 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
56353
56354         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
56355         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
56356
56357 2006-10-17  Eric Blake  <ebb9@byu.net>
56358
56359         * lib/sigprocmask.c (sigprocmask): Fix typo.
56360
56361         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
56362
56363         * modules/clean-temp (Makefile.am): Don't add to make output...
56364         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
56365         config.h.
56366
56367 2006-10-17  Bruno Haible  <bruno@clisp.org>
56368
56369         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
56370         differently if DEFAULT_TEXT_DOMAIN is set.
56371
56372 2006-10-16  Bruno Haible  <bruno@clisp.org>
56373
56374         * lib/clean-temp.c: Include fwriteerror.h.
56375
56376 2006-10-16  Bruno Haible  <bruno@clisp.org>
56377
56378         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
56379
56380 2006-10-16  Bruno Haible  <bruno@clisp.org>
56381
56382         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
56383         * lib/sigprocmask.h: Include <sys/types.h>.
56384         (sigset_t): Use the system's definition if present.
56385
56386 2006-10-17  Eric Blake  <ebb9@byu.net>
56387
56388         * lib/xvasprintf.c (includes): Assume config.h.
56389         * lib/xasprintf.c (includes): Likewise.
56390
56391 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56392
56393         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
56394         at least as wide as intmax_t.
56395
56396 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
56397
56398         (Imported from Automake.)
56399         * build-aux/gnupload: Update to version 1.1 of directive file.
56400
56401 2006-10-16  Eric Blake  <ebb9@byu.net>
56402
56403         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
56404         match Automake 1.10a.
56405
56406 2006-10-14  Bruno Haible  <bruno@clisp.org>
56407
56408         * modules/sigprocmask: New file.
56409         * lib/sigprocmask.h: New file.
56410         * lib/sigprocmask.c: New file.
56411         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
56412         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
56413         request sigprocmask.o.
56414         (gl_PREREQ_SIGPROCMASK): New macro.
56415         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
56416         (Depends-on): Add sigprocmask.
56417         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
56418         gt_SIGNALBLOCKING. Test for 'raise' only once.
56419         * lib/fatal-signal.c: Include sigprocmask.h.
56420         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
56421         unblock_fatal_signals): Define always.
56422         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56423         sigprocmask.
56424
56425 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
56426
56427         Sync from Automake.
56428         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
56429         which incorrectly sets the mode of an existing destination
56430         directory.  In some cases the unpatched install-sh could do the
56431         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
56432         system.  We hope this is rare in practice, but it's clearly worth
56433         fixing.  Problem reported by Alex Unleashed in
56434         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
56435         Also, don't bother to check for -m bugs unless we're using -m;
56436         suggested by Stepan Kasal.
56437
56438 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56439
56440         Sync from Automake.
56441         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
56442         `-c' flag, so they appear at the same position as in %FASTDEP%
56443         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
56444         which ignores unknown options only after the first non-option.
56445         Bug report against M4 by Nelson H. F. Beebe.
56446
56447 2006-10-13  Jim Meyering  <jim@meyering.net>
56448
56449         Fix a bug in yesterday's change.
56450         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
56451         p->fts_statp->st_dev would be used uninitialized.
56452         Ensures that we always call fts_stat on the very first entry.
56453         Miklos Szeredi reported that find -xdev stopped working.
56454
56455 2006-10-12  Bruno Haible  <bruno@clisp.org>
56456
56457         * gnulib-tool (func_get_automake_snippet): Append an automatically
56458         computed EXTRA_DIST augmentation.
56459         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
56460         * modules/alloca-opt (Makefile.am): Likewise.
56461         * modules/allocsa (Makefile.am): Likewise.
56462         * modules/arcfour (Makefile.am): Likewise.
56463         * modules/arctwo (Makefile.am): Likewise.
56464         * modules/argmatch (Makefile.am): Likewise.
56465         * modules/argz (Makefile.am): Likewise.
56466         * modules/atexit (Makefile.am): Likewise.
56467         * modules/backupfile (Makefile.am): Likewise.
56468         * modules/byteswap (Makefile.am): Likewise.
56469         * modules/c-strtod (Makefile.am): Likewise.
56470         * modules/c-strtold (Makefile.am): Likewise.
56471         * modules/calloc (Makefile.am): Likewise.
56472         * modules/canon-host (Makefile.am): Likewise.
56473         * modules/canonicalize (Makefile.am): Likewise.
56474         * modules/chdir-long (Makefile.am): Likewise.
56475         * modules/chdir-safer (Makefile.am): Likewise.
56476         * modules/check-version (Makefile.am): Likewise.
56477         * modules/chown (Makefile.am): Likewise.
56478         * modules/cloexec (Makefile.am): Likewise.
56479         * modules/close-stream (Makefile.am): Likewise.
56480         * modules/closeout (Makefile.am): Likewise.
56481         * modules/crc (Makefile.am): Likewise.
56482         * modules/csharpexec (Makefile.am): Likewise.
56483         * modules/cycle-check (Makefile.am): Likewise.
56484         * modules/des (Makefile.am): Likewise.
56485         * modules/dev-ino (Makefile.am): Likewise.
56486         * modules/dirfd (Makefile.am): Likewise.
56487         * modules/dirname (Makefile.am): Likewise.
56488         * modules/dup2 (Makefile.am): Likewise.
56489         * modules/eealloc (Makefile.am): Likewise.
56490         * modules/error (Makefile.am): Likewise.
56491         * modules/euidaccess (Makefile.am): Likewise.
56492         * modules/exclude (Makefile.am): Likewise.
56493         * modules/exitfail (Makefile.am): Likewise.
56494         * modules/fcntl-safer (Makefile.am): Likewise.
56495         * modules/fcntl (Makefile.am): Likewise.
56496         * modules/file-type (Makefile.am): Likewise.
56497         * modules/fileblocks (Makefile.am): Likewise.
56498         * modules/filemode (Makefile.am): Likewise.
56499         * modules/filenamecat (Makefile.am): Likewise.
56500         * modules/fnmatch (Makefile.am): Likewise.
56501         * modules/fopen-safer (Makefile.am): Likewise.
56502         * modules/fpending (Makefile.am): Likewise.
56503         * modules/fprintftime (Makefile.am): Likewise.
56504         * modules/free (Makefile.am): Likewise.
56505         * modules/fsusage (Makefile.am): Likewise.
56506         * modules/ftruncate (Makefile.am): Likewise.
56507         * modules/fts (Makefile.am): Likewise.
56508         * modules/gc-arcfour (Makefile.am): Likewise.
56509         * modules/gc-des (Makefile.am): Likewise.
56510         * modules/gc-hmac-md5 (Makefile.am): Likewise.
56511         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
56512         * modules/gc-md4 (Makefile.am): Likewise.
56513         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56514         * modules/gc-sha1 (Makefile.am): Likewise.
56515         * modules/gc (Makefile.am): Likewise.
56516         * modules/getaddrinfo (Makefile.am): Likewise.
56517         * modules/getcwd (Makefile.am): Likewise.
56518         * modules/getdelim (Makefile.am): Likewise.
56519         * modules/getdomainname (Makefile.am): Likewise.
56520         * modules/getgroups (Makefile.am): Likewise.
56521         * modules/gethostname (Makefile.am): Likewise.
56522         * modules/gethrxtime (Makefile.am): Likewise.
56523         * modules/getline (Makefile.am): Likewise.
56524         * modules/getloadavg (Makefile.am): Likewise.
56525         * modules/getlogin_r (Makefile.am): Likewise.
56526         * modules/getndelim2 (Makefile.am): Likewise.
56527         * modules/getopt (Makefile.am): Likewise.
56528         * modules/getpagesize (Makefile.am): Likewise.
56529         * modules/getpass-gnu (Makefile.am): Likewise.
56530         * modules/getpass (Makefile.am): Likewise.
56531         * modules/getsubopt (Makefile.am): Likewise.
56532         * modules/gettime (Makefile.am): Likewise.
56533         * modules/gettimeofday (Makefile.am): Likewise.
56534         * modules/getugroups (Makefile.am): Likewise.
56535         * modules/getusershell (Makefile.am): Likewise.
56536         * modules/glob (Makefile.am): Likewise.
56537         * modules/group-member (Makefile.am): Likewise.
56538         * modules/hard-locale (Makefile.am): Likewise.
56539         * modules/hash (Makefile.am): Likewise.
56540         * modules/hmac-md5 (Makefile.am): Likewise.
56541         * modules/hmac-sha1 (Makefile.am): Likewise.
56542         * modules/human (Makefile.am): Likewise.
56543         * modules/idcache (Makefile.am): Likewise.
56544         * modules/imaxabs (Makefile.am): Likewise.
56545         * modules/imaxdiv (Makefile.am): Likewise.
56546         * modules/inet_ntop (Makefile.am): Likewise.
56547         * modules/inet_pton (Makefile.am): Likewise.
56548         * modules/intprops (Makefile.am): Likewise.
56549         * modules/inttostr (Makefile.am): Likewise.
56550         * modules/inttypes (Makefile.am): Likewise.
56551         * modules/isapipe (Makefile.am): Likewise.
56552         * modules/javaversion (Makefile.am): Likewise.
56553         * modules/lchmod (Makefile.am): Likewise.
56554         * modules/lchown (Makefile.am): Likewise.
56555         * modules/localcharset (Makefile.am): Likewise.
56556         * modules/long-options (Makefile.am): Likewise.
56557         * modules/lstat (Makefile.am): Likewise.
56558         * modules/malloc (Makefile.am): Likewise.
56559         * modules/mathl (Makefile.am): Likewise.
56560         * modules/mbchar (Makefile.am): Likewise.
56561         * modules/md2 (Makefile.am): Likewise.
56562         * modules/md4 (Makefile.am): Likewise.
56563         * modules/md5 (Makefile.am): Likewise.
56564         * modules/memcasecmp (Makefile.am): Likewise.
56565         * modules/memchr (Makefile.am): Likewise.
56566         * modules/memcmp (Makefile.am): Likewise.
56567         * modules/memcoll (Makefile.am): Likewise.
56568         * modules/memcpy (Makefile.am): Likewise.
56569         * modules/memmem (Makefile.am): Likewise.
56570         * modules/memmove (Makefile.am): Likewise.
56571         * modules/mempcpy (Makefile.am): Likewise.
56572         * modules/memrchr (Makefile.am): Likewise.
56573         * modules/memset (Makefile.am): Likewise.
56574         * modules/memxor (Makefile.am): Likewise.
56575         * modules/mkancesdirs (Makefile.am): Likewise.
56576         * modules/mkdir-p (Makefile.am): Likewise.
56577         * modules/mkdir (Makefile.am): Likewise.
56578         * modules/mkdtemp (Makefile.am): Likewise.
56579         * modules/mkstemp (Makefile.am): Likewise.
56580         * modules/mktime (Makefile.am): Likewise.
56581         * modules/modechange (Makefile.am): Likewise.
56582         * modules/mountlist (Makefile.am): Likewise.
56583         * modules/nanosleep (Makefile.am): Likewise.
56584         * modules/obstack (Makefile.am): Likewise.
56585         * modules/openat (Makefile.am): Likewise.
56586         * modules/pagealign_alloc (Makefile.am): Likewise.
56587         * modules/pathmax (Makefile.am): Likewise.
56588         * modules/physmem (Makefile.am): Likewise.
56589         * modules/poll (Makefile.am): Likewise.
56590         * modules/posixtm (Makefile.am): Likewise.
56591         * modules/posixver (Makefile.am): Likewise.
56592         * modules/putenv (Makefile.am): Likewise.
56593         * modules/quote (Makefile.am): Likewise.
56594         * modules/quotearg (Makefile.am): Likewise.
56595         * modules/raise (Makefile.am): Likewise.
56596         * modules/read-file (Makefile.am): Likewise.
56597         * modules/readline (Makefile.am): Likewise.
56598         * modules/readlink (Makefile.am): Likewise.
56599         * modules/readtokens (Makefile.am): Likewise.
56600         * modules/readutmp (Makefile.am): Likewise.
56601         * modules/realloc (Makefile.am): Likewise.
56602         * modules/regex (Makefile.am): Likewise.
56603         * modules/rename-dest-slash (Makefile.am): Likewise.
56604         * modules/rename (Makefile.am): Likewise.
56605         * modules/rijndael (Makefile.am): Likewise.
56606         * modules/rmdir (Makefile.am): Likewise.
56607         * modules/rpmatch (Makefile.am): Likewise.
56608         * modules/safe-read (Makefile.am): Likewise.
56609         * modules/safe-write (Makefile.am): Likewise.
56610         * modules/same-inode (Makefile.am): Likewise.
56611         * modules/same (Makefile.am): Likewise.
56612         * modules/save-cwd (Makefile.am): Likewise.
56613         * modules/savedir (Makefile.am): Likewise.
56614         * modules/setenv (Makefile.am): Likewise.
56615         * modules/settime (Makefile.am): Likewise.
56616         * modules/sha1 (Makefile.am): Likewise.
56617         * modules/sig2str (Makefile.am): Likewise.
56618         * modules/snprintf (Makefile.am): Likewise.
56619         * modules/stat-macros (Makefile.am): Likewise.
56620         * modules/stat-time (Makefile.am): Likewise.
56621         * modules/stdbool (Makefile.am): Likewise.
56622         * modules/stdint (Makefile.am): Likewise.
56623         * modules/stdlib-safer (Makefile.am): Likewise.
56624         * modules/stpcpy (Makefile.am): Likewise.
56625         * modules/stpncpy (Makefile.am): Likewise.
56626         * modules/strcase (Makefile.am): Likewise.
56627         * modules/strcasestr (Makefile.am): Likewise.
56628         * modules/strchrnul (Makefile.am): Likewise.
56629         * modules/strcspn (Makefile.am): Likewise.
56630         * modules/strdup (Makefile.am): Likewise.
56631         * modules/strerror (Makefile.am): Likewise.
56632         * modules/strftime (Makefile.am): Likewise.
56633         * modules/strndup (Makefile.am): Likewise.
56634         * modules/strnlen (Makefile.am): Likewise.
56635         * modules/strpbrk (Makefile.am): Likewise.
56636         * modules/strsep (Makefile.am): Likewise.
56637         * modules/strstr (Makefile.am): Likewise.
56638         * modules/strtod (Makefile.am): Likewise.
56639         * modules/strtoimax (Makefile.am): Likewise.
56640         * modules/strtok_r (Makefile.am): Likewise.
56641         * modules/strtol (Makefile.am): Likewise.
56642         * modules/strtoll (Makefile.am): Likewise.
56643         * modules/strtoul (Makefile.am): Likewise.
56644         * modules/strtoull (Makefile.am): Likewise.
56645         * modules/strtoumax (Makefile.am): Likewise.
56646         * modules/strverscmp (Makefile.am): Likewise.
56647         * modules/sys_socket (Makefile.am): Likewise.
56648         * modules/sys_stat (Makefile.am): Likewise.
56649         * modules/sysexits (Makefile.am): Likewise.
56650         * modules/time_r (Makefile.am): Likewise.
56651         * modules/timegm (Makefile.am): Likewise.
56652         * modules/timespec (Makefile.am): Likewise.
56653         * modules/tmpfile-safer (Makefile.am): Likewise.
56654         * modules/trim (Makefile.am): Likewise.
56655         * modules/unistd-safer (Makefile.am): Likewise.
56656         * modules/unlinkdir (Makefile.am): Likewise.
56657         * modules/unlocked-io (Makefile.am): Likewise.
56658         * modules/userspec (Makefile.am): Likewise.
56659         * modules/utime (Makefile.am): Likewise.
56660         * modules/utimecmp (Makefile.am): Likewise.
56661         * modules/utimens (Makefile.am): Likewise.
56662         * modules/vasnprintf (Makefile.am): Likewise.
56663         * modules/vasprintf (Makefile.am): Likewise.
56664         * modules/vsnprintf (Makefile.am): Likewise.
56665         * modules/xalloc (Makefile.am): Likewise.
56666         * modules/xgetcwd (Makefile.am): Likewise.
56667         * modules/xnanosleep (Makefile.am): Likewise.
56668         * modules/xreadlink (Makefile.am): Likewise.
56669         * modules/xstrtod (Makefile.am): Likewise.
56670         * modules/xstrtol (Makefile.am): Likewise.
56671         * modules/xstrtold (Makefile.am): Likewise.
56672         * modules/yesno (Makefile.am): Likewise.
56673         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
56674
56675 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56676
56677         * modules/error (Makefile.am): Distribute files through
56678         EXTRA_DIST, not lib_SOURCES.
56679
56680 2006-10-12  Eric Blake  <ebb9@byu.net>
56681
56682         * modules/error (Makefile.am): Distribute files in /lib.
56683         * modules/obstack (Makefile.am): Likewise.
56684
56685 2006-10-12  Bruno Haible  <bruno@clisp.org>
56686
56687         * modules/acl (Makefile.am): Distribute all files in lib/ through
56688         EXTRA_DIST.
56689         * modules/arcfour (Makefile.am): Likewise.
56690         * modules/arctwo (Makefile.am): Likewise.
56691         * modules/argmatch (Makefile.am): Likewise.
56692         * modules/argz (Makefile.am): Likewise.
56693         * modules/atexit (Makefile.am): Likewise.
56694         * modules/backupfile (Makefile.am): Likewise.
56695         * modules/c-strtod (Makefile.am): Likewise.
56696         * modules/c-strtold (Makefile.am): Likewise.
56697         * modules/calloc (Makefile.am): Likewise.
56698         * modules/canon-host (Makefile.am): Likewise.
56699         * modules/canonicalize (Makefile.am): Likewise.
56700         * modules/chdir-long (Makefile.am): Likewise.
56701         * modules/chdir-safer (Makefile.am): Likewise.
56702         * modules/check-version (Makefile.am): Likewise.
56703         * modules/chown (Makefile.am): Likewise.
56704         * modules/cloexec (Makefile.am): Likewise.
56705         * modules/close-stream (Makefile.am): Likewise.
56706         * modules/closeout (Makefile.am): Likewise.
56707         * modules/crc (Makefile.am): Likewise.
56708         * modules/cycle-check (Makefile.am): Likewise.
56709         * modules/des (Makefile.am): Likewise.
56710         * modules/dirfd (Makefile.am): Likewise.
56711         * modules/dirname (Makefile.am): Likewise.
56712         * modules/dup2 (Makefile.am): Likewise.
56713         * modules/euidaccess (Makefile.am): Likewise.
56714         * modules/exclude (Makefile.am): Likewise.
56715         * modules/exitfail (Makefile.am): Likewise.
56716         * modules/fcntl-safer (Makefile.am): Likewise.
56717         * modules/file-type (Makefile.am): Likewise.
56718         * modules/fileblocks (Makefile.am): Likewise.
56719         * modules/filemode (Makefile.am): Likewise.
56720         * modules/filenamecat (Makefile.am): Likewise.
56721         * modules/fnmatch (Makefile.am): Likewise.
56722         * modules/fopen-safer (Makefile.am): Likewise.
56723         * modules/fpending (Makefile.am): Likewise.
56724         * modules/fprintftime (Makefile.am): Likewise.
56725         * modules/free (Makefile.am): Likewise.
56726         * modules/fsusage (Makefile.am): Likewise.
56727         * modules/ftruncate (Makefile.am): Likewise.
56728         * modules/fts (Makefile.am): Likewise.
56729         * modules/gc (Makefile.am): Likewise.
56730         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56731         * modules/getaddrinfo (Makefile.am): Likewise.
56732         * modules/getcwd (Makefile.am): Likewise.
56733         * modules/getdelim (Makefile.am): Likewise.
56734         * modules/getdomainname (Makefile.am): Likewise.
56735         * modules/getgroups (Makefile.am): Likewise.
56736         * modules/gethostname (Makefile.am): Likewise.
56737         * modules/gethrxtime (Makefile.am): Likewise.
56738         * modules/getline (Makefile.am): Likewise.
56739         * modules/getloadavg (Makefile.am): Likewise.
56740         * modules/getlogin_r (Makefile.am): Likewise.
56741         * modules/getopt (Makefile.am): Likewise.
56742         * modules/getpass (Makefile.am): Likewise.
56743         * modules/getpass-gnu (Makefile.am): Likewise.
56744         * modules/getsubopt (Makefile.am): Likewise.
56745         * modules/gettime (Makefile.am): Likewise.
56746         * modules/gettimeofday (Makefile.am): Likewise.
56747         * modules/getugroups (Makefile.am): Likewise.
56748         * modules/getusershell (Makefile.am): Likewise.
56749         * modules/glob (Makefile.am): Likewise.
56750         * modules/group-member (Makefile.am): Likewise.
56751         * modules/hard-locale (Makefile.am): Likewise.
56752         * modules/hash (Makefile.am): Likewise.
56753         * modules/hmac-md5 (Makefile.am): Likewise.
56754         * modules/hmac-sha1 (Makefile.am): Likewise.
56755         * modules/human (Makefile.am): Likewise.
56756         * modules/idcache (Makefile.am): Likewise.
56757         * modules/imaxabs (Makefile.am): Likewise.
56758         * modules/imaxdiv (Makefile.am): Likewise.
56759         * modules/inet_ntop (Makefile.am): Likewise.
56760         * modules/inet_pton (Makefile.am): Likewise.
56761         * modules/inttostr (Makefile.am): Likewise.
56762         * modules/isapipe (Makefile.am): Likewise.
56763         * modules/lchown (Makefile.am): Likewise.
56764         * modules/long-options (Makefile.am): Likewise.
56765         * modules/lstat (Makefile.am): Likewise.
56766         * modules/malloc (Makefile.am): Likewise.
56767         * modules/mathl (Makefile.am): Likewise.
56768         * modules/mbchar (Makefile.am): Likewise.
56769         * modules/md2 (Makefile.am): Likewise.
56770         * modules/md4 (Makefile.am): Likewise.
56771         * modules/md5 (Makefile.am): Likewise.
56772         * modules/memcasecmp (Makefile.am): Likewise.
56773         * modules/memchr (Makefile.am): Likewise.
56774         * modules/memcmp (Makefile.am): Likewise.
56775         * modules/memcoll (Makefile.am): Likewise.
56776         * modules/memcpy (Makefile.am): Likewise.
56777         * modules/memmem (Makefile.am): Likewise.
56778         * modules/memmove (Makefile.am): Likewise.
56779         * modules/mempcpy (Makefile.am): Likewise.
56780         * modules/memrchr (Makefile.am): Likewise.
56781         * modules/memset (Makefile.am): Likewise.
56782         * modules/memxor (Makefile.am): Likewise.
56783         * modules/mkancesdirs (Makefile.am): Likewise.
56784         * modules/mkdir (Makefile.am): Likewise.
56785         * modules/mkdir-p (Makefile.am): Likewise.
56786         * modules/mkdtemp (Makefile.am): Likewise.
56787         * modules/mkstemp (Makefile.am): Likewise.
56788         * modules/mktime (Makefile.am): Likewise.
56789         * modules/modechange (Makefile.am): Likewise.
56790         * modules/mountlist (Makefile.am): Likewise.
56791         * modules/nanosleep (Makefile.am): Likewise.
56792         * modules/openat (Makefile.am): Likewise.
56793         * modules/pagealign_alloc (Makefile.am): Likewise.
56794         * modules/physmem (Makefile.am): Likewise.
56795         * modules/poll (Makefile.am): Likewise.
56796         * modules/posixtm (Makefile.am): Likewise.
56797         * modules/posixver (Makefile.am): Likewise.
56798         * modules/putenv (Makefile.am): Likewise.
56799         * modules/quote (Makefile.am): Likewise.
56800         * modules/quotearg (Makefile.am): Likewise.
56801         * modules/raise (Makefile.am): Likewise.
56802         * modules/read-file (Makefile.am): Likewise.
56803         * modules/readline (Makefile.am): Likewise.
56804         * modules/readlink (Makefile.am): Likewise.
56805         * modules/readtokens (Makefile.am): Likewise.
56806         * modules/readutmp (Makefile.am): Likewise.
56807         * modules/realloc (Makefile.am): Likewise.
56808         * modules/regex (Makefile.am): Likewise.
56809         * modules/rename (Makefile.am): Likewise.
56810         * modules/rename-dest-slash (Makefile.am): Likewise.
56811         * modules/rijndael (Makefile.am): Likewise.
56812         * modules/rmdir (Makefile.am): Likewise.
56813         * modules/rpmatch (Makefile.am): Likewise.
56814         * modules/safe-read (Makefile.am): Likewise.
56815         * modules/safe-write (Makefile.am): Likewise.
56816         * modules/same (Makefile.am): Likewise.
56817         * modules/save-cwd (Makefile.am): Likewise.
56818         * modules/savedir (Makefile.am): Likewise.
56819         * modules/setenv (Makefile.am): Likewise.
56820         * modules/settime (Makefile.am): Likewise.
56821         * modules/sha1 (Makefile.am): Likewise.
56822         * modules/sig2str (Makefile.am): Likewise.
56823         * modules/snprintf (Makefile.am): Likewise.
56824         * modules/stdlib-safer (Makefile.am): Likewise.
56825         * modules/stpcpy (Makefile.am): Likewise.
56826         * modules/stpncpy (Makefile.am): Likewise.
56827         * modules/strcase (Makefile.am): Likewise.
56828         * modules/strcasestr (Makefile.am): Likewise.
56829         * modules/strchrnul (Makefile.am): Likewise.
56830         * modules/strcspn (Makefile.am): Likewise.
56831         * modules/strdup (Makefile.am): Likewise.
56832         * modules/strerror (Makefile.am): Likewise.
56833         * modules/strftime (Makefile.am): Likewise.
56834         * modules/strndup (Makefile.am): Likewise.
56835         * modules/strnlen (Makefile.am): Likewise.
56836         * modules/strpbrk (Makefile.am): Likewise.
56837         * modules/strsep (Makefile.am): Likewise.
56838         * modules/strstr (Makefile.am): Likewise.
56839         * modules/strtod (Makefile.am): Likewise.
56840         * modules/strtoimax (Makefile.am): Likewise.
56841         * modules/strtok_r (Makefile.am): Likewise.
56842         * modules/strtol (Makefile.am): Likewise.
56843         * modules/strtoll (Makefile.am): Likewise.
56844         * modules/strtoul (Makefile.am): Likewise.
56845         * modules/strtoull (Makefile.am): Likewise.
56846         * modules/strtoumax (Makefile.am): Likewise.
56847         * modules/strverscmp (Makefile.am): Likewise.
56848         * modules/time_r (Makefile.am): Likewise.
56849         * modules/timegm (Makefile.am): Likewise.
56850         * modules/tmpfile-safer (Makefile.am): Likewise.
56851         * modules/unistd-safer (Makefile.am): Likewise.
56852         * modules/unlinkdir (Makefile.am): Likewise.
56853         * modules/userspec (Makefile.am): Likewise.
56854         * modules/utime (Makefile.am): Likewise.
56855         * modules/utimecmp (Makefile.am): Likewise.
56856         * modules/utimens (Makefile.am): Likewise.
56857         * modules/vasnprintf (Makefile.am): Likewise.
56858         * modules/vasprintf (Makefile.am): Likewise.
56859         * modules/vsnprintf (Makefile.am): Likewise.
56860         * modules/xalloc (Makefile.am): Likewise.
56861         * modules/xgetcwd (Makefile.am): Likewise.
56862         * modules/xnanosleep (Makefile.am): Likewise.
56863         * modules/xreadlink (Makefile.am): Likewise.
56864         * modules/xstrtod (Makefile.am): Likewise.
56865         * modules/xstrtol (Makefile.am): Likewise.
56866         * modules/xstrtold (Makefile.am): Likewise.
56867         * modules/yesno (Makefile.am): Likewise.
56868
56869 2006-10-12  Jim Meyering  <jim@meyering.net>
56870
56871         * m4/getloadavg.m4: Revert the change below.
56872
56873         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
56874         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
56875         fail with a symlink, which is what coreutils' ./bootstrap now
56876         creates by default.
56877
56878 2006-10-12  Bruno Haible  <bruno@clisp.org>
56879
56880         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
56881         mingw.
56882         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
56883         MSVC and mingw explicitly.
56884
56885 2006-10-11  Simon Josefsson  <jas@extundo.com>
56886             Bruno Haible  <bruno@clisp.org>
56887
56888         Add support for multiple gnulib-tool invocations in the scope of a
56889         single configure.ac file.
56890         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
56891         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
56892         with the same contents as the _LIBADD variable.
56893         (func_emit_initmacro_start, func_emit_initmacro_end,
56894         func_emit_initmacro_done): New functions.
56895         (func_import, func_create_testdir): Invoke them. Allow the identifiers
56896         gl_LIBOBJS and gl_LTLIBOBJS.
56897
56898 2006-10-11  Bruno Haible  <bruno@clisp.org>
56899
56900         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
56901         (func_create_testdir): Don't create po/Makefile.am, don't invoke
56902         autoreconf. Instead, invoke autopoint explicitly but move back the
56903         *.m4 files from gnulib.
56904
56905 2006-10-11  Bruno Haible  <bruno@clisp.org>
56906
56907         * gnulib-tool (func_usage): Make module names after --create-testdir
56908         optional.
56909         (func_create_testdir): If no module was specified, use nearly all
56910         modules.
56911
56912 2006-10-12  Jim Meyering  <jim@meyering.net>
56913
56914         Big performance improvement for fts-based tools that use FTS_NOSTAT.
56915         Avoid spurious inode-mismatch problems on non-POSIX file systems.
56916         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
56917         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
56918         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
56919         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
56920         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
56921         (fts_set_stat_required): New function.
56922         (fts_open): Defer the calls to fts_stat, if possible or requested.
56923         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
56924         into fts_stat itself.
56925         (fts_read): Perform any required (deferred) fts_stat call.
56926         (fts_build): Likewise, for the directory we're about to open and read.
56927         In the readdir loop, carefully decide whether each entry will require
56928         an eventual call to fts_stat, using dirent.d_type info if available.
56929         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
56930         a command line argument into this function.  Update all callers.
56931         Map a return value of FTS_DOT to FTS_D for a command line argument.
56932         * modules/fts (Depends-on): Add d-type.  Alphabetize.
56933         Thanks to Miklos Szeredi for his tenacity and for the initial
56934         bug report about "find" failing on a FUSE-based file system.
56935
56936         * lib/fts.c (fts_open): Use consistent indentation.
56937
56938 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56939
56940         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
56941         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
56942         reported by Jim Meyering.  All uses of cache variables renamed
56943         to match Autoconf's.
56944         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
56945         the other one.
56946
56947         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
56948         Fix misspelling in diagnostic.
56949
56950 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56951
56952         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
56953         defined.  Problem reported by Matthew Woehlke.
56954
56955         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
56956         Add support for Tandem NonStop R series.
56957         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
56958         Use new macro.
56959
56960         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
56961         (has_trailing_slash): Omit size arg; all callers changed.
56962         Omit 'inline', since it doesn't help performance and we'd
56963         need to configure it.
56964         Don't count //, ///, etc. as having a trailing slash.
56965         As a side effect, this removes a C99ism reported by Matthew Woehlke.
56966         (rpl_rename_dest_slash): On failure, use rename's errno rather
56967         than (in some cases) an incorrect or junk errno.
56968         Simplify code by removing need to compute length; this does
56969         cause it to make two passes instead of one over the file name,
56970         but it's worth it.
56971
56972         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
56973         change, since Autoconf's version may no longer be appropriate now
56974         that we are using CVS Autoconf's version.  Add support for Tandem.
56975
56976 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56977             Bruno Haible  <bruno@clisp.org>
56978
56979         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
56980         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
56981         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
56982         gl_AC_TYPE_LONG_LONG.
56983
56984         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
56985         instead of HAVE_LONG_LONG.
56986         * lib/printf-args.c (printf_fetchargs): Likewise.
56987         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
56988         * lib/vasnprintf.c (VASNPRINTF): Likewise.
56989         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
56990         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
56991         gl_AC_TYPE_LONG_LONG.
56992
56993 2006-10-11  Bruno Haible  <bruno@clisp.org>
56994
56995         * m4/longlong.m4: Add comments.
56996         * m4/ulonglong.m4: Likewise.
56997
56998 2006-10-10  Bruno Haible  <bruno@clisp.org>
56999
57000         Make it possible to #define stpcpy, strdup to aliases.
57001         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
57002         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
57003
57004 2006-10-10  Bruno Haible  <bruno@clisp.org>
57005
57006         Make it possible to #define gcd to an alias.
57007         * lib/gcd.c: Include config.h.
57008
57009 2006-10-10  Bruno Haible  <bruno@clisp.org>
57010
57011         Make it possible to #define c_isascii to an alias.
57012         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
57013         defined. Undefine the macros before defining them, to avoid gcc
57014         warnings.
57015         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
57016         define NO_C_CTYPE_MACROS early.
57017
57018 2006-10-10  Bruno Haible  <bruno@clisp.org>
57019
57020         Make it possible to #define set_program_name to an alias.
57021         * lib/progname.c: Don't undefine set_program_name; instead, undefine
57022         ENABLE_RELOCATABLE early.
57023
57024 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57025
57026         Port to Tandem NSK OSS, which has 64-bit signed int but at most
57027         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
57028         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
57029         More generally, don't assume that 64-bit signed int is available
57030         if unsigned int is, and vice versa.
57031         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
57032         unsigned symbols, not on their signed counterparts.
57033         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
57034         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
57035         (UINT64_C, UINTMAX_C):
57036         Likewise.
57037         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
57038         unsigned counterparts.
57039         (Have_long_long, Unsigned): New macros.
57040         (Int): Renamed from INT.
57041         (strtoimax): Use the new macros.
57042         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
57043         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
57044         * modules/inttypes (inttypes.h): Substitute
57045         HAVE_UNSIGNED_LONG_LONG_INT.
57046         * modules/stdint (stdint.h): Likewise.
57047         (Files): Add m4/ulonglong.m4.
57048
57049 2006-10-10  Bruno Haible  <bruno@clisp.org>
57050
57051         Fix a gcc -Wshadow warning.
57052         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
57053         to 'bucket'.
57054         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
57055         gl_linked_indexof_from_to): Likewise.
57056         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
57057         Likewise.
57058         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
57059         Likewise.
57060         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
57061         Reported by Eric Blake.
57062
57063 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
57064
57065         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
57066         for NetBSD.  Problem reported by Bruno Haible.
57067
57068 2006-10-09  Jim Meyering  <jim@meyering.net>
57069
57070         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
57071         Patch from Bruno Haible.
57072
57073 2006-10-09  Jim Meyering  <jim@meyering.net>
57074
57075         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
57076         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
57077         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
57078
57079 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57080
57081         Don't include <config.h> twice; this doesn't work in some cases,
57082         e.g., when config.h has "#define intmax_t long long int" and
57083         we include <config.h>, <inttypes.h>, <config.h> in that order.
57084         Problem reported by Matthew Woehlke in:
57085         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
57086         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
57087         * lib/fts-cycle.c: Don't include config.h.
57088         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
57089         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
57090         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
57091         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
57092         inttypes.h.
57093         * lib/xstrtoumax.c: Likewise.
57094         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
57095         __strtol and the like, so that this module is more like its siblings.
57096         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
57097         Remove; no longer needed now that we assume gnulib inttypes.h.
57098
57099 2006-10-08  Bruno Haible  <bruno@clisp.org>
57100
57101         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
57102         option.
57103
57104 2006-10-07  Jim Meyering  <jim@meyering.net>
57105
57106         * modules/inttypes (inttypes.h): Revert what seems to have been
57107         an inadvertent part of today's change: use "|", not "/" in the
57108         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
57109
57110 2006-10-07  Bruno Haible  <bruno@clisp.org>
57111
57112         * modules/sublist: New file.
57113
57114 2006-10-07  Bruno Haible  <bruno@clisp.org>
57115
57116         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
57117         * modules/argz (argz.h): Likewise.
57118         * modules/arpa_inet (arpa/inet.h): Likewise.
57119         * modules/byteswap (byteswap.h): Likewise.
57120         * modules/configmake (configmake.h): Likewise.
57121         * modules/fcntl (fcntl.h): Likewise.
57122         * modules/fnmatch (fnmatch.h): Likewise.
57123         * modules/getopt (getopt.h): Likewise.
57124         * modules/glob (glob.h): Likewise.
57125         * modules/inttypes (inttypes.h): Likewise.
57126         * modules/netinet_in (netinet/in.h): Likewise.
57127         * modules/poll (poll.h): Likewise.
57128         * modules/stdbool (stdbool.h): Likewise.
57129         * modules/stdint (stdint.h): Likewise.
57130         * modules/sys_select (sys/select.h): Likewise.
57131         * modules/sys_socket (sys/socket.h): Likewise.
57132         * modules/sys_stat (sys/stat.h): Likewise.
57133         * modules/sysexits (sysexits.h): Likewise.
57134         * modules/unistd (unistd.h): Likewise.
57135         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57136         Add a "DO NOT EDIT" comment to the generated file.
57137         (func_import): Likewise for gnulib-comp.m4.
57138
57139 2006-10-07  Bruno Haible  <bruno@clisp.org>
57140
57141         * lib/gl_sublist.h: New file.
57142         * lib/gl_sublist.c: New file.
57143
57144 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57145
57146         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
57147         name (relative to the original working directory) and the file
57148         name component (relative to the temporary working directory).  All
57149         callers changed.
57150         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
57151         * lib/mkdir-p.c (make_dir_parents): Likewise.
57152         * lib/mkdir-p.h (make_dir_parents): Likewise.
57153
57154 2006-10-06  Eric Blake  <ebb9@byu.net>
57155
57156         Define several macros for use by the clean-temp module.
57157         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
57158         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
57159         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
57160
57161         * lib/clean-temp.h (close_stream_temp): New declaration.
57162         * lib/clean-temp.c (includes): Pull in headers according to what
57163         other modules are in use.
57164         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
57165
57166 2006-10-06  Bruno Haible  <bruno@clisp.org>
57167
57168         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
57169         instead of fopen, fwriteerror.
57170
57171 2006-10-06  Bruno Haible  <bruno@clisp.org>
57172
57173         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
57174         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
57175         int.
57176         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
57177         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
57178         Return an error indicator.
57179         Suggested by Eric Blake.
57180
57181 2006-10-06  Bruno Haible  <bruno@clisp.org>
57182
57183         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
57184         Reported by Eric Blake.
57185
57186 2006-10-06  Bruno Haible  <bruno@clisp.org>
57187
57188         * modules/closeout (Description): Mention stderr too.
57189
57190 2006-10-06  Bruno Haible  <bruno@clisp.org>
57191         and Paul Eggert  <eggert@cs.ucla.edu>
57192
57193         * lib/closeout.c (close_stdout): Also close stderr.
57194         * lib/closeout.h: Update comment.
57195
57196 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
57197
57198         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
57199         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
57200         * lib/dirchownmod.c: Include lchown.h.
57201         * lib/lchown.c: Don't include files that lchown.h now includes.
57202         Don't declare chown, since lchown.h now does that.
57203         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
57204         (lchown): Define to rpl_chown if lchown is declared but
57205         does not exist.  Declare using a prototype if lchown is not
57206         declared.  Add a copyright notice.
57207         * lib/mkstemp.h: Include <unistd.h>.
57208         * lib/openat.c: Include lchown.h.
57209
57210         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
57211         we now test for that separately.
57212         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
57213         rather than O_NOFOLLOW, when testing whether it's possible to
57214         avoid a race condition reliably.
57215         * lib/savewd.c (savewd_chdir): Likewise.
57216
57217         Remove macros that are no longer needed now that stdint.h is
57218         reliable.
57219         * lib/fsusage.c (UINTMAX_MAX): Remove.
57220         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
57221         * lib/utimecmp.c (SIZE_MAX): Remove.
57222
57223         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
57224
57225         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
57226         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
57227         O_NOATIME works.
57228
57229 2006-10-05  Bruno Haible  <bruno@clisp.org>
57230
57231         * lib/gl_list.h (gl_sortedlist_search_from_to,
57232         gl_sortedlist_indexof_from_to): New declarations.
57233         (gl_list_implementation): New fields sortedlist_search_from_to,
57234         sortedlist_indexof_from_to.
57235         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
57236         inline functions.
57237         * lib/gl_list.c (gl_sortedlist_search_from_to,
57238         gl_sortedlist_indexof_from_to): New functions.
57239         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
57240         function.
57241         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
57242         (gl_array_sortedlist_search_from_to): New function.
57243         (gl_array_list_implementation): Update.
57244         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
57245         function.
57246         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
57247         (gl_carray_sortedlist_search_from_to): New function.
57248         (gl_carray_list_implementation): Update.
57249         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
57250         gl_linked_sortedlist_indexof_from_to): New functions.
57251         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57252         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57253         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
57254         gl_tree_sortedlist_indexof_from_to): New functions.
57255         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57256         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57257         Update.
57258         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57259         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
57260         Update.
57261
57262 2006-10-05  Bruno Haible  <bruno@clisp.org>
57263
57264         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
57265         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
57266         (struct gl_list_implementation): Add fields search_from_to,
57267         indexof_from_to. Remove fields search, indexof.
57268         (gl_list_search): Use the search_from_to method.
57269         (gl_list_search_from, gl_list_search_from_to): New functions.
57270         (gl_list_indexof): Use the indexof_from_to method.
57271         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
57272         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
57273         (gl_list_search_from, gl_list_search_from_to): New functions.
57274         (gl_list_indexof): Use the indexof_from_to method.
57275         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
57276         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
57277         gl_array_indexof. Add start_index, end_index arguments.
57278         (gl_array_search_from_to): Renamed from gl_array_search. Add
57279         start_index, end_index arguments.
57280         (gl_array_remove, gl_array_list_implementation): Update.
57281         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
57282         gl_carray_indexof. Add start_index, end_index arguments.
57283         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
57284         start_index, end_index arguments.
57285         (gl_carray_remove, gl_carray_list_implementation): Update.
57286         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
57287         gl_linked_search. Add start_index, end_index arguments.
57288         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
57289         start_index, end_index arguments.
57290         (gl_linked_remove): Update.
57291         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57292         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57293         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
57294         field to 'size_t'.
57295         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
57296         gl_tree_search. Add start_index, end_index arguments.
57297         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
57298         start_index, end_index arguments.
57299         (gl_tree_remove): Update.
57300         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57301         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57302         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
57303         function.
57304         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
57305         gl_tree_search. Add start_index, end_index arguments.
57306         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
57307         start_index, end_index arguments.
57308         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57309         Update.
57310         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57311
57312 2006-10-05  Bruno Haible  <bruno@clisp.org>
57313
57314         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
57315
57316         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
57317         fwriteerror_temp): New declarations.
57318         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
57319         (descriptors): New variable.
57320         (cleanup): First, close the descriptors.
57321         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
57322         fclose_temp, fwriteerror_temp): New functions.
57323
57324 2006-10-04  Jim Meyering  <jim@meyering.net>
57325
57326         * lib/fts.c (fts_open): Tiny comment change.
57327
57328 2006-10-04  Bruno Haible  <bruno@clisp.org>
57329
57330         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
57331         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
57332         gl_LOCK_BODY.
57333         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
57334         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
57335         gl_LOCK_EARLY_BODY.
57336         (gl_LOCK): Require gl_LOCK_BODY.
57337
57338 2006-10-04  Bruno Haible  <bruno@clisp.org>
57339
57340         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
57341         (gl_oset_search_atleast): New declaration.
57342         (struct gl_oset_implementation): Add field 'search_atleast'.
57343         (gl_oset_search_atleast): New inline function.
57344         * lib/gl_oset.c (gl_oset_search_atleast): New function.
57345         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
57346         (gl_array_oset_implementation): Update.
57347         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
57348         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
57349         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
57350
57351 2006-10-04  Bruno Haible  <bruno@clisp.org>
57352
57353         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
57354
57355 2006-10-03  Bruno Haible  <bruno@clisp.org>
57356
57357         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
57358         from gl_avltreehash_list_implementation.
57359
57360 2006-10-03  Bruno Haible  <bruno@clisp.org>
57361
57362         * lib/gl_oset.c (gl_oset_add): Fix return type.
57363
57364 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
57365
57366         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
57367
57368 2006-10-02  Eric Blake  <ebb9@byu.net>
57369
57370         * modules/strnlen (Depends-on): Add extensions.
57371
57372 2006-10-02  Eric Blake  <ebb9@byu.net>
57373
57374         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
57375         definition in 2.60+.
57376
57377 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
57378
57379         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
57380         checks.
57381
57382 2006-10-02  Bruno Haible  <bruno@clisp.org>
57383
57384         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
57385         to the AUTOMAKE_OPTIONS.
57386         Reported by Jim Meyering.
57387
57388 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
57389
57390         Work around bug in Solaris 10 /proc file system:
57391         /proc/self/fd/NNN/.. isn't the parent directory of
57392         the directory whose file descriptor is NNN.  This needs to
57393         be worked around at run time, not compile time, since a
57394         program might be built on Solaris 8, where things work, and
57395         run on Solaris 10.
57396         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
57397         to use the following interface instead:
57398         (OPENAT_BUFFER_SIZE): New macro.
57399         (openat_proc_name): New function.
57400         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
57401         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
57402         Likewise.
57403         * lib/openat-proc.c: New file.
57404         * modules/openat (Files): Add lib/openat-proc.c.
57405         (Depends-on): Add same-inode, stdbool.
57406         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
57407
57408 2006-09-29  Bruno Haible  <bruno@clisp.org>
57409
57410         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
57411         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
57412         argument. Set stdout_closed before testing for ferror, not after.
57413         (fwriteerror, fwriteerror_no_ebadf): New functions.
57414
57415 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57416
57417         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
57418
57419 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
57420
57421         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
57422         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
57423
57424 2006-09-28  Jim Meyering  <jim@meyering.net>
57425
57426         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
57427         Include <unistd.h>.
57428
57429 2006-09-28  Bruno Haible  <bruno@clisp.org>
57430
57431         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
57432         * modules/linkedhash-list (Depends-on): Likewise.
57433         * modules/rbtreehash-list (Depends-on): Likewise.
57434
57435 2006-09-28  Bruno Haible  <bruno@clisp.org>
57436
57437         * lib/strndup.h: Simplify the redefinition of strndup.
57438         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
57439         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
57440
57441 2006-09-28  Bruno Haible  <bruno@clisp.org>
57442
57443         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
57444         * lib/gl_linkedhash_list.c: Likewise.
57445         * lib/gl_rbtreehash_list.c: Likewise.
57446
57447 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
57448
57449         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
57450         getaddrinfo.
57451
57452         * lib/__fpending.h: Don't include <stdio_ext.h> unless
57453         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
57454         it causes <stdio_ext.h> to cause a compile-time error.
57455         Problem reported by Nelson H. F. Beebe.
57456         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
57457         of HAVE_DECL___PENDING.
57458
57459         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
57460         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
57461         declaration.
57462
57463 2006-09-27  Jim Meyering  <jim@meyering.net>
57464
57465         This file could end up with a definition for a function
57466         named __strndup, rather than rpl_strndup on a system with
57467         incomplete weak_alias support.
57468         * lib/strndup.c (strndup): Rename from __strndup.
57469         Remove #defines that used to map __strndup to strndup.
57470         Don't use K&R prototypes.
57471         Remove LIBC-related code, since this file is not sync'd with glibc.
57472         * lib/strndup.h: Revamp, accordingly.
57473         * m4/strndup.m4: Modernize.
57474
57475 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
57476
57477         * modules/savewd (Depends-on): Add 'raise'.
57478         * lib/savewd.c: Include <signal.h>, for 'raise'.
57479
57480 2006-09-26  Jim Meyering  <jim@meyering.net>
57481
57482         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
57483         when we detect Darwin 8.7.0's acl_get_file bug.
57484         Rearrange to perform the new (below) run-test while $LIBS
57485         contains any acl-related library.  Set USE_ACL at the end.
57486         (gl_ACL_GET_FILE): New function.
57487
57488 2006-09-26  Eric Blake  <ebb9@byu.net>
57489
57490         * lib/verror.c: Include <config.h> unconditionally.
57491
57492 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
57493
57494         * modules/clock-time (Maintainer): Add self.
57495         * modules/getlogin_r (Depends-on): Add extensions.
57496
57497 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57498
57499         * modules/clock-time: New module.
57500         * modules/nanosleep (Depends-on): Add clock-time.
57501         * modules/gethrxtime (Depends-on): Likewise.
57502         * modules/gettime (Depends-on): Likewise.
57503         * modules/settime (Depends-on): Likewise.
57504
57505         * modules/fts-lgpl: Depend on openat.
57506         * modules/mkancesdirs: Depend on savewd.
57507         * modules/mkdir-p: Likewise.
57508
57509 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57510
57511         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
57512
57513         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
57514         `gl_have_arbitrary_file_name_length_limit' to
57515         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
57516         actually works between configure runs.
57517
57518 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57519             Bruno Haible  <bruno@clisp.org>
57520
57521         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
57522
57523 2006-09-25  Jim Meyering  <jim@meyering.net>
57524
57525         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
57526         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
57527
57528 2006-09-25  Eric Blake  <ebb9@byu.net>
57529
57530         * gnulib-tool (func_import, func_create_testdir): Fix typos in
57531         exec's in 2006-09-18 patch when shuffling fds.
57532
57533 2006-09-25  Bruno Haible  <bruno@clisp.org>
57534
57535         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
57536         Reported by Jim Meyering.
57537
57538 2006-09-24  Jim Meyering  <jim@meyering.net>
57539
57540         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
57541         compare a pointer against a literal "0".  That caused failures with
57542         at least HP-UX's hpcc.
57543
57544 2006-09-22  Simon Josefsson  <jas@extundo.com>
57545
57546         * modules/gc-sha1:
57547         * modules/gc-md4:
57548         * modules/gc-hmac-sha1:
57549         * modules/gc-hmac-md5:
57550         * modules/gc-des:
57551         * modules/gc-arcfour: Distribute more files.
57552
57553 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57554
57555         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
57556         (gl_linked_iterator_from_to): Initialize struct completely.
57557         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
57558         (gl_tree_iterator_from_to): Likewise
57559         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
57560         * lib/gl_array_list.c [lint] (gl_array_iterator)
57561         (gl_array_iterator_from_to): Likewise.
57562         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
57563         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
57564         (gl_carray_iterator_from_to): Likewise.
57565
57566         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
57567         * lib/md4.c (md4_process_block): Remove unused variable.
57568         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
57569         parentheses for clarity.
57570
57571 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57572
57573         * modules/bison-i18n (Depends-on): Add gettext.
57574
57575 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57576
57577         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
57578         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
57579         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
57580         also add missing comma that caused broken test.
57581         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
57582         stdlib.h, for `abort'.
57583         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
57584         variables.
57585         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
57586         include unistd.h if present, for `rmdir'.
57587         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
57588         variables.
57589         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
57590         in the process include standard headers for prototypes.
57591         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
57592         gets declared on GNU/Linux.
57593         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
57594         unistd.h, for `rmdir'.
57595         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
57596
57597         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
57598         always true.
57599         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
57600
57601         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
57602
57603 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57604
57605         * gnulib-tool (func_version): Create output all at once.  This
57606         may help avoid triggering unnecessary SIGPIPEs, and at any
57607         rate it doesn't hurt.
57608
57609 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57610             Bruno Haible  <bruno@clisp.org>
57611
57612         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
57613         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
57614         * m4/signed.m4 (bh_C_SIGNED): Likewise.
57615
57616         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
57617         (gl_FUNC_VASPRINTF): Invoke it.
57618
57619 2006-09-22  Bruno Haible  <bruno@clisp.org>
57620
57621         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
57622         getloadavg.c as first argument.
57623
57624 2006-09-22  Bruno Haible  <bruno@clisp.org>
57625
57626         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
57627         at the beginning of the gl_INIT macro.
57628         * modules/getloadavg (configure.ac): Pass $gl_source_base to
57629         gl_GETLOADAVG.
57630
57631 2006-09-22  Bruno Haible  <bruno@clisp.org>
57632
57633         * gnulib-tool (func_create_megatestdir): Don't include the config-h
57634         module.
57635         Suggested by Ralf Wildenhues.
57636
57637 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57638
57639         Import this patch from libc:
57640
57641         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
57642
57643         * lib/regex_internal.c (re_string_reconstruct): Handle
57644         offset < pstr->valid_raw_len && pstr->offsets_needed case.
57645         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
57646         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
57647         re_string_context_at.
57648
57649         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
57650         now requires it.
57651         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
57652         gl_REGEX now does it for us.
57653         (gl_REGEX): Add test taken from
57654         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
57655
57656         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
57657         Check that large offsets work.  Modernize Autoconf usages.
57658         Prefer "yes" to mean a good thing rather than a bad.
57659         Don't put "#define mkstemp" in config.h, as this might interfere
57660         with standard system headers that "#define mkstemp mkstemp64".
57661
57662         * modules/mkstemp (Depends-on): Add extensions, so that
57663         mkstemp is visible on some platforms.
57664         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
57665         (Include): Change to "mkstemp.h" from <stdlib.h>.
57666         (Files): Add mkstemp.h.
57667
57668         * lib/mkstemp.h: New file, since some standard headers
57669         #define mkstemp.
57670         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
57671         Include "mkstemp.h".
57672         Make the _LIBC code resemble glibc original more,
57673         e.g., use K&R style.
57674         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
57675         (mkstemp): Remove, since mkstemp.h does this for us.
57676         * lib/stdlib--.h: Include mkstemp.h.
57677
57678         Import this patch from libc:
57679
57680         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57681
57682         * lib/tempname.c (__gen_tempname): Change attempts_min
57683         into a macro.  Use preprocessor to decide how to initialize
57684         attempts [Coverity CID 67].
57685
57686 2006-09-20  Bruno Haible  <bruno@clisp.org>
57687
57688         * lib/mkdtemp.c: Import from libc.
57689         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57690                 * sysdeps/posix/tempname.c (__gen_tempname): Change
57691                 attempts_min into a macro.  Use preprocessor to decide how to
57692                 initialize attempts [Coverity CID 67].
57693         2001-11-27  Paul Eggert  <eggert@twinsun.com>
57694                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
57695                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
57696
57697 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57698
57699         * gnulib-tool (func_exit): New function, to allow to pass the
57700         exit status portably through the trap.  Use everywhere.
57701         (--help, --version): Signal a write error.
57702         (trap): catch SIGPIPE, for write errors.
57703         Exit at the end of the trap, with the correct exit status.
57704
57705 2006-09-19  Karl Berry  <karl@gnu.org>
57706
57707         * doc/gnulib.texi: note about the license texinfo files.
57708
57709 2006-09-19  Eric Blake  <ebb9@byu.net>
57710
57711         * gnulib-tool: Avoid space-tab.
57712
57713 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57714
57715         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
57716         that prevented coreutils 6.1 from building.  Problem reported
57717         by Petter Reinholdtsen.
57718
57719 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57720
57721         * gnulib-tool (avoidlist): Fix typo that broke options like
57722         --avoid=lock that are used by coreutils bootstrap.
57723
57724 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
57725
57726         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
57727         more systematically.
57728
57729 2006-09-18  Jim Meyering  <jim@meyering.net>
57730
57731         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
57732
57733 2006-09-18  Bruno Haible  <bruno@clisp.org>
57734
57735         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
57736
57737 2006-09-18  Bruno Haible  <bruno@clisp.org>
57738
57739         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
57740         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
57741         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
57742         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
57743         * m4/gettext.m4: Require autoconf >= 2.52.
57744         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
57745         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
57746         of gl_cv_header_inttypes_h.
57747
57748 2006-09-18  Bruno Haible  <bruno@clisp.org>
57749
57750         * lib/javaversion.c: Include configmake.h.
57751
57752 2006-09-18  Bruno Haible  <bruno@clisp.org>
57753
57754         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
57755         avoid that the while loops be executed in a subshell.
57756
57757 2006-09-18  Bruno Haible  <bruno@clisp.org>
57758
57759         * MODULES.html.sh (func_module): Break long lines.
57760         Suggested by Bruce Korb <bkorb@gnu.org>.
57761
57762 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57763
57764         Speed up by a factor of 1.12.
57765         * gnulib-tool (nl): New variable.
57766         (func_import): Rewrite include directive extraction to only read each
57767         directive once.
57768
57769 2006-09-17  Bruno Haible  <bruno@clisp.org>
57770
57771         * modules/javaversion (Makefile.am): Remove DEFS setting.
57772         (Depends-on): Add configmake, for PKGDATADIR definition.
57773
57774 2006-09-17  Bruno Haible  <bruno@clisp.org>
57775
57776         * gnulib-tool (func_create_testdir): Rewrite all files at once.
57777
57778 2006-09-17  Bruno Haible  <bruno@clisp.org>
57779
57780         * gnulib-tool (func_append): New function, stolen from libtool.m4.
57781         (func_modules_transitive_closure, func_modules_add_dummy,
57782         func_modules_to_filelist, func_import, func_create_testdir,
57783         func_create_megatestdir, ...): Use it wherever possible.
57784         Suggested by Ralf Wildenhues.
57785
57786 2006-09-16  Karl Berry  <karl@gnu.org>
57787
57788         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
57789         to avoid sectioning errors.
57790         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
57791         [ifinfo]: blank line after @center-ed titles.
57792         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
57793         Spell FSF address consistently with others.
57794         (These changes approved by rms.)
57795
57796 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57797
57798         Speed up by a factor of 1.61.
57799         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
57800         already checked module names again.
57801
57802 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57803
57804         Speed up by a factor of 1.13.
57805         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
57806         for new_files, and the input to func_add_or_update.
57807
57808 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57809
57810         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
57811         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
57812
57813 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57814
57815         * modules/mkancesdirs (Depends-on): Add fcntl.
57816         * modules/savewd: New file.
57817         * MODULES.html.sh (File system functions): Add savewd.
57818
57819         * modules/configmake (Makefile.am): Add support for the
57820         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
57821
57822 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57823
57824         * m4/savewd.m4: New file.
57825
57826 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57827
57828         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
57829         (dirchownmod): New arg FD.  All callers changed.
57830         Use FD rather than opening the directory ourself, as opening is
57831         now the caller's responsibility.
57832         * lib/dirchownmod.h: Likewise.
57833         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
57834         hosts that require <sys/types.h> before <sys/stat.h>.  Include
57835         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
57836         (test_dir): Remove.
57837         (mkancesdirs): Return length of prefix of FILE that has already
57838         been made, or -2 if there is a child doing the work.  Redo
57839         algorithm so that it is O(N) rather than O(N**2).  Optimize away
57840         ".", and treat ".." specially since it might stray back into
57841         already-created areas.  Use a subprocess if necessary.  New arg
57842         WD; all users changed.  MAKE_DIR function should now return 1
57843         if it creates a directory that is not readable.  Return -2 if
57844         a child process is spun off.
57845         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
57846         Adjust signature to match code.
57847         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
57848         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
57849         all users changed.
57850         * lib/savewd.c, lib/savewd.h: New files.
57851
57852 2006-09-15  Jim Meyering  <jim@meyering.net>
57853
57854         * modules/rename-dest-slash: New module.
57855         * MODULES.html.sh (posix_compat): Add it here.
57856
57857         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
57858
57859 2006-09-15  Jim Meyering  <jim@meyering.net>
57860
57861         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
57862         file.
57863
57864         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
57865
57866 2006-09-15  Jim Meyering  <jim@meyering.net>
57867
57868         * lib/rename-dest-slash.c (has_trailing_slash): Use
57869         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
57870         (rpl_rename_dest_slash): Perform the cheaper trailing slash
57871         test before testing whether SRC is a directory.
57872         Suggestions from Bruno Haible.
57873
57874         Avoid a warning about an unused variable.
57875         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
57876         into the #ifdef block where it's used.
57877
57878         * lib/rename-dest-slash.c: New file.
57879
57880 2006-09-14  Bruno Haible  <bruno@clisp.org>
57881
57882         * lib/allocsa.c: Include <config.h> unconditionally.
57883         * lib/asnprintf.c: Likewise.
57884         * lib/asprintf.c: Likewise.
57885         * lib/c-strcasecmp.c: Likewise.
57886         * lib/c-strcasestr.c: Likewise.
57887         * lib/c-strncasecmp.c: Likewise.
57888         * lib/c-strstr.c: Likewise.
57889         * lib/classpath.c: Likewise.
57890         * lib/clean-temp.c: Likewise.
57891         * lib/concatpath.c: Likewise.
57892         * lib/copy-file.c: Likewise.
57893         * lib/csharpcomp.c: Likewise.
57894         * lib/csharpexec.c: Likewise.
57895         * lib/execute.c: Likewise.
57896         * lib/fatal-signal.c: Likewise.
57897         * lib/findprog.c: Likewise.
57898         * lib/fwriteerror.c: Likewise.
57899         * lib/gl_array_list.c: Likewise.
57900         * lib/gl_array_oset.c: Likewise.
57901         * lib/gl_avltree_list.c: Likewise.
57902         * lib/gl_avltree_oset.c: Likewise.
57903         * lib/gl_avltreehash_list.c: Likewise.
57904         * lib/gl_carray_list.c: Likewise.
57905         * lib/gl_linked_list.c: Likewise.
57906         * lib/gl_linkedhash_list.c: Likewise.
57907         * lib/gl_list.c: Likewise.
57908         * lib/gl_oset.c: Likewise.
57909         * lib/gl_rbtree_list.c: Likewise.
57910         * lib/gl_rbtree_oset.c: Likewise.
57911         * lib/gl_rbtreehash_list.c: Likewise.
57912         * lib/imaxabs.c: Likewise.
57913         * lib/imaxdiv.c: Likewise.
57914         * lib/javacomp.c: Likewise.
57915         * lib/javaexec.c: Likewise.
57916         * lib/javaversion.c: Likewise.
57917         * lib/linebreak.c: Likewise.
57918         * lib/localcharset.c: Likewise.
57919         * lib/lock.c: Likewise.
57920         * lib/mbchar.c: Likewise.
57921         * lib/mbswidth.c: Likewise.
57922         * lib/mkdtemp.c: Likewise.
57923         * lib/pipe.c: Likewise.
57924         * lib/printf-args.c: Likewise.
57925         * lib/printf-parse.c: Likewise.
57926         * lib/progname.c: Likewise.
57927         * lib/progreloc.c: Likewise.
57928         * lib/readlink.c: Likewise.
57929         * lib/sh-quote.c: Likewise.
57930         * lib/stpcpy.c: Likewise.
57931         * lib/stpncpy.c: Likewise.
57932         * lib/strcasecmp.c: Likewise.
57933         * lib/strcasestr.c: Likewise.
57934         * lib/strcspn.c: Likewise.
57935         * lib/striconv.c: Likewise.
57936         * lib/strncasecmp.c: Likewise.
57937         * lib/strnlen1.c: Likewise.
57938         * lib/strstr.c: Likewise.
57939         * lib/strtok_r.c: Likewise.
57940         * lib/tls.c: Likewise.
57941         * lib/tmpdir.c: Likewise.
57942         * lib/unicodeio.c: Likewise.
57943         * lib/unsetenv.c: Likewise.
57944         * lib/vasnprintf.c: Likewise.
57945         * lib/vasprintf.c: Likewise.
57946         * lib/wait-process.c: Likewise.
57947         * lib/xallocsa.c: Likewise.
57948         * lib/xsetenv.c: Likewise.
57949         * lib/xstriconv.c: Likewise.
57950
57951 2006-09-13  Simon Josefsson  <jas@extundo.com>
57952
57953         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
57954         that internally, suggested by Ralf Wildenhues
57955         <Ralf.Wildenhues@gmx.de>.
57956
57957 2006-09-13  Simon Josefsson  <jas@extundo.com>
57958
57959         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
57960         @LIBOBJS@.
57961         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57962
57963 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57964
57965         * lib/_fpending.c: Include <config.h> unconditionally, since we no
57966         longer worry about uses that don't define HAVE_CONFIG_H.
57967         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
57968         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
57969         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
57970         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
57971         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
57972         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
57973         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
57974         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
57975         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
57976         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
57977         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
57978         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
57979         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
57980         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
57981         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
57982         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
57983         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
57984         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
57985         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
57986         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
57987         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
57988         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
57989         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
57990         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
57991         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
57992         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
57993         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
57994         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
57995         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
57996         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
57997         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
57998         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
57999         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
58000         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
58001         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
58002         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
58003         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
58004         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
58005         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
58006         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
58007         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
58008         Likewise.
58009
58010 2006-09-13  Eric Blake  <ebb9@byu.net>
58011
58012         * lib/getopt.c: Fix typo in last commit.
58013
58014 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58015
58016         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
58017         dgettext.
58018
58019 2006-09-12  Jim Meyering  <jim@meyering.net>
58020
58021         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
58022         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
58023         Reported by Nelson H. F. Beebe.
58024
58025 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
58026
58027         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
58028         program_invocation_name and program_invocation_short_name are
58029         initialized.
58030         * lib/argp-namefrob.h: Move declarations of program_invocation_name
58031         and program_invocation_short_name to argp.h, so they are visible
58032         to user programs.
58033         * lib/argp.h: Likewise
58034
58035 2006-09-10  Bruno Haible  <bruno@clisp.org>
58036
58037         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
58038         m4/inttypes_h.m4, m4/uintmax_t.m4.
58039
58040 2006-09-10  Bruno Haible  <bruno@clisp.org>
58041
58042         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
58043         gl_AC_TYPE_UINTMAX_T.
58044
58045 2006-09-10  Bruno Haible  <bruno@clisp.org>
58046
58047         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
58048
58049 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58050
58051         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
58052         convention.  Text proposed by Bruno Haible.
58053         (struct argp_option): Document the use of N_() wrappers.
58054
58055         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
58056         '\v', and translate the two parts separately, instead of feeding
58057         the whole string to gettext.  This allows to exclude
58058         '\v' from the strings visible to the translator by writing doc
58059         strings as N_("..") "\v" N_("..").
58060
58061 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
58062
58063         * config/srclist.txt: Undo latest change; the bug was fixed.
58064
58065 2006-09-09  Bruno Haible  <bruno@clisp.org>
58066
58067         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
58068         assignments if building a library without libtool.
58069         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
58070         in func_emit_lib_Makefile_am.
58071         (func_import): When building a static library libfoo.a, arrange to
58072         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
58073         (func_create_testdir): Likewise.
58074         * modules/gc (configure.ac, Makefile.am): If building statically,
58075         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
58076         * modules/iconvme (configure.ac, Makefile.am): Likewise.
58077         * modules/striconv (configure.ac, Makefile.am): Likewise.
58078         Based on a suggestion by Ralf Wildenhues.
58079
58080 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58081
58082         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
58083         Check for unistd.h too, since Autoconf doesn't assume POSIX.
58084         Also:
58085
58086         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58087         Add year_2050_test to catch glibc bug 2821
58088         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
58089
58090         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58091         Prefer #ifdef to #if.
58092
58093         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
58094         Return from 'main' instead of calling 'exit'.
58095
58096 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58097
58098         * lib/mktime.c (guess_time_tm): Fix bug where mktime
58099         returned the maximum time_t value rather than (time_t) -1.
58100         Problem originally reported by William Bardwell
58101         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
58102
58103         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
58104         Moved to here ...
58105         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
58106         ... from here.
58107
58108 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58109
58110         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
58111         2821 is fixed.
58112
58113 2006-09-08  Jim Meyering  <jim@meyering.net>
58114
58115         Don't make generated files read-only.  That would bother too many
58116         people.  However, do retain the ability to work when targets are
58117         read-only: remove the destination and temporary files before writing
58118         them (when generated via sed or echo), or by using the -f option for
58119         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
58120         * modules/alloca-opt, modules/argz, modules/arpa_inet:
58121         * modules/byteswap, modules/configmake, modules/fcntl:
58122         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
58123         * modules/localcharset, modules/netinet_in, modules/poll:
58124         * modules/stdbool, modules/stdint, modules/sys_select:
58125         * modules/sys_socket, modules/sys_stat, modules/sysexits:
58126
58127 2006-09-08  Jim Meyering  <jim@meyering.net>
58128
58129         Avoid new build failure on FreeBSD 6.0.
58130         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
58131         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
58132         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
58133
58134 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58135
58136         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
58137
58138 2006-09-07  Jim Meyering  <jim@meyering.net>
58139
58140         Fix global typo in last change: use chmod u-w, not chmod u-x.
58141         Spotted by Paul Eggert and Bruce Korb.
58142         * modules/alloca-opt, modules/argz, modules/arpa_inet:
58143         * modules/byteswap, modules/configmake, modules/fcntl:
58144         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
58145         * modules/localcharset, modules/netinet_in, modules/poll:
58146         * modules/stdbool, modules/stdint, modules/sys_select:
58147         * modules/sys_socket, modules/sys_stat, modules/sysexits:
58148
58149 2006-09-06  Jim Meyering  <jim@meyering.net>
58150
58151         Make generated files be read-only.
58152         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
58153         Ensure that each generated file is now read-only.
58154         * modules/argz: Likewise.
58155         * modules/arpa_inet: Likewise.
58156         * modules/byteswap: Likewise.
58157         * modules/configmake: Likewise.
58158         * modules/fcntl: Likewise.
58159         * modules/fnmatch: Likewise.
58160         * modules/getopt: Likewise.
58161         * modules/glob: Likewise.
58162         * modules/inttypes: Likewise.
58163         * modules/netinet_in: Likewise.
58164         * modules/poll: Likewise.
58165         * modules/stdbool: Likewise.
58166         * modules/stdint: Likewise.
58167         * modules/sys_select: Likewise.
58168         * modules/sys_socket: Likewise.
58169         * modules/sys_stat: Likewise.
58170         * modules/sysexits: Likewise.
58171         * modules/localcharset: Same as above, but continue using temporary
58172         file named "t-$@" (why different?) rather than the "$@-t" used
58173         everywhere else.
58174
58175         * modules/sysexits (Makefile.am): Replace literal occurrences
58176         of "sysexit.h" more readable, and more consistent, "$@".
58177
58178 2006-09-06  Bruno Haible  <bruno@clisp.org>
58179
58180         * modules/striconv: New file.
58181         * modules/xstriconv: New file.
58182         * MODULES.html.sh (Internationalization functions): Add striconv,
58183         xstriconv.
58184
58185 2006-09-06  Bruno Haible  <bruno@clisp.org>
58186
58187         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
58188         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
58189         not using libtool correctly.
58190
58191 2006-09-06  Bruno Haible  <bruno@clisp.org>
58192
58193         * lib/striconv.h: New file.
58194         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
58195         iconvstring.c.
58196         * lib/xstriconv.h: New file.
58197         * lib/xstriconv.c: New file.
58198
58199 2006-09-06  Bruno Haible  <bruno@clisp.org>
58200
58201         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58202         lib_..._LDFLAGS.
58203
58204 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58205
58206         * lib/argz_.h: Sync from Libtool.
58207
58208         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
58209                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58210
58211         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
58212
58213 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
58214
58215         * modules/trim: New file.
58216
58217 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
58218
58219         * lib/trim.h: New file.
58220         * lib/trim.c: New file.
58221
58222 2006-09-05  Bruno Haible  <bruno@clisp.org>
58223
58224         * MODULES.html.sh (String handling): Add trim.
58225
58226 2006-09-04  Karl Berry  <karl@gnu.org>
58227
58228         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
58229         until next release.
58230
58231 2006-09-03  Bruno Haible  <bruno@clisp.org>
58232
58233         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
58234         correctly.
58235
58236 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58237
58238         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
58239         not gl_GETLOADAVG.  Omit unneeded semicolons.
58240         Problems reported by Ralf Wildenhues in
58241         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
58242         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
58243         at the end, which is the usual gnulib style.
58244
58245         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
58246         of doing all the work ourselves.
58247         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
58248         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
58249
58250 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58251
58252         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
58253         Problem reported by Ralf Wildenhues in
58254         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
58255
58256         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
58257         HAVE_STRUCT_STATFS_F_FSTYPENAME.
58258
58259 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58260
58261         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
58262         yesterday's patch by changing test -n to test -z.
58263
58264 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58265
58266         * modules/getloadavg (Files): Add m4/getloadavg.m4.
58267         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
58268         the former is now obsolescent.
58269
58270         * modules/chdir-long (Depends-on): Add fcntl.
58271
58272 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58273
58274         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
58275         obsolescent, and programs should use gnulib instead.
58276         * m4/getloadavg.m4: New file, with contents taken from Autoconf
58277         but with prefixes changed.
58278
58279 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58280
58281         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
58282         or stdbool.h, because they might not exist while configuring.
58283
58284         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
58285         Don't include unistd.h or limits.h; not needed, since chdir-long.h
58286         does that for us.
58287         (O_DIRECTORY): Remove.
58288
58289 2006-08-31  Eric Blake  <ebb9@byu.net>
58290
58291         * gnulib-tool: Don't let emacs change spaces to TAB.
58292
58293 2006-08-31  Bruno Haible  <bruno@clisp.org>
58294
58295         * gnulib-tool: When calling func_import more than once, do it in a
58296         subshell.
58297         Reported by Eric Blake <ebb9@byu.net>.
58298
58299 2006-08-31  Bruno Haible  <bruno@clisp.org>
58300
58301         * gnulib-tool (nl): Remove variable.
58302         (sed_transform_lib_file): Use more robust test for config-h module.
58303         (func_import): Fix typo in 2006-08-25 patch.
58304
58305 2006-08-31  Bruno Haible  <bruno@clisp.org>
58306
58307         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
58308         specified, augment Makefile.am variables instead of assigning them.
58309
58310 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58311
58312         Work around a bug in both the Linux and SunOS 64-bit kernels:
58313         nanosleep mishandles sleeps for longer than 2**31 seconds.
58314         Problem reported by Frank v Waveren in
58315         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
58316         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
58317         Check for nanosleep bug.
58318         (LIB_NANOSLEEP): Append clock_gettime library if needed.
58319
58320 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58321
58322         Work around a bug in both the Linux and SunOS 64-bit kernels:
58323         nanosleep mishandles sleeps for longer than 2**31 seconds.
58324         Problem reported by Frank v Waveren in
58325         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
58326         * lib/nanosleep.c (BILLION): New constant.
58327         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
58328         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
58329         implementation.
58330
58331 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58332
58333         * modules/nanosleep (Depends-on): Add gettime.
58334
58335 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58336         and Simon Josefsson  <jas@extundo.com>
58337         and Oskar Liljeblad  <oskar@osk.mine.nu>
58338
58339         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
58340         * gnulib-tool (func_import): New license type 'unmodifiable license
58341         text'.
58342         * modules/fdl: Use it.  Longer description.
58343         * module/gpl, module/lgpl: New files.
58344
58345 2006-08-30  Jim Meyering  <jim@meyering.net>
58346
58347         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
58348         shadowing the parameter.
58349
58350 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58351
58352         Sync from Libtool:
58353
58354         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58355
58356         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
58357         sharing with gnulib.  Report by Eric Blake.
58358
58359 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58360
58361         * modules/isapipe: New file.
58362         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
58363
58364 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58365
58366         * modules/configmake (Makefile.am): Add a comment, and omit
58367         the CONFIGMAKE_ prefix from generated macro names.  Suggested
58368         by Bruno Haible.
58369
58370 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58371
58372         * m4/isapipe.m4: New file.
58373
58374 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58375
58376         * lib/isapipe.c, lib/isapipe.h: New files.
58377
58378 2006-08-29  Jim Meyering  <jim@meyering.net>
58379
58380         * modules/configmake (Makefile.am): Make configmake.h depend on
58381         Makefile.  Otherwise, a stale configmake.h could hang around.
58382
58383 2006-08-29  Eric Blake  <ebb9@byu.net>
58384
58385         * lib/error.c (error_at_line, print_errno_message): Match libc, after
58386         resolution of upstream bug 3044.
58387
58388 2006-08-29  Bruno Haible  <bruno@clisp.org>
58389
58390         * modules/localcharset (Depends-on): Add configmake.
58391         (Makefile.am): Remove setting of LIBDIR through DEFS.
58392
58393 2006-08-29  Bruno Haible  <bruno@clisp.org>
58394
58395         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
58396         defined.
58397
58398 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58399
58400         * modules/fcntl: New file.
58401         * modules/chdir-safer (Depends-on): Add fcntl.
58402         * modules/fts: Likewise.
58403         * modules/mkdir-p: Likewise.
58404
58405         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
58406         This undoes the most recent change, since we're now addressing the
58407         problem in a different way.
58408
58409         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
58410         into output, since the output might be called Makefile.am even
58411         if $makefile_name is something different.
58412         (func_import): Use $makefile_am rather than
58413         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
58414         empty.
58415
58416         * modules/inttypes (Files): Add m4/inttypes-h.m4.
58417
58418 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58419
58420         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
58421         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
58422         recent change to stdint.m4, since we're now addressing the problem in a
58423         different way.
58424
58425 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58426
58427         * m4/fcntl_h.m4: New file.
58428
58429 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58430
58431         * lib/fcntl_.h: New file.
58432         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
58433         the fcntl module.
58434         * lib/dirchownmod.c: Likewise.
58435         * lib/fts.c: Likewise.
58436
58437         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
58438         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
58439         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
58440         just before including <inttypes.h>, to avoid circular inclusion.
58441
58442 2006-08-28  Jim Meyering  <jim@meyering.net>
58443
58444         * doc/visibility.texi: Actually read and correct the grammar of the
58445         sentence affected by yesterday's change.
58446
58447 2006-08-28  Eric Blake  <ebb9@byu.net>
58448
58449         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
58450         needs wrapper.
58451
58452 2006-08-28  Eric Blake  <ebb9@byu.net>
58453
58454         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
58455
58456 2006-08-28  Eric Blake  <ebb9@byu.net>
58457
58458         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
58459
58460 2006-08-28  Bruno Haible  <bruno@clisp.org>
58461
58462         * modules/c-strstr: New file, from GNU gettext.
58463         * MODULES.html.sh (String handling): Add c-strstr.
58464
58465 2006-08-28  Bruno Haible  <bruno@clisp.org>
58466
58467         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
58468         macros.
58469         Reported by Eric Blake.
58470
58471 2006-08-28  Bruno Haible  <bruno@clisp.org>
58472
58473         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
58474         (VASNPRINTF): Return a string of length > INT_MAX without failing.
58475         * lib/vasprintf.c: Include errno.h, limits.h.
58476         (EOVERFLOW): New fallback definition.
58477         (vasprintf): Test here whether the string length is > INT_MAX.
58478         * lib/vsnprintf.c: Include errno.h, limits.h.
58479         (EOVERFLOW): New fallback definition.
58480         (vsnprintf): Fix bug when generated string was too long for the buffer.
58481         Test here whether the string length is > INT_MAX.
58482
58483 2006-08-28  Bruno Haible  <bruno@clisp.org>
58484
58485         * lib/inttypes_.h (SCNX*): Remove definitions.
58486         Reported by Eric Blake.
58487
58488 2006-08-28  Bruno Haible  <bruno@clisp.org>
58489
58490         * lib/c-strstr.h: New file, from GNU gettext.
58491         * lib/c-strstr.c: New file, from GNU gettext.
58492
58493 2006-08-28  Bruno Haible  <bruno@clisp.org>
58494
58495         * gnulib-tool: Reorder some statements.
58496
58497 2006-08-28  Bruno Haible  <bruno@clisp.org>
58498
58499         * gnulib-tool: New option --makefile-name.
58500         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
58501         $makefile_name.
58502         (func_import): Write $makefile_name to the cache file, and read it from
58503         there unless explicitly specified. Use $makefile_name as file name
58504         instead of Makefile.am. Adjust the recommendations accordingly.
58505
58506 2006-08-28  Bruno Haible  <bruno@clisp.org>
58507
58508         * gnulib-tool (func_verify_module): Check against misapplying patch.
58509
58510 2006-08-28  Bruno Haible  <bruno@clisp.org>
58511
58512         * gnulib-tool (func_relativize, func_relconcat): New functions.
58513         Give an error if --local-dir is given with --update.
58514         Remove trailing slashes from $local_gnulib_dir.
58515         (func_import): Store the relativized $local_gnulib_dir in
58516         gnulib-cache.m4, and read it from there if not specified explicitly.
58517
58518 2006-08-28  Bruno Haible  <bruno@clisp.org>
58519
58520         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
58521         is the current directory. Respect also $local_gnulib_dir.
58522
58523 2006-08-28  Bruno Haible  <bruno@clisp.org>
58524             Simon Josefsson  <jas@extundo.com>
58525
58526         BeOS portability.
58527         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
58528
58529 2006-08-27  Jim Meyering  <jim@meyering.net>
58530
58531         * doc/visibility.texi: Remove duplicate word: "pointer".
58532
58533 2006-08-26  Bruno Haible  <bruno@clisp.org>
58534
58535         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
58536         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
58537         (Makefile.am): Create inttypes.h from inttypes_.h.
58538         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
58539
58540         * modules/imaxabs: New file.
58541
58542         * modules/imaxdiv: New file.
58543
58544 2006-08-26  Bruno Haible  <bruno@clisp.org>
58545
58546         * m4/inttypes.m4: New file.
58547         * m4/_inttypes_h.m4: Remove file.
58548         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
58549         PRI_MACROS_BROKEN.
58550         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
58551
58552         * m4/imaxabs.m4: New file.
58553
58554         * m4/imaxdiv.m4: New file.
58555
58556 2006-08-26  Bruno Haible  <bruno@clisp.org>
58557
58558         * lib/inttypes_.h: New file.
58559         * lib/inttypes.h: Remove file.
58560         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
58561
58562         * lib/imaxabs.c: New file.
58563
58564         * lib/imaxdiv.c: New file.
58565
58566 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58567
58568         New config-h module, so that "make" output needn't be cluttered
58569         by -DHAVE_CONFIG_H.
58570         * MODULES.html.sh (Support for building libraries and executables):
58571         Add config-h.
58572         * modules/config-h: New file.
58573         * gnulib-tool (nl, sed_transform_lib_file): New vars.
58574         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
58575         the config-h module is used.
58576
58577         New configmake module, so that "make" output needn't be cluttered
58578         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
58579         * MODULES.html.sh (Support for building libraries and executables):
58580         Add configmake.
58581         * modules/configmake: New file.
58582
58583 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58584
58585         * m4/config-h.m4: New file.
58586
58587 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58588
58589         * config/srclist.txt: Add elisp-comp.
58590
58591 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58592
58593         * MODULES.html.sh (Support for building libraries and executables):
58594         Add elisp-comp.
58595         * build-aux/elisp-comp: New file.
58596         * modules/elisp-comp: New file.
58597
58598 2006-08-24  Bruno Haible  <bruno@clisp.org>
58599
58600         * gnulib-tool (func_create_testdir): Use non-default values of
58601         sourcebase and m4base.
58602
58603 2006-08-24  Bruno Haible  <bruno@clisp.org>
58604
58605         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
58606         HTML structure.
58607
58608 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
58609
58610         * modules/openat (Depends-on): Add lchown.
58611
58612 2006-08-23  Bruno Haible  <bruno@clisp.org>
58613
58614         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
58615         of gl_LOCK_EARLY instead of gl_LOCK.
58616
58617 2006-08-23  Bruno Haible  <bruno@clisp.org>
58618
58619         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
58620         on OSF/1 to no.
58621         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
58622
58623 2006-08-23  Bruno Haible  <bruno@clisp.org>
58624
58625         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
58626         as unusable.
58627
58628         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
58629         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
58630         (gl_LOCK): New macro.
58631
58632 2006-08-22  Simon Josefsson  <jas@extundo.com>
58633
58634         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
58635         to md5 module.
58636
58637 2006-08-22  Simon Josefsson  <jas@extundo.com>
58638
58639         * MODULES.html.sh: Add "Support for maintaining and release
58640         projects".
58641
58642         * build-aux/gnupload: New file, from coreutils.
58643
58644 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58645
58646         Avoid the need for AC_LIBSOURCES in m4 macros.
58647         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
58648         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
58649         * modules/check-version (EXTRA_DIST): Add check-version.h.
58650         * modules/crc (EXTRA_DIST): Add crc.h.
58651         * modules/des (EXTRA_DIST): Add des.h.
58652         * modules/gc (EXTRA_DIST): Add gc.h.
58653         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
58654         * modules/getline (EXTRA_DIST): Add getline.h.
58655         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
58656         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
58657         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
58658         * modules/md2 (EXTRA_DIST): Add md2.h.
58659         * modules/md4 (EXTRA_DIST): Add md4.h.
58660         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
58661         * modules/read-file (EXTRA_DIST): Add read-file.h.
58662         * modules/readline (EXTRA_DIST): Add readline.h.
58663         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
58664         rijndael-api-fst.h.
58665
58666 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58667
58668         * m4/rijndael.m4 (gl_ARCFOUR):
58669         * m4/arctwo.m4 (gl_ARCTWO):
58670         * m4/check-version.m4 (gl_CHECK_VERSION):
58671         * m4/crc.m4 (gl_CRC):
58672         * m4/des.m4 (gl_DES):
58673         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
58674         * m4/gc.m4 (gl_GC):
58675         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
58676         * m4/getline.m4 (gl_FUNC_GETLINE):
58677         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
58678         * m4/hmac-md5.m4 (gl_HMAC_MD5):
58679         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
58680         * m4/md2.m4 (gl_MD2):
58681         * m4/md4.m4 (gl_MD4):
58682         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
58683         * m4/read-file.m4 (gl_FUNC_READ_FILE):
58684         * m4/readline.m4 (gl_FUNC_READLINE):
58685         * m4/rijndael.m4 (gl_RIJNDAEL):
58686         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58687         to get the necessary .h files and whatnot.
58688
58689 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58690
58691         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
58692         gnulib rather than the other way around.
58693         * config/srclistvars.sh (COREUTILS): Remove.
58694
58695 2006-08-22  Jim Meyering  <jim@meyering.net>
58696
58697         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
58698
58699         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
58700
58701 2006-08-22  Eric Blake  <ebb9@byu.net>
58702
58703         * modules/regexprops-generic: New file.
58704         * MODULES.html.sh (Support for building documentation): List it.
58705
58706 2006-08-22  Eric Blake  <ebb9@byu.net>
58707
58708         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
58709         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
58710         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
58711         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
58712
58713 2006-08-22  Bruno Haible  <bruno@clisp.org>
58714
58715         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
58716         and lib_LTLIBRARIES like the other lib_* variables.
58717
58718 2006-08-22  Bruno Haible  <bruno@clisp.org>
58719
58720         * build-aux/x-to-1.in: New file, from GNU gettext.
58721
58722 2006-08-22  Bruno Haible  <bruno@clisp.org>
58723
58724         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
58725         <utmpx.h> exists.
58726
58727 2006-08-22  Bruno Haible  <bruno@clisp.org>
58728
58729         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
58730         <utmpx.h> exists.
58731
58732 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58733
58734         BeOS portability.
58735         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
58736         exist.
58737         Problem reported by Bruno Haible.
58738
58739 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58740
58741         Avoid the need for AC_LIBSOURCES in m4 macros.
58742         * modules/acl (EXTRA_DIST): Add acl.h.
58743         * modules/argmatch (Files): Add m4/argmatch.m4.
58744         (configure.ac): Add gl_ARGMATCH.
58745         (EXTRA_DIST): Renamed from lib_SOURCES, for
58746         consistency with the other modules.  Remove argmatch.c.
58747         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
58748         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
58749         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
58750         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
58751         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
58752         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
58753         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
58754         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
58755         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
58756         * modules/closeout (EXTRA_DIST): Add closeout.h.
58757         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
58758         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
58759         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
58760         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
58761         dirname.h; remove basename.c and stripslash.c.
58762         * modules/exclude (EXTRA_DIST): Add exclude.h.
58763         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
58764         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
58765         * modules/file-type (EXTRA_DIST): Add file-type.h.
58766         * modules/filemode (EXTRA_DIST): Add filemode.h.
58767         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
58768         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58769         * modules/fpending (EXTRA_DIST): Add __fpending.h.
58770         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
58771         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
58772         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
58773         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
58774         * modules/getdate (EXTRA_DIST): Add getdate.c.
58775         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
58776         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
58777         * modules/getpass (EXTRA_DIST): Add getpass.h.
58778         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
58779         * modules/group-member (EXTRA_DIST): Add group-member.h.
58780         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
58781         * modules/hash (EXTRA_DIST): Add hash.h.
58782         * modules/human (EXTRA_DIST): Add human.h.
58783         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
58784         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
58785         * modules/lchown (EXTRA_DIST): Add lchown.h.
58786         * modules/long-options (EXTRA_DIST): Add long-options.h.
58787         * modules/lstat (EXTRA_DIST): Add lstat.h.
58788         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
58789         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
58790         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
58791         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
58792         * modules/memxor (EXTRA_DIST): Add memxor.h.
58793         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
58794         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
58795         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
58796         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
58797         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
58798         * modules/physmem (EXTRA_DIST): Add physmem.h.
58799         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
58800         * modules/posixver (EXTRA_DIST): Add posixver.h.
58801         * modules/quote (EXTRA_DIST): Add quote.h.
58802         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
58803         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
58804         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
58805         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
58806         regex_internal.h regexec.c.
58807         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
58808         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
58809         * modules/same (EXTRA_DIST): Add same.h.
58810         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
58811         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
58812         * modules/savedir (EXTRA_DIST): Add savedir.h.
58813         * modules/sha1 (EXTRA_DIST): Add sha1.h.
58814         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
58815         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
58816         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
58817         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
58818         * modules/strdup (EXTRA_DIST): Add strdup.h.
58819         * modules/strftime (EXTRA_DIST): Add strftime.h.
58820         * modules/strndup (EXTRA_DIST): Add strndup.h.
58821         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
58822         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
58823         * modules/time_r (EXTRA_DIST): Add time_r.h.
58824         * modules/timespec (EXTRA_DIST): Add timespec.h.
58825         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58826         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
58827         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
58828         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
58829         * modules/userspec (EXTRA_DIST): Add userspec.h.
58830         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
58831         * modules/utimens (EXTRA_DIST): Add utimens.h.
58832         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
58833         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
58834         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
58835         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
58836         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
58837         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
58838         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
58839         * modules/yesno (EXTRA_DIST): Add yesno.h.
58840
58841 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58842
58843         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
58844
58845         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
58846         * m4/dev-ino.m4, same-inode.m4: Remove.
58847
58848         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
58849         * m4/acl.m4 (AC_FUNC_ACL):
58850         * m4/backupfile.m4 (gl_BACKUPFILE):
58851         * m4/c-strtod.m4 (gl_C99_STRTOLD):
58852         * m4/canon-host.m4 (gl_CANON_HOST):
58853         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
58854         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
58855         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
58856         * m4/cloexec.m4 (gl_CLOEXEC):
58857         * m4/close-stream.m4 (gl_CLOSE_STREAM):
58858         * m4/closeout.m4 (gl_CLOSEOUT):
58859         * m4/dirfd.m4 (gl_FUNC_DIRFD):
58860         * m4/dirname.m4 (gl_DIRNAME):
58861         * m4/exclude.m4 (gl_EXCLUDE):
58862         * m4/exitfail.m4 (gl_EXITFAIL):
58863         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
58864         * m4/file-type.m4 (gl_FILE_TYPE):
58865         * m4/filemode.m4 (gl_FILEMODE):
58866         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
58867         * m4/fpending.m4 (gl_FUNC_FPENDING):
58868         * m4/fprintftime.m4 (gl_FPRINTFTIME):
58869         * m4/fts.m4 (gl_FUNC_FTS):
58870         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
58871         * m4/getdate.m4 (gl_GETDATE):
58872         * m4/gethrxtime.m4 (gl_GETHRXTIME):
58873         * m4/getpagesize.m4 (gl_GETPAGESIZE):
58874         * m4/getpass.m4 (gl_FUNC_GETPASS):
58875         * m4/gettime.m4 (gl_GETTIME):
58876         * m4/getugroups.m4 (gl_GETUGROUPS):
58877         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
58878         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
58879         * m4/hard-locale.m4 (gl_HARD_LOCALE):
58880         * m4/hash.m4 (gl_HASH):
58881         * m4/idcache.m4 (gl_IDCACHE):
58882         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
58883         * m4/lchown.m4 (gl_FUNC_LCHOWN):
58884         * m4/long-options.m4 (gl_LONG_OPTIONS):
58885         * m4/lstat.m4 (gl_FUNC_LSTAT):
58886         * m4/md5.m4 (gl_MD5):
58887         * m4/memcasecmp.m4 (gl_MEMCASECMP):
58888         * m4/memcoll.m4 (gl_MEMCOLL):
58889         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
58890         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
58891         * m4/memxor.m4 (gl_MEMXOR):
58892         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
58893         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
58894         * m4/modechange.m4 (gl_MODECHANGE):
58895         * m4/mountlist.m4 (gl_MOUNTLIST):
58896         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58897         * m4/openat.m4 (gl_FUNC_OPENAT):
58898         * m4/pathmax.m4 (gl_PATHMAX):
58899         * m4/physmem.m4 (gl_PHYSMEM):
58900         * m4/posixtm.m4 (gl_POSIXTM):
58901         * m4/posixver.m4 (gl_POSIXVER):
58902         * m4/quote.m4 (gl_QUOTE):
58903         * m4/quotearg.m4 (gl_QUOTEARG):
58904         * m4/readtokens.m4 (gl_READTOKENS):
58905         * m4/readutmp.m4 (gl_READUTMP):
58906         * m4/regex.m4 (gl_REGEX):
58907         * m4/safe-read.m4 (gl_SAFE_READ):
58908         * m4/safe-write.m4 (gl_SAFE_WRITE):
58909         * m4/same.m4 (gl_SAME):
58910         * m4/save-cwd.m4 (gl_SAVE_CWD):
58911         * m4/savedir.m4 (gl_SAVEDIR):
58912         * m4/settime.m4 (gl_SETTIME):
58913         * m4/sha1.m4 (gl_SHA1):
58914         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
58915         * m4/stat-macros.m4 (gl_STAT_MACROS):
58916         * m4/stat-time.m4 (gl_STAT_TIME):
58917         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
58918         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
58919         * m4/strdup.m4 (gl_FUNC_STRDUP):
58920         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
58921         * m4/strndup.m4 (gl_FUNC_STRNDUP):
58922         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
58923         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
58924         * m4/time_r.m4 (gl_TIME_R):
58925         * m4/timespec.m4 (gl_TIMESPEC):
58926         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
58927         * m4/unlinkdir.m4 (gl_UNLINKDIR):
58928         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
58929         * m4/userspec.m4 (gl_USERSPEC):
58930         * m4/utimecmp.m4 (gl_UTIMECMP):
58931         * m4/utimens.m4 (gl_UTIMENS):
58932         * m4/xalloc.m4 (gl_XALLOC):
58933         * m4/xgetcwd.m4 (gl_XGETCWD):
58934         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
58935         * m4/xreadlink.m4 (gl_XREADLINK):
58936         * m4/xstrtod.m4 (gl_XSTRTOD):
58937         * m4/yesno.m4 (gl_YESNO):
58938         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58939         to get the necessary .h files and whatnot.
58940
58941 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
58942             Bruno Haible  <bruno@clisp.org>
58943
58944         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
58945         /bin/sh understanding of '!' conditional negation.
58946
58947 2006-08-21  Jim Meyering  <jim@meyering.net>
58948
58949         * modules/openat (Depends-on): Really alphabetize.
58950
58951         * modules/acl (Depends-on): Add error and quote.
58952
58953         * check-module (find_included_lib_files): Add at-func.c to the
58954         ok-to-include-more-than-once white list.
58955
58956         * modules/openat (Depends-on): Add lstat.  Alphabetize.
58957
58958 2006-08-21  Bruno Haible  <bruno@clisp.org>
58959
58960         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58961         Emit a pkgdata_DATA variable only if some snippets add contents to it.
58962         Reported by Martin Lambers <marlam@marlam.de>.
58963
58964 2006-08-21  Bruno Haible  <bruno@clisp.org>
58965
58966         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
58967         specify an installation location, don't emit a noinst_LIBRARIES or
58968         noinst_LTLIBRARIES assignment.
58969
58970 2006-08-21  Bruno Haible  <bruno@clisp.org>
58971
58972         BeOS portability.
58973         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
58974         BeOS has mbrtowc() but no <wctype.h>.
58975
58976 2006-08-21  Bruno Haible  <bruno@clisp.org>
58977
58978         BeOS portability.
58979         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
58980         exist.
58981
58982 2006-08-21  Bruno Haible  <bruno@clisp.org>
58983
58984         BeOS portability.
58985         * lib/mbchar.h: Include <wctype.h> only if it exists.
58986
58987 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58988
58989         Remove files that are no longer needed by their respective modules.
58990         * m4/obstack.m4: Remove.
58991         * m4/strerror_r.m4: Remove.
58992         * m4/uint32_t.m4: Remove.
58993         * m4/uintptr_t.m4: Remove.
58994         * m4/ullong_max.m4: Remove.
58995         * m4/xstrtoimax.m4: Remove.
58996         * m4/xstrtoumax.m4: Remove.
58997
58998         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
58999         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
59000         dependencies now capture this.
59001
59002         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
59003         Do not use AC_LIBSOURCES, since gnulib modules now do this.
59004         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
59005         * m4/human.m4 (gl_HUMAN): Likewise.
59006         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
59007         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
59008
59009         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
59010
59011         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
59012         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
59013         stdint.
59014         * m4/human.m4 (gl_HUMAN): Likewise.
59015         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
59016         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
59017         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
59018         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
59019         * m4/xstrtol (gl_XSTRTOL): Likewise.
59020
59021         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
59022         AC_TYPE_LONG_LONG_INT.
59023         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
59024         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
59025         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
59026         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
59027
59028         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
59029         on stdbool.
59030
59031         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
59032         (gl_PREREQ_XSTRTOUL): Remove.
59033
59034         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
59035
59036         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
59037         mode.
59038
59039 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59040
59041         Add and change modules to make it easier for coreutils to use
59042         gnulib-tool.
59043         * modules/backupfile (Files): Remove m4/d-ino.m4.
59044         (Depends-on): Add d-ino.
59045         * modules/cycle-check (Depends-on): Add stdint.
59046         (lib_SOURCES): Add cycle-check.h.
59047         * modules/d-ino: New module.
59048         * modules/d-type: New module.
59049         * modules/error (Files): Remove m4/strerror_r.m4.
59050         * modules/filemode (Files): Add m4/st_dm_mode.m4.
59051         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59052         m4/inttypes_h.m4, m4/uintmax_t.m4.
59053         (Depends-on): Add stdint.
59054         (lib_SOURCES): Add fsusage.h.
59055         * modules/getcwd (Files): Remove d-ino.m4.
59056         (Depends-on): Add d-ino.
59057         * modules/getndelim2 (Depends-on): Add stdint.
59058         * modules/glob (Files): Remove m4/d-type.m4.
59059         (Depends-on): Add d-type.
59060         * modules/host-os: New module.
59061         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
59062         m4/inttypes_h.m4, m4/uintmax_t.m4.
59063         * Depends-on: Add stdint.
59064         (lib_SOURCES): Add human.h.
59065         * modules/inttostr (Files): Remove m4/intmax_t.m4,
59066         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
59067         m4/uintmax_t.m4, m4/ulonglong.m4.
59068         (Depends-on): Add stdint.
59069         (EXTRA_DIST): Add inttostr.h.
59070         * modules/lchmod: New module.
59071         * modules/link-follow: New module.
59072         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
59073         (Depends-on): Add lchmod.
59074         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
59075         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
59076         (Depends-on): Add stdint.
59077         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
59078         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
59079         (Depends-on): Add stdint.
59080         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
59081         * modules/perl: New module.
59082         * modules/regex (Depends-on): Add stdint.
59083         * modules/rmdir-errno: New module.
59084         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
59085         m4/intmax_t.m4.
59086         (Depends-on): Add stdint.
59087         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
59088         m4/uintmax_t.m4.
59089         (Depends-on): Add stdint.
59090         * modules/unlink-busy: New module.
59091         * modules/utimecmp (Depends-on): Add stdint.
59092         * modules/uptime: New module.
59093         * modules/winsz-ioctl: New module.
59094         * modules/winsz-termios: New module.
59095         * modules/xnanosleep (Depends-on): Add nanosleep.
59096         * modules/ullong_max: Remove.
59097         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
59098         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
59099         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
59100         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
59101         (Depends-on): Add inttypes.
59102         (lib_SOURCES): Add xstrtol.h.
59103         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
59104         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
59105         * MODULES.html.sh: Move 'assert' into the assert section.
59106         Move 'dummy' into the linking section.
59107         Remove ullong_max.
59108         Add section for compatibility checks for POSIX:2001 functions,
59109         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
59110         winsz-ioctl, and winsz-termios into it.
59111         Add lchmod.
59112         Add top-level Misc section and put host-os, perl, and uptime
59113         into it.
59114
59115 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59116
59117         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
59118         now assume the stdint module.  Do not include inttypes.h.
59119         * lib/fsusage.h: Likewise.
59120         * lib/getndelim2.c: Likewise.
59121         * lib/human.h: Likewise.
59122         * lib/inttostr.h: Likewise.
59123         * lib/obstack.c: Likewise.
59124         * lib/regex_internal.h: Likewise.
59125         * lib/tempname.c: Likewise.
59126         * lib/utimecmp.c: Likewise.
59127         * lib/xstrtol.h: Likewise.
59128
59129         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
59130
59131         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
59132         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
59133         * lib/xtime.h: Likewise.
59134
59135 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59136
59137         * modules/openat (Files): Add lib/fchmodat.c.
59138         Fixes problem reported by Jay Youngman.
59139
59140 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59141
59142         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
59143         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
59144
59145 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
59146             Bruno Haible  <bruno@clisp.org>
59147
59148         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
59149         and is a script that invokes bison. Tighten the code. Add comments.
59150
59151 2006-08-18  Jim Meyering  <jim@meyering.net>
59152
59153         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
59154         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
59155         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
59156         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
59157
59158 2006-08-18  Bruno Haible  <bruno@clisp.org>
59159
59160         * modules/bison-i18n: New file.
59161         * MODULES.html.sh (Internationalization functions): Add it.
59162
59163 2006-08-18  Bruno Haible  <bruno@clisp.org>
59164
59165         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
59166         sys/statvfs.h. When getmntinfo was found, check its declaration and
59167         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
59168
59169 2006-08-18  Bruno Haible  <bruno@clisp.org>
59170
59171         * m4/bison-i18n.m4: New file, from bison.
59172
59173 2006-08-18  Bruno Haible  <bruno@clisp.org>
59174
59175         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
59176         (ME_DUMMY): Treat "kernfs" as a dummy.
59177         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
59178
59179 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59180
59181         Update from coreutils.
59182
59183         2006-08-15  Jim Meyering  <jim@meyering.net>
59184
59185         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
59186
59187         2006-01-17  Jim Meyering  <jim@meyering.net>
59188
59189         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
59190
59191         2006-01-11  Jim Meyering  <jim@meyering.net>
59192
59193         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
59194         Check for the lchmod function.
59195
59196 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59197
59198         Update from coreutils.
59199
59200         * lib/__fpending.h: Add copyright notice.
59201         * lib/fprintftime.h: Likewise.
59202         * lib/savedir.c: Use (C) in copyright notice.
59203         * lib/savedir.h: Likewise.
59204
59205         2006-08-15  Jim Meyering  <jim@meyering.net>
59206
59207         * lib/at-func.c: New file, with the logic of all emulated at-functions.
59208         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
59209         in support of the EXPECTED_ERRNO macro.
59210         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
59211         definitions.  Instead, define the appropriate symbols and include
59212         "at-func.c".
59213         * lib/mkdirat.c (mkdirat): Likewise.
59214         * lib/fchmodat.c (fchmodat): Likewise.
59215         (ENOSYS): Remove definition.
59216         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
59217         it.  Don't include "unistd--.h" -- it wasn't ever used.
59218
59219         2006-01-17  Jim Meyering  <jim@meyering.net>
59220
59221         Rewrite fts.c not to change the current working directory,
59222         by using openat, fstatat, fdopendir, etc..
59223
59224         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
59225         (HAVE_OPENAT_SUPPORT): Define.
59226         [_LIBC] (fchdir): Don't undef or define; no longer used.
59227         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
59228         Now, this `function' always succeeds, and consumes its file descriptor
59229         parameter -- so callers must not close such FDs.  Update callers.
59230         (diropen_fd, opendirat, cwd_advance_fd): New functions.
59231         (diropen): Add parameter, SP.  Adjust all callers.
59232         Implement using diropen_fd, rather than open.
59233         (fts_open): Initialize new member, fts_cwd_fd.
59234         Remove fts_rft-setting code.
59235         (fts_close): Close fts_cwd_fd, if necessary.
59236         (__opendir2): Define in terms of opendir or opendirat,
59237         depending on whether the FST_NOCHDIR flag is set.
59238         (fts_build): Since fts_safe_changedir consumes its FD, and since
59239         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
59240         and close the dup'd file descriptor upon failure.
59241         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
59242         (fts_safe_changedir): Tweak semantics to reflect that this function
59243         now calls cwd_advance_fd and hence consumes its FD argument.
59244         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
59245         [struct FTS] (fts_rft): Remove now-unused member.
59246         [struct FTS] (fts_cycle.state): Improve comment.
59247
59248         * lib/openat.c (openat_needs_fchdir): New function.
59249         * lib/openat.h (openat_needs_fchdir): Declare it.
59250
59251 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
59252
59253         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
59254         Problem and fix reported by Pádraig Brady in
59255         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
59256
59257 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59258
59259         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
59260
59261 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59262
59263         * lib/memcoll.c (memcoll): Optimize for the common case where the
59264         arguments are bytewise equal.
59265
59266 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59267
59268         * doc/regexprops-generic.texi: Add a copyright notice.
59269
59270 2006-08-15  Bruno Haible  <bruno@clisp.org>
59271
59272         * modules/tmpdir (License): Change to LGPL.
59273
59274 2006-08-15  Bruno Haible  <bruno@clisp.org>
59275
59276         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
59277         module.
59278
59279 2006-08-14  Simon Josefsson  <jas@extundo.com>
59280
59281         * config/srclist.txt: Add gnupload.
59282
59283 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59284
59285         Change copyright notice from LGPL 2 to GPL 2, since that's the
59286         standard form used in the gnulib repository.
59287         * tests/test-lock.c: Likewise.
59288         * tests/test-stdint.c: Likewise.
59289         * tests/test-tls.c: Likewise.
59290
59291         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
59292         prelude-manager.  User shorter URLs for GNU projects, without '?'.
59293         Add copyright notice.
59294
59295         * check-module: Add copyright notice.  Output a copyright
59296         notice if "--version" is specified.
59297         * modules/COPYING: New file.
59298         * tests/test-getaddrinfo.c: Add copyright notice.
59299         * tests/test-verify.c: Likewise.
59300
59301 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59302
59303         Change copyright notice from LGPL 2 to GPL 2, since that's the
59304         standard form used in the gnulib repository.
59305         * lib/lock.c: LGPL -> GPL.
59306         * lib/lock.h: Likewise.
59307         * lib/strnlen1.c: Likewise.
59308         * lib/strnlen1.h: Likewise.
59309         * lib/tls.c: Likewise.
59310         * lib/tls.h: Likewise.
59311         * lib/tmpdir.c: Likewise.
59312
59313         * lib/TODO: Remove; this belongs only in coreutils.
59314
59315 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59316
59317         Add copyright notices to long-enough files that lack them, since
59318         otherwise the files aren't clearly free.  Use the same notice that
59319         getdate.texi already uses.
59320         * doc/alloca-opt.texi: Add copyright notice.
59321         * doc/alloca.texi: Likewise.
59322         * doc/ctime.texi: Likewise.
59323         * doc/functions.texi: Likewise.
59324         * doc/gcd.texi: Likewise.
59325         * doc/gnulib-tool.texi: Likewise.
59326         * doc/inet_ntoa.texi: Likewise.
59327         * doc/visibility.texi: Likewise.
59328
59329         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
59330         * doc/quote.texi: Add copyright notice.
59331
59332         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
59333         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
59334         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
59335         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
59336         is now obsolete, and give a pointer to the Sun list.
59337         Add copyright notice.
59338
59339 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59340
59341         * config/srclistvars.sh: Add copyright notice.
59342
59343 2006-08-14  Eric Blake  <ebb9@byu.net>
59344
59345         Import the following change from libc:
59346
59347         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
59348
59349         Upstream bug 2997.
59350         * lib/misc/error.c: Add space between program name and message if file
59351         name is missing.
59352
59353 2006-08-12  Karl Berry  <karl@gnu.org>
59354
59355         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
59356         remove, these originate in gnulib now.
59357
59358 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59359
59360         * doc/Makefile (standards.info standards.html standards.dvi):
59361         Also depend on make-stds.texi.
59362
59363 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59364
59365         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
59366         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
59367
59368         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
59369         in wchar_t.  Problem reported by Eric Blake.
59370
59371         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
59372         LEN is smaller than SIZE.  Suggested by Bruno Haible.
59373         Also, help the compiler to keep LEN in a register.
59374
59375 2006-08-11  Eric Blake  <ebb9@byu.net>
59376
59377         * users.txt: Sort.  Add tar.
59378
59379 2006-08-11  Bruno Haible  <bruno@clisp.org>
59380
59381         * users.txt: New file.
59382
59383 2006-08-11  Bruno Haible  <bruno@clisp.org>
59384
59385         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
59386         before <wchar.h>. Needed for OSF/1 and BSD/OS.
59387
59388 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59389
59390         * modules/snprintf (Depends-on): Remove minmax.
59391         (Maintainer): Add self and Bruno.
59392
59393 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59394
59395         * lib/.cppi-disable: Add snprintf.h, socket_.h.
59396         * lib/snprintf.c: Include <errno.h> and <limits.h>.
59397         (EOVERFLOW): Define if the system does not.
59398         Do not include "minmax.h"; it wasn't used.
59399         (snprintf): Don't assume size_t promotes to an unsigned type.
59400         Fix bug when generated string was too long for the buffer: the
59401         buffer's contents are supposed to be the initial prefix of the
59402         output.  Don't assume vasnprintf returns EOVERFLOW if the size
59403         exceeds INT_MAX; do the check ourselves.
59404
59405         Import the following changes from libc:
59406
59407         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
59408
59409         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
59410         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
59411         set wc to the byte which couldn't be converted.
59412         (re_string_reconstruct): Don't clear valid_raw_len before calling
59413         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
59414         tip_context using re_string_context_at.
59415
59416         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
59417
59418         * lib/posix/regex.h: g++ still cannot handled [restrict].
59419
59420         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
59421
59422         * lib/posix/regex.h: Remove special handling for VMS.
59423
59424 2006-08-10  Jim Meyering  <jim@meyering.net>
59425
59426         * modules/same-inode: New module.
59427         * modules/dev-ino: New module.
59428         * modules/cycle-check: Depend on these modules, rather than simply
59429         including their .h files.
59430         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
59431         required via m4/cycle-check.m4.
59432         * modules/same: Depend on new same-inode module, rather than
59433         including same-inode.h.
59434         * modules/chdir-safer: New file.
59435
59436         * modules/chown (Depends-on): Add stat-macros.
59437
59438 2006-08-10  Jim Meyering  <jim@meyering.net>
59439
59440         * m4/cycle-check.m4: New file.
59441         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
59442         * m4/dev-ino.m4, m4/same-inode.m4: New files.
59443
59444 2006-08-10  Eric Blake  <ebb9@byu.net>
59445
59446         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
59447         in from original proposal.
59448
59449 2006-08-10  Eric Blake  <ebb9@byu.net>
59450         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59451
59452         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
59453         namespace.
59454
59455 2006-08-10  Bruno Haible  <bruno@clisp.org>
59456
59457         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
59458         as well.
59459
59460 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59461
59462         Sync from coreutils.
59463
59464         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
59465
59466         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
59467         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
59468
59469 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59470
59471         * modules/restrict: Remove; no longer needed now that we assume
59472         Autoconf 2.59 or later.
59473         * MODULES.html.sh: Remove 'restrict'.
59474         * modules/argp (Depends-on): Remove 'restrict'.
59475         * modules/base64 (Depends-on): Likewise.
59476         * modules/gc (Depends-on): Likewise.
59477         * modules/getaddrinfo (Depends-on): Likewise.
59478         * modules/glob (Depends-on): Likewise.
59479         * modules/inet_ntop (Depends-on): Likewise.
59480         * modules/inet_pton (Depends-on): Likewise.
59481         * modules/memxor (Depends-on): Likewise.
59482         * modules/regex (Depends-on): Likewise.
59483         * modules/strtok_r (Depends-on): Likewise.
59484         * modules/time_r (Depends-on): Likewise.
59485
59486 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59487
59488         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
59489         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
59490         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59491         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
59492         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
59493         * m4/memxor.m4 (gl_MEMXOR): Likewise.
59494         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
59495         gl_C_RESTRICT replaced by AC_C_RESTRICT.
59496
59497         Merge from coreutils.
59498         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
59499         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
59500         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59501         * m4/time_r.m4 (gl_TIME_R): Likewise.
59502
59503 2006-08-09  Karl Berry  <karl@gnu.org>
59504
59505         * config/srclist.txt: no more gettext-tools, per Bruno.
59506
59507 2006-08-08  Eric Blake  <ebb9@byu.net>
59508
59509         * modules/verror: New module.
59510         * MODULES.html.sh: Document it.
59511
59512 2006-08-08  Eric Blake  <ebb9@byu.net>
59513
59514         * lib/verror.h, lib/verror.c: New files.
59515
59516 2006-08-08  Eric Blake  <ebb9@byu.net>
59517
59518         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
59519         verror_at_line output complies with GNU Coding Standards even when
59520         file is NULL.
59521
59522 2006-08-07  Bruno Haible  <bruno@clisp.org>
59523
59524         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
59525         versions of AIX.
59526         Reported by Ralf Wildenhues.
59527
59528 2006-08-07  Bruno Haible  <bruno@clisp.org>
59529
59530         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
59531         in an AC_DEFUN. Needed so that the autoconf snippets can use
59532         AC_REQUIRE.
59533
59534 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59535
59536         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59537         Initialize pkgdata_DATA.
59538         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
59539         overriding it.
59540
59541 2006-08-06  Eric Blake  <ebb9@byu.net>
59542
59543         * lib/error.h: Fold in some upstream changes from glibc.
59544         * lib/error.c: Likewise.
59545
59546 2006-08-04  Bruno Haible  <bruno@clisp.org>
59547
59548         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59549         Make the mostlyclean-local rule depend on mostlyclean-generic.
59550         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
59551
59552 2006-07-31  Bruno Haible  <bruno@clisp.org>
59553
59554         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
59555         <stdlib.h>, <string.h>.
59556
59557 2006-07-30  Bruno Haible  <bruno@clisp.org>
59558
59559         * modules/readlink (License): Change to LGPL.
59560
59561 2006-07-30  Bruno Haible  <bruno@clisp.org>
59562
59563         * modules/javaversion (Makefile.am): Distribute javaversion.java and
59564         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
59565         set PKGDATADIR to point to it.
59566
59567 2006-07-30  Bruno Haible  <bruno@clisp.org>
59568
59569         * modules/csharpexec (configure.ac): Comment out macro invocation.
59570         * modules/javaexec (configure.ac): Likewise.
59571         * modules/javacomp-script (configure.ac): Likewise.
59572
59573         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
59574
59575 2006-07-30  Bruno Haible  <bruno@clisp.org>
59576
59577         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
59578         linked-list.
59579
59580 2006-07-30  Bruno Haible  <bruno@clisp.org>
59581
59582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
59583
59584 2006-07-30  Bruno Haible  <bruno@clisp.org>
59585
59586         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59587         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
59588         get removed.
59589
59590 2006-07-29  Bruno Haible  <bruno@clisp.org>
59591
59592         Make it possible for gnulib-tool to work with locally modified or
59593         augmented gnulib repositories.
59594         * gnulib-tool (func_usage): Document --local-dir option.
59595         (local_gnulib_dir): New variable.
59596         Handle --local-dir option.
59597         (func_lookup_file): New function.
59598         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
59599         (func_get_description, func_get_filelist, func_get_description,
59600         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
59601         func_get_automake_snippet, func_get_include_directive,
59602         func_get_license, func_get_maintainer): Use func_lookup_file.
59603         (func_import, func_create_testdir): Use func_lookup_file.
59604
59605 2006-07-29  Bruno Haible  <bruno@clisp.org>
59606
59607         * modules/setenv (Depends-on): Add unistd.
59608
59609 2006-07-29  Bruno Haible  <bruno@clisp.org>
59610
59611         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
59612
59613 2006-07-29  Bruno Haible  <bruno@clisp.org>
59614
59615         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
59616
59617 2006-07-29  Bruno Haible  <bruno@clisp.org>
59618
59619         * gnulib-tool (import, update): If there is no Makefile.am, look at
59620         aclocal.m4, instead of bailing out.
59621
59622 2006-07-29  Bruno Haible  <bruno@clisp.org>
59623
59624         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
59625         Categorize the options by when they are useful.
59626
59627 2006-07-29  Bruno Haible  <bruno@clisp.org>
59628
59629         * gnulib-tool (func_usage): Document option --no-libtool.
59630         Handle option --no-libtool.
59631         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
59632         for changed semantics of $libtool variable.
59633         (func_import): Likewise. If libtool is not used, show this through
59634         an option --no-libtool.
59635         (func_create_testdir): Update.
59636
59637 2006-07-29  Bruno Haible  <bruno@clisp.org>
59638
59639         * gnulib-tool (func_import): Extend error message about missing
59640         --doc-base.
59641
59642 2006-07-29  Bruno Haible  <bruno@clisp.org>
59643
59644         * gnulib-tool (func_import): Don't create the $docbase directory if
59645         there is no file to store there.
59646
59647 2006-07-29  Bruno Haible  <bruno@clisp.org>
59648
59649         * gnulib-tool (autoconf_minversion): If a --dir option is given and
59650         relevant, look for configure.ac there, not in the current directory.
59651         Also use a simple search for AC_PREREQ, not "autoconf --trace".
59652
59653 2006-07-29  Bruno Haible  <bruno@clisp.org>
59654
59655         * gnulib-tool (SORT): New variable.
59656         (func_usage): Undocument --assume-autoconf option.
59657         Remove --assume-autoconf option handling.
59658         (autoconf_minversion): Determine from the contents of configure.ac.
59659         (func_import): Remove autoconf_minversion handling.
59660         Suggested by Eric Blake.
59661
59662 2006-07-29  Bruno Haible  <bruno@clisp.org>
59663
59664         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
59665
59666 2006-07-29  Bruno Haible  <bruno@clisp.org>
59667
59668         * config/srclist.txt (*setenv.[ch]): Remove rules.
59669
59670 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59671
59672         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
59673
59674 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59675
59676         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
59677         arpa/inet.h.
59678
59679 2006-07-28  Simon Josefsson  <jas@extundo.com>
59680
59681         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
59682         * modules/inet_pton (Depends-on): Likewise.
59683
59684 2006-07-28  Simon Josefsson  <jas@extundo.com>
59685
59686         * m4/netinet_in_h.m4: New file.
59687
59688 2006-07-28  Simon Josefsson  <jas@extundo.com>
59689
59690         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
59691         #include's.
59692
59693 2006-07-28  Simon Josefsson  <jas@extundo.com>
59694
59695         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
59696         #include's.
59697
59698 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
59699
59700         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
59701         setgid on directories only if they set these bits.
59702         * lib/modechange.h: Remove obsolete comment about masks.
59703
59704 2006-07-28  Eric Blake  <ebb9@byu.net>
59705
59706         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
59707         macro expansion.
59708
59709 2006-07-28  Bruno Haible  <bruno@clisp.org>
59710
59711         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
59712
59713 2006-07-28  Bruno Haible  <bruno@clisp.org>
59714
59715         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
59716
59717 2006-07-28  Bruno Haible  <bruno@clisp.org>
59718
59719         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59720         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59721         Define fallbacks.
59722         Avoids link error on FreeBSD 4.x.
59723         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59724
59725         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
59726         encoding.
59727         * lib/mbswidth.c (iswcntrl): Likewise.
59728
59729 2006-07-27  Bruno Haible  <bruno@clisp.org>
59730
59731         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
59732         test.
59733
59734 2006-07-27  Bruno Haible  <bruno@clisp.org>
59735
59736         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
59737         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
59738         defined.
59739
59740 2006-07-26  Eric Blake  <ebb9@byu.net>
59741
59742         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
59743
59744 2006-07-26  Eric Blake  <ebb9@byu.net>
59745
59746         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
59747         like mingw that lack mkstemp.
59748         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
59749         avoid compilation warning on mingw.
59750
59751 2006-07-26  Bruno Haible  <bruno@clisp.org>
59752
59753         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
59754         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
59755         INT_FAST*_MIN, INTPTR_MIN.
59756
59757 2006-07-25  Bruno Haible  <bruno@clisp.org>
59758
59759         * modules/version-etc (Depends-on): Add stdarg.
59760
59761 2006-07-25  Bruno Haible  <bruno@clisp.org>
59762
59763         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
59764         complex commands.
59765
59766 2006-07-25  Bruno Haible  <bruno@clisp.org>
59767
59768         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
59769         defined in <stdarg.h> or config.h.
59770
59771 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59772
59773         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
59774         (gl_STDIO_SAFER): Remove.
59775
59776 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59777
59778         * MODULES.html.sh (File stream based Input/Output):
59779         Add fopen-safer, tmpfile-safer; remove stdio-safer.
59780         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
59781         * modules/fopen-safer, modules/tmpfile-safer: New files.
59782         * modules/stdio-safer: Remove.
59783
59784 2006-07-24  Bruno Haible  <bruno@clisp.org>
59785
59786         * modules/tmpdir: New file.
59787         * MODULES.html.sh (File system functions): Add it.
59788
59789 2006-07-24  Bruno Haible  <bruno@clisp.org>
59790
59791         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
59792         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
59793
59794 2006-07-24  Bruno Haible  <bruno@clisp.org>
59795
59796         * modules/clean-temp: New file.
59797
59798 2006-07-24  Bruno Haible  <bruno@clisp.org>
59799
59800         * m4/tmpdir.m4: New file, from GNU gettext.
59801
59802 2006-07-24  Bruno Haible  <bruno@clisp.org>
59803
59804         * lib/tmpdir.h: New file, from GNU gettext.
59805         * lib/tmpdir.c: New file, from GNU gettext.
59806
59807 2006-07-24  Bruno Haible  <bruno@clisp.org>
59808
59809         * lib/clean-temp.h: New file, from GNU gettext.
59810         * lib/clean-temp.c: New file, from GNU gettext.
59811
59812 2006-07-23  Eric Blake  <ebb9@byu.net>
59813
59814         * modules/stdio-safer (Files): Add tmpfile-safer.c.
59815         (Depends-on): Add binary-io.
59816
59817 2006-07-23  Eric Blake  <ebb9@byu.net>
59818
59819         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
59820
59821 2006-07-23  Eric Blake  <ebb9@byu.net>
59822
59823         * lib/tmpfile-safer.c: New file.
59824         * lib/stdio-safer.h (fopen_safer): Add prototype.
59825         * lib/stdio--.h (tmpfile): Make safer.
59826
59827 2006-07-23  Bruno Haible  <bruno@clisp.org>
59828
59829         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
59830         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
59831         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
59832         gl_linked_remove_at): Use it.
59833
59834 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59835         and Simon Josefsson <jas@extundo.com>
59836
59837         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
59838
59839         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
59840
59841 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59842
59843         * modules/close-stream: New file.
59844         * modules/closeout (Description): Make it clear that it exits
59845         with a diagnostic on error.
59846         (Depends-on): Add close-stream.  Remove fpending, stdbool.
59847         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
59848
59849 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59850
59851         * m4/close-stream.m4: New file.
59852
59853 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59854
59855         * lib/close-stream.c, lib/close-stream.h: New files.
59856
59857 2006-07-22  Bruno Haible  <bruno@clisp.org>
59858
59859         Merge from GNU gettext 0.15.
59860
59861         2006-05-01  Bruno Haible  <bruno@clisp.org>
59862
59863                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
59864
59865         2006-07-22  Bruno Haible  <bruno@clisp.org>
59866
59867                 * modules/javaversion: New file.
59868                 * MODULES.html.sh (Java): Add javaversion.
59869
59870         2006-03-12  Bruno Haible  <bruno@clisp.org>
59871
59872                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
59873
59874         2005-12-04  Bruno Haible  <bruno@clisp.org>
59875
59876                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
59877                 (untested).
59878
59879         2006-06-21  Bruno Haible  <bruno@clisp.org>
59880
59881                 Avoid warnings from recent versions of mcs.
59882                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
59883                 -o, -L, -r any more. Use options documented since mcs-1.0
59884                 instead. Similarly for -g.
59885
59886         2005-12-04  Bruno Haible  <bruno@clisp.org>
59887
59888                 * build-aux/csharpcomp.sh.in: Suffix for resources is
59889                 .resources, not .resource.
59890
59891         2005-07-09  Bruno Haible  <bruno@clisp.org>
59892
59893                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
59894                 add a .dll suffix.
59895                 Reported by Mark Junker <mjscod@gmx.de>.
59896
59897         2006-07-22  Bruno Haible  <bruno@clisp.org>
59898
59899                 * modules/gettext: Upgrade to gettext-0.15.
59900                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
59901                 m4/visibility.m4.
59902                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
59903
59904 2006-07-22  Bruno Haible  <bruno@clisp.org>
59905
59906         Merge from GNU gettext 0.15.
59907
59908         2006-03-25  Bruno Haible  <bruno@clisp.org>
59909
59910                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
59911
59912         2006-07-21  Bruno Haible  <bruno@clisp.org>
59913
59914                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
59915                 "1.1".
59916
59917         2006-05-09  Bruno Haible  <bruno@clisp.org>
59918
59919                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
59920                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
59921                 for the conftestver execution.
59922
59923         2006-05-01  Bruno Haible  <bruno@clisp.org>
59924
59925                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
59926                 optional target-version argument. Verify that the compiler
59927                 groks source of the specified source-version, or add -source
59928                 option as necessary. Verify that the compiler produces
59929                 bytecode in the specified target-version, or add -target and
59930                 -source options as necessary. Make the result of the test
59931                 available as variable CONF_JAVAC. Also log error output in
59932                 config.log.
59933
59934         2006-03-11  Bruno Haible  <bruno@clisp.org>
59935
59936                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
59937
59938         2006-05-09  Bruno Haible  <bruno@clisp.org>
59939
59940                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
59941                 CLASSPATH_SEPARATOR to a semicolon.
59942
59943         2006-03-12  Bruno Haible  <bruno@clisp.org>
59944
59945                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
59946                 available as variable CONF_JAVA, for subsequent autoconf
59947                 tests. Also log error output in config.log.
59948
59949         2006-07-19  Bruno Haible  <bruno@clisp.org>
59950
59951                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
59952                 that getline works on glibc2 systems. Needed to avoid trouble
59953                 in relocatable.c.
59954                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
59955
59956         2005-12-04  Bruno Haible  <bruno@clisp.org>
59957
59958                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
59959                 launcher (untested).
59960
59961         2005-12-04  Bruno Haible  <bruno@clisp.org>
59962
59963                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
59964
59965         2006-07-22  Bruno Haible  <bruno@clisp.org>
59966
59967                 * gettext.m4: Update from GNU gettext-0.15.
59968                 * nls.m4: Likewise.
59969                 * po.m4: Likewise.
59970                 * inttypes-pri.m4: Likewise.
59971                 * inttypes-h.m4: Renamed from inttypes.m4.
59972                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
59973
59974 2006-07-22  Bruno Haible  <bruno@clisp.org>
59975
59976         Merge from GNU gettext 0.15.
59977
59978         2005-07-05  Bruno Haible  <bruno@clisp.org>
59979
59980                 * printf-args.c (printf_fetchargs): Work around broken
59981                 definition of wint_t on mingw.
59982
59983         2005-02-12  Bruno Haible  <bruno@clisp.org>
59984
59985                 * xallocsa.h: Add extern "C" for C++.
59986
59987         2006-05-17  Bruno Haible  <bruno@clisp.org>
59988
59989                 Cygwin portability.
59990                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
59991
59992         2006-04-30  Bruno Haible  <bruno@clisp.org>
59993
59994                 * progreloc.c: Include <mach-o/dyld.h> if available.
59995                 (find_executable): Use _NSGetExecutablePath when possible.
59996
59997         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59998
59999                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
60000                 function.
60001
60002         2005-12-29  Bruno Haible  <bruno@clisp.org>
60003
60004                 * progreloc.c (set_program_name_and_installdir): Fix
60005                 compilation error.
60006
60007         2005-12-04  Bruno Haible  <bruno@clisp.org>
60008
60009                 Cygwin portability.
60010                 * progreloc.c: Include <windows.h> also on Cygwin.
60011                 (find_executable): Add support for Cygwin.
60012                 (set_program_name_and_installdir): Handle also platforms with
60013                 nonempty EXEEXT.
60014
60015         2006-07-11  Bruno Haible  <bruno@clisp.org>
60016
60017                 * javacomp.c: Fix a comment.
60018                 Reported by Jim Meyering.
60019
60020         2006-04-30  Bruno Haible  <bruno@clisp.org>
60021
60022                 * javacomp.h (compile_java_class): Add source_version,
60023                 target_version arguments.
60024                 * javacomp.c: Rewritten to choose only a compiler that
60025                 respects the specified source_version and target_version.
60026
60027         2006-06-27  Bruno Haible  <bruno@clisp.org>
60028
60029                 Assume correct S_ISDIR macro.
60030                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
60031
60032         2006-07-22  Bruno Haible  <bruno@clisp.org>
60033
60034                 * javaversion.h: New file, from GNU gettext.
60035                 * javaversion.c: New file, from GNU gettext.
60036                 * javaversion.java: New file, from GNU gettext.
60037                 * javaversion.class: New file, from GNU gettext.
60038
60039         2006-05-17  Bruno Haible  <bruno@clisp.org>
60040
60041                 Cygwin portability.
60042                 * javaexec.c (execute_java_class): Test for jview program
60043                 also on Cygwin.
60044
60045         2006-04-09  Bruno Haible  <bruno@clisp.org>
60046
60047                 * fatal-signal.c: Don't include string.h.
60048                 (at_fatal_signal): Use a copying loop instead of memcpy.
60049
60050         2005-12-04  Bruno Haible  <bruno@clisp.org>
60051
60052                 * csharpexec.c: Add support for 'clix' launcher (untested).
60053                 (execute_csharp_using_sscli): New function.
60054                 (execute_csharp_program): Call it.
60055
60056         2006-06-21  Bruno Haible  <bruno@clisp.org>
60057
60058                 Avoid warnings from recent versions of mcs.
60059                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
60060                 -o, -L, -r any more. Use options documented since mcs-1.0
60061                 instead. Similarly for -g.
60062
60063         2005-07-09  Bruno Haible  <bruno@clisp.org>
60064
60065                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
60066                 add a .dll suffix.
60067                 Reported by Mark Junker <mjscod@gmx.de>.
60068
60069         2006-06-17  Bruno Haible  <bruno@clisp.org>
60070
60071                 * config.charset: Update for NetBSD 3.0.
60072
60073         2006-05-17  Bruno Haible  <bruno@clisp.org>
60074
60075                 Cygwin portability.
60076                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
60077
60078         2006-05-16  Bruno Haible  <bruno@clisp.org>
60079
60080                 * localcharset.c [CYGWIN]: Include <windows.h>.
60081                 (get_charset_aliases): For Cygwin, return the same CPxxx
60082                 aliases list as under WIN32.
60083                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
60084                 the environment variables. Fall back to GetACP().
60085
60086         2006-04-05  Bruno Haible  <bruno@clisp.org>
60087
60088                 * config.charset: Update Juan Manuel Guerrero's address.
60089
60090         2005-02-12  Bruno Haible  <bruno@clisp.org>
60091
60092                 * allocsa.h: Add extern "C" for C++.
60093
60094         2005-02-10  Bruno Haible  <bruno@clisp.org>
60095
60096                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
60097                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
60098
60099         2006-07-22  Bruno Haible  <bruno@clisp.org>
60100
60101                 * gettext.h: Update to GNU gettext-0.15.
60102
60103 2006-07-22  Bruno Haible  <bruno@clisp.org>
60104
60105         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
60106         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
60107         lib-prefix.m4, longdouble.m4, ssize_t.m4.
60108
60109 2006-07-21  Eric Blake  <ebb9@byu.net>
60110
60111         * modules/stdlib-safer: New file.
60112         * MODULES.html.sh (File stream based Input/Output): Add
60113         stdlib-safer.
60114
60115 2006-07-21  Eric Blake  <ebb9@byu.net>
60116
60117         * lib/stdlib-safer.h: New file from coreutils, required by
60118         stdlib--.h.
60119
60120 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
60121
60122         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
60123
60124 2006-07-20  Bruno Haible  <bruno@clisp.org>
60125
60126         * gnulib-tool: Recognize new option --assume-autoconf.
60127         (autoconf_minversion): New variable.
60128         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
60129
60130 2006-07-20  Bruno Haible  <bruno@clisp.org>
60131
60132         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
60133
60134 2006-07-19  Derek R. Price  <derek@ximbiot.com>
60135
60136         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
60137         Reindent and repaginate.
60138
60139 2006-07-19  Derek Price  <derek@ximbiot.com>
60140
60141         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
60142         Correct grammar.
60143
60144 2006-07-17  Bruno Haible  <bruno@clisp.org>
60145
60146         * modules/list: New file.
60147         * modules/array-list: New file.
60148         * modules/carray-list, modules/carray-list-tests: New files.
60149         * modules/linked-list, modules/linked-list-tests: New files.
60150         * modules/avltree-list, modules/avltree-list-tests: New files.
60151         * modules/rbtree-list, modules/rbtree-list-tests: New files.
60152         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
60153         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
60154         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
60155         * modules/oset: New file.
60156         * modules/array-oset: New file.
60157         * modules/avltree-oset, modules/avltree-oset-tests: New files.
60158         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
60159         * tests/test-carray_list.c: New file.
60160         * tests/test-linked_list.c: New file.
60161         * tests/test-avltree_list.c: New file.
60162         * tests/test-rbtree_list.c: New file.
60163         * tests/test-linkedhash_list.c: New file.
60164         * tests/test-avltreehash_list.c: New file.
60165         * tests/test-rbtreehash_list.c: New file.
60166         * tests/test-avltree_oset.c: New file.
60167         * tests/test-rbtree_oset.c: New file.
60168         * MODULES.html.sh (Container data structures): New section.
60169
60170 2006-07-17  Bruno Haible  <bruno@clisp.org>
60171
60172         * m4/gl_list.m4: New file.
60173
60174 2006-07-17  Bruno Haible  <bruno@clisp.org>
60175
60176         * lib/gl_list.h: New file.
60177         * lib/gl_list.c: New file.
60178         * lib/gl_array_list.h: New file.
60179         * lib/gl_array_list.c: New file.
60180         * lib/gl_carray_list.h: New file.
60181         * lib/gl_carray_list.c: New file.
60182         * lib/gl_linked_list.h: New file.
60183         * lib/gl_linked_list.c: New file.
60184         * lib/gl_anylinked_list1.h: New file.
60185         * lib/gl_anylinked_list2.h: New file.
60186         * lib/gl_avltree_list.h: New file.
60187         * lib/gl_avltree_list.c: New file.
60188         * lib/gl_anyavltree_list1.h: New file.
60189         * lib/gl_anyavltree_list2.h: New file.
60190         * lib/gl_rbtree_list.h: New file.
60191         * lib/gl_rbtree_list.c: New file.
60192         * lib/gl_anyrbtree_list1.h: New file.
60193         * lib/gl_anyrbtree_list2.h: New file.
60194         * lib/gl_anytree_list1.h: New file.
60195         * lib/gl_anytree_list2.h: New file.
60196         * lib/gl_linkedhash_list.h: New file.
60197         * lib/gl_linkedhash_list.c: New file.
60198         * lib/gl_anyhash_list1.h: New file.
60199         * lib/gl_anyhash_list2.h: New file.
60200         * lib/gl_avltreehash_list.h: New file.
60201         * lib/gl_avltreehash_list.c: New file.
60202         * lib/gl_rbtreehash_list.h: New file.
60203         * lib/gl_rbtreehash_list.c: New file.
60204         * lib/gl_anytreehash_list1.h: New file.
60205         * lib/gl_anytreehash_list2.h: New file.
60206
60207         * lib/gl_oset.h: New file.
60208         * lib/gl_oset.c: New file.
60209         * lib/gl_array_oset.h: New file.
60210         * lib/gl_array_oset.c: New file.
60211         * lib/gl_avltree_oset.h: New file.
60212         * lib/gl_avltree_oset.c: New file.
60213         * lib/gl_rbtree_oset.h: New file.
60214         * lib/gl_rbtree_oset.c: New file.
60215         * lib/gl_anytree_oset.h: New file.
60216
60217 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60218
60219         * m4/mkancesdirs.m4: New file.
60220         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
60221         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
60222         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
60223         it.
60224
60225 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60226
60227         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
60228         * lib/mkancesdirs.h: New files.
60229         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
60230         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
60231         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
60232         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
60233         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
60234         callers changed.  Revamp internals significantly, by not
60235         attempting to create directories that are temporarily more
60236         permissive than the final results.  Do not attempt to use
60237         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
60238         This removes some race conditions, fixes some bugs, and simplifies
60239         things.  Use new dirchownmod function to do owner and mode changes.
60240         * lib/mkdir-p.h: Likewise.
60241         * lib/modechange.c (octal_to_mode): New function.
60242         (struct mode_change): New member mentioned.
60243         (make_node_op_equals): New arg mentioned.  All callers changed.
60244         (mode_compile): Keep track of which mode bits the user has explicitly
60245         mentioned.
60246         (mode_adjust): New arg DIR, so that we implement the X op correctly.
60247         New arg PMODE_BITS, to keep track of which mode bits the user
60248         mentioned; it treats S_ISUID and S_ISGID speciall.
60249         All callers changed.
60250         * lib/modechange.h: Likewise.
60251
60252 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60253
60254         * MODULES.html.sh: Add mkancestors.
60255         * modules/mkancesdirs: New module.
60256         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
60257         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
60258         The chdir-safer and afs files are now orphans; I'll remove them
60259         unless someone speaks up.
60260         Add lib/dirchownmod.c, lib/dirchownmod.h.
60261         (Depends-on): Remove alloca, chown, save-cwd, dirname.
60262         Add lchown, mkancesdirs.
60263         (Maintainer): Add self.
60264
60265 2006-07-15  Karl Berry  <karl@gnu.org>
60266
60267         * gnulib-tool: help message wording/arrangement.
60268
60269 2006-07-14  Simon Josefsson  <jas@extundo.com>
60270
60271         * doc/gnulib.texi (Libtool and Windows): New section.
60272
60273 2006-07-12  Simon Josefsson  <jas@extundo.com>
60274
60275         * modules/gendocs (License): Fix license, approved by Karl.
60276
60277 2006-07-12  Eric Blake  <ebb9@byu.net>
60278
60279         * MODULES.html.sh: Add gendocs.
60280
60281 2006-07-11  Eric Blake  <ebb9@byu.net>
60282
60283         * modules/fdl: New module, to install doc/fdl.texi.
60284         * MODULES.html.sh: Add new section for documentation modules.
60285         * gnulib-tool: Avoid space-tab.
60286         (--doc-base): New option, to manage files from doc.
60287
60288 2006-07-11  Eric Blake  <ebb9@byu.net>
60289
60290         * m4/absolute-header.m4: Fix comments to match recent change.
60291
60292 2006-07-11  Eric Blake  <ebb9@byu.net>
60293
60294         * gnulib-tool: List --doc-base before --tests-base.
60295
60296 2006-07-11  Derek R. Price  <derek@ximbiot.com>
60297
60298         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
60299
60300 2006-07-11  Bruno Haible  <bruno@clisp.org>
60301
60302         * README: Mention where to put documentation.
60303
60304 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60305
60306         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
60307
60308 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
60309
60310         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
60311         to stdint.m4.
60312
60313 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
60314
60315         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
60316         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
60317         "no/such/file/stdint.h" when there is no such file, so that
60318         the resulting C code can be parsed by dodgy compilers.
60319         Problems reported by Bob Proulx.
60320
60321 2006-07-10  Derek R. Price  <derek@ximbiot.com>
60322
60323         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
60324         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
60325         macros into the GNU _D_EXACT_NAMLEN.
60326         * lib/savedir.c:  Likewise.
60327         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
60328
60329 2006-07-10  Derek R. Price  <derek@ximbiot.com>
60330         and Paul Eggert  <eggert@cs.ucla.edu>
60331
60332         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
60333         * m4/savedir.m4:
60334         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
60335         macros into the GNU _D_EXACT_NAMLEN.
60336
60337 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60338
60339         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
60340         around the absolute name, to work around a problem with the HP-UX
60341         11.23 native C compiler, reported by Bob Proulx.
60342
60343 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60344
60345         * doc/maintain.texi, make-stds.texi: Sync from
60346         <http://savannah.gnu.org/projects/gnustandards>.
60347
60348 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60349
60350         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
60351
60352 2006-07-09  Jim Meyering  <jim@meyering.net>
60353
60354         * m4/glob.m4: Remove a doubled word in a comment.
60355
60356 2006-07-09  Jim Meyering  <jim@meyering.net>
60357
60358         * lib/argp-pv.c: Remove a doubled word in a comment.
60359         * lib/check-version.c (check_version): Likewise.
60360         * lib/javacomp.c (compile_java_class): Likewise.
60361
60362 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
60363
60364         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
60365         for the benefit of people using Autoconf 2.60.  If you want to
60366         support older Autoconf versions you can copy m4/onceonly_2_57.m4
60367         (or m4/onceonly.m4, if pre-2.57) manually.
60368
60369 2006-07-08  Jim Meyering  <jim@meyering.net>
60370
60371         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
60372         comment.
60373         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
60374         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
60375         comment.
60376
60377 2006-07-08  Jim Meyering  <jim@meyering.net>
60378
60379         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
60380
60381 2006-07-07  Simon Josefsson  <jas@extundo.com>
60382
60383         * tests/test-crc.c: Change expected crc value, the test vector
60384         were probably computed using the old broken crc.c?
60385
60386 2006-07-06  Simon Josefsson  <jas@extundo.com>
60387
60388         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
60389         now the canonical place for the M4 file).
60390
60391         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
60392         from the sys_socket dependency now.
60393
60394         * modules/inet_pton (Files): Ditto.
60395
60396         * modules/inet_ntop (Files): Ditto.
60397
60398 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60399
60400         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
60401         not gl_PREREQ_GETUSERSHELL.
60402
60403 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60404
60405         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
60406         with only one argument, for Autoconf 2.60.
60407         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
60408         expand to nothing, so add a shell command to avoid syntax error.
60409         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60410
60411 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60412
60413         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
60414
60415 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60416
60417         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
60418         no longer needed.  Check for isblank decl.
60419         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
60420         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
60421         of existence.
60422
60423 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60424
60425         * lib/getloadavg.c: Use __VMS, not VMS.
60426         * lib/getopt.c: Likewise.
60427         * lib/getpagesize.h: Likewise.
60428         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
60429         and probably does not work.
60430
60431 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60432
60433         * lib/.cppi-disable: Add wcwidth.
60434         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
60435         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
60436         (ISGRAPH): Remove.  All uses changed to isgraph.
60437         (FOLD) [!defined _LIBC]: Remove special case.
60438         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
60439         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
60440         HAVE_ISBLANK.
60441         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
60442         case.
60443
60444 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60445
60446         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
60447         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
60448         brackets.  Other minor changes to suppress some compiler
60449         warnings.
60450
60451 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60452         and Paul Eggert  <eggert@cs.ucla.edu>
60453
60454         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
60455         of invoking obsolescent AC_HEADER_DIRENT macro.
60456         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
60457         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
60458         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
60459         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
60460         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
60461         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60462         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
60463         * m4/readdir.m4: Remove; no longer needed.
60464
60465 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60466         and Paul Eggert  <eggert@cs.ucla.edu>
60467
60468         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
60469         Don't worry about this obsolete case any more.
60470         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
60471         directories.
60472         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
60473         worry about this obsolete case any more.
60474         * lib/fts.c: Likewise.
60475         * lib/getcwd.c: Likewise.
60476         * lib/glob.h: Likewise.
60477         * lib/savedir.c: Likewise.
60478
60479 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60480
60481         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
60482         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
60483         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
60484         needed.
60485         All uses removed.
60486         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60487         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60488         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
60489         needed.
60490         * m4/getdate.m4 (gl_GETDATE): Likewise.
60491         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60492         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60493         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60494         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60495         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60496         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60497         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
60498         needed.
60499
60500 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60501
60502         * lib/memcasecmp.c: Include <limits.h>.
60503         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
60504         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
60505         Don't assume isdigit succeeds only on '0' through '9'.
60506
60507 2006-07-05  Eric Blake  <ebb9@byu.net>
60508
60509         * modules/getaddrinfo (Depends-on): Add snprintf.
60510
60511 2006-07-05  Eric Blake  <ebb9@byu.net>
60512
60513         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
60514         to avoid 'header present but could not be compiled' on cygwin.
60515
60516 2006-07-05  Eric Blake  <ebb9@byu.net>
60517
60518         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
60519         missing from netdb.h.
60520         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
60521
60522 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60523
60524         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
60525         no longer needed.
60526         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
60527         * m4/getdate.m4 (gl_GETDATE): Likewise.
60528         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60529         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60530         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60531         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60532         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60533
60534 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60535
60536         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
60537         All uses of is_space replaced by isspace.
60538         * lib/exit.h: Don't talk about STDC_HEADERS.
60539         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
60540         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
60541         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
60542         replaced by isprint etc.
60543         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
60544         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60545         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
60546         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
60547         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
60548         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60549
60550 2006-07-05  Bruno Haible  <bruno@clisp.org>
60551
60552         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
60553         the function exists, before testing against AIX.
60554         Reported by Martin Lambers <marlam@marlam.de>.
60555
60556 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60557
60558         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
60559         From Mark D. Baushke.
60560
60561 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60562
60563         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
60564         to the absolute name, not just one, to bypass Sun C 5.8's
60565         "warning: #include of /usr/include/... may be non-portable".
60566
60567 2006-07-04  Eric Blake  <ebb9@byu.net>
60568
60569         * modules/dirname-tests: New test module.
60570         * tests/test-dirname.c: New file, replacing dirname.c
60571         TEST_DIRNAME section that was recently deleted.
60572
60573 2006-07-04  Bruno Haible  <bruno@clisp.org>
60574
60575         Assume ANSI C header files and <ctype.h> functions.
60576         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
60577         (mbsnwidth): Use isprint, iscntrl instead.
60578
60579 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60580
60581         Merge from coreutils.
60582         * MODULES.html.sh: Add xstrtold.
60583         * modules/xstrtold: New file.
60584         * modules/cycle-check (Files): Add lib/same-inode.h.
60585         * modules/dirname (Files): Add m4/double-slash-root.m4.
60586         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
60587         * modules/mkdir-p (Files): Add lib/same-inode.h.
60588         * modules/same (Files): Add lib/same-inode.h.
60589
60590 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60591
60592         * m4/absolute-header.m4: Renamed from full-header-path.m4.
60593         This is to keep the terminology clean; POSIX talks about
60594         "absolute pathnames", not "full pathnames", but the GNU
60595         Coding Standards say to use "path" for something else;
60596         so use "absolute" to keep both sides happy.
60597         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
60598         Set gl_absolute_header, not gl_full_header_path.
60599         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
60600         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
60601         All uses changed.
60602
60603         Merge from coreutils.
60604
60605         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60606
60607         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
60608         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
60609         want to require the building of c-strtod.o.
60610         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
60611         needs -lm directly.
60612         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
60613
60614         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60615
60616         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
60617         --as-needed option if available.  Problem reported by Albert Chin in
60618         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
60619         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
60620         cc merely issues a bunch of annoying warnings for --as-needed
60621         (this problem was reported by Bob Proulx).  Also, try linking with
60622         -lm to detect a bug in binutils 2.16 (this problem was reported
60623         by Ralf Wildenhues).
60624
60625         2006-06-18  Jim Meyering  <jim@meyering.net>
60626
60627         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
60628         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
60629         macro.
60630         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
60631         also check for glibc-2.4's abort-inducing bug.
60632
60633         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
60634         Low-probability clean-up should be to use rmdir to get rid of
60635         the just-created directory, not unlink.
60636
60637         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
60638         configure fail, and request a bug report to inform us about it.
60639         Add a comment that, barring reports to the contrary, in 2007 we'll
60640         assume ftruncate is universally available.
60641
60642         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60643
60644         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
60645
60646         2006-03-12  Jim Meyering  <jim@meyering.net>
60647
60648         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
60649         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
60650         * m4/same.m4 (gl_SAME): Likewise.
60651         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
60652
60653         2006-03-11  Eric Blake  <ebb9@byu.net>
60654
60655         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
60656         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
60657         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
60658         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
60659
60660 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60661
60662         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
60663         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
60664         reported by Mark D. Baushke, one in
60665         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
60666
60667         Merge from coreutils.
60668
60669         * lib/.cppi-disable: Add stdint_.h.
60670         * lib/.cvsignore: Add stdint.h.
60671
60672         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60673
60674         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
60675         both double and long double versions.
60676         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
60677         * lib/xstrtold.c: New file.
60678         * lib/xstrtod.h (xstrtold): New decl.
60679
60680         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
60681
60682         * lib/filemode.c (setst): Remove.
60683         (strmode): Rewrite to avoid setst.  This makes the code shorter,
60684         (arguably) clearer, and the generated code is a bit smaller on my
60685         Debian GNU/Linux stable x86 host.
60686
60687         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60688
60689         * lib/filemode.c: Include "filemode.h" first, to test the interface.
60690         Assume that filemode.h includes sys/types.h and sys/stat.h.
60691         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
60692         (ftypelet): Reorder to put common cases first, for efficiency.
60693         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
60694         to do 'M'.
60695         (strmode): Renamed from mode_string, and now stores 12 bytes instead
60696         of 10, for compatibility with FreeBSD.  All callers changed.
60697         (filemodestring): Now stores 12 bytes instead of 10, and sets file
60698         types that can't be deduced solely from st_mode.  First arg is now a
60699         const pointer.
60700         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
60701         (strmode): Renamed from mode_string.
60702         (filemodestring): New decl.
60703         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
60704         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
60705         needed.
60706         (S_ISPORT, S_ISWHT): New macros, if not already defined.
60707
60708         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
60709
60710         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
60711         fsusage.h now does that.  Include fsusage.h first, to test interface.
60712         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
60713         at most one method (the old code could have generated decls that
60714         didn't conform to C89, not that this was ever exercised).
60715         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
60716
60717         2006-03-19  Jim Meyering  <jim@meyering.net>
60718
60719         Work even in a chroot where d_ino values for entries in "/"
60720         don't match the stat.st_ino values for the same names.
60721         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
60722         number, iterate through all entries again, using lstat instead.
60723         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
60724         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
60725
60726         * lib/getcwd.c (__getcwd): Clarify a comment.
60727         Use memcpy in place of a call to strcpy.
60728
60729         2006-03-12  Jim Meyering  <jim@meyering.net>
60730
60731         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
60732         matches that of the current directory (which we're about to chdir ".."
60733         out of), then save the dev-ino of the parent, instead.
60734
60735         * lib/same-inode.h (SAME_INODE): New file/macro.
60736         * lib/chdir-safer.c (SAME_INODE): Remove definition.
60737         Include "same-inode.h", instead.
60738         * lib/same.c: Likewise.
60739         * lib/cycle-check.h: Include "same-inode.h".
60740         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
60741         * lib/cycle-check.c (SAME_INODE): Remove definition.
60742         * lib/root-dev-ino.h: Include "same-inode.h".
60743
60744         2006-03-11  Eric Blake  <ebb9@byu.net>
60745
60746         * lib/same.c (same_name): s/base_name/last_component/
60747         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
60748         * lib/filenamecat.c (file_name_concat): Likewise.
60749
60750         2006-03-11  Eric Blake  <ebb9@byu.net>,
60751                     Paul Eggert  <eggert@cs.ucla.edu>
60752
60753         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
60754         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
60755         drive prefix.
60756         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
60757         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
60758         (last_component): New method.
60759         * lib/dirname.c (dir_len): Determine when drive letters need a
60760         subsequent slash.  Preserve // when it is special.
60761         (dir_name): Don't append dot when drive letter is absolute.
60762         [TEST_DIRNAME]: Move into a full-blown gnulib test.
60763         * lib/basename.c (base_name): New semantics - malloc the result.
60764         Preserve // when it is special.  Preserve relative files that look
60765         like drive letters.
60766         (base_len): Preserve // when it is special.
60767         (last_component): New method, similar to old base_name semantics.
60768         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
60769         base_name.  Strip redundant slashes from ///.
60770
60771 2006-07-03  Jim Meyering  <jim@meyering.net>
60772
60773         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
60774         macro is used before the first cycle_check call.
60775
60776 2006-07-03  Eric Blake  <ebb9@byu.net>
60777
60778         * modules/dirname (Depends-on): Add xstrndup.
60779
60780 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60781
60782         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
60783         test cases, so that config.log is a bit easier to follow.
60784
60785 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60786
60787         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
60788         both are 64 bits, since this seems to be the tradition, and this
60789         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
60790         we ever run into a host that prefers long long to long in this
60791         case, we'll need another configure-time test.  Problem reported by
60792         Jim Meyering.
60793
60794 2006-07-02  Eric Blake  <ebb9@byu.net>
60795
60796         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
60797
60798 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60799
60800         * modules/inttypes (Depends-on): No longer depends on stdint.
60801         * modules/stdint (Description): Say more about assumptions.
60802         Say that the fast types might differ.  Say macros are used.
60803         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
60804         (Makefile.am): Revise list of substituted symbols to match
60805         new stdint.m4.
60806         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
60807         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
60808         * tests/test-stdint.c (verify_same_types)
60809         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
60810         the code conforms to C99/C89.
60811         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
60812         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
60813
60814 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60815
60816         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
60817         but fix a bug, by requiring at least 64 bits.
60818         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60819         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
60820         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
60821         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
60822
60823         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
60824         changes.  Make 2.59 a prerequisite.  Check and substitute for
60825         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
60826         inttypes.h.  Do not use special include files; just use the
60827         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
60828         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
60829         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
60830         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
60831         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
60832         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
60833         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
60834         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
60835         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
60836         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
60837         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
60838         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
60839         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
60840         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
60841         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
60842         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
60843         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
60844         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
60845         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
60846         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
60847         WINT_MAX.  Check for C99 conformance more strictly, by detecting
60848         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
60849         not check for things that C99 does not require, e.g., int8_t.  If
60850         a test isn't needed unless <stdint.h> isn't working, and is
60851         unlikely to be needed for any other reason, then don't do it
60852         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
60853         size_t, since we assume C89 freestanding at least.  Do not check
60854         for sig_atomic_t, wchar_t, or wint_t, since the code now does
60855         the right thing even if the types are not defined.  Instead use:
60856         (gl_STDINT_TYPE_PROPERTIES): New macro.
60857         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
60858         testing whether <sys/types.h> clashes, as Autoconf does this for
60859         us now.  All uses removed.
60860         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
60861         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
60862         (gl_CHECK_TYPE_SAME):
60863         Remove; no longer needed.
60864         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
60865         exists, since we'll return 0 anyway in that case.
60866         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
60867
60868 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60869
60870         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
60871         possible collision with system files.
60872         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
60873         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
60874         WCHAR_MIN and WCHAR_MAX in this case.
60875         (<stddef.h>): Do not include; no longer needed.
60876         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
60877         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
60878         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
60879         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
60880         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
60881         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
60882         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
60883         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
60884         !defined(__c99))]: Include in this case too, since it's harmless
60885         now.
60886         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
60887         dangerous to do so.
60888         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
60889         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
60890         (_STDINT_MIN, _STDINT_MAX): New macros.
60891         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
60892         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
60893         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
60894         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
60895         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
60896         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
60897         macros, not typedefs; this simplifies things quite a bit.
60898         Use long int for all types narrower than int64_t.
60899         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
60900         Define in terms of long long int or int64_t or long int,
60901         not int64_t or int32_t.  This saves some compile-time testing.
60902         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
60903         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
60904         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
60905         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
60906         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
60907         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
60908         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
60909         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
60910         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
60911         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
60912         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60913         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60914         undef any previous version and define our own version, for
60915         simplicity and consistency with the new macros for types.
60916         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60917         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60918         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
60919         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
60920         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
60921         @WINT_T_SUFFIX@ to keep things simple here.
60922         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
60923         Simplify by assuming typical 8/16/32/64 host, since we're
60924         already doing that elsewhere anyway.
60925         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
60926         and assume long long int is 64 bits if available.  This
60927         speeds up 'configure'.
60928
60929 2006-07-01  Eric Blake  <ebb9@byu.net>
60930
60931         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
60932         Reported by Andreas Buening.
60933
60934 2006-07-01  Eric Blake  <ebb9@byu.net>
60935
60936         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
60937
60938 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60939
60940         * lib/getaddrinfo.c: fixed typo
60941
60942 2006-06-29  Jim Meyering  <jim@meyering.net>
60943
60944         * modules/strftime (Maintainer): Add my name, since with the
60945         FPRINTFTIME changes strftime.c has forked from glibc.
60946
60947 2006-06-29  Eric Blake  <ebb9@byu.net>
60948
60949         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
60950
60951 2006-06-29  Eric Blake  <ebb9@byu.net>
60952
60953         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
60954
60955 2006-06-29  Eric Blake  <ebb9@byu.net>
60956
60957         * lib/stat_.h: New file.
60958
60959 2006-06-29  Eric Blake  <ebb9@byu.net>
60960
60961         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
60962         unused static function.
60963
60964 2006-06-29  Eric Blake  <ebb9@byu.net>
60965
60966         * doc/functions.texi (Function Portability): Document missing lstat
60967         on mingw.
60968
60969 2006-06-29  Eric Blake  <ebb9@byu.net>
60970
60971         * MODULES.html.sh: Add sys_stat.
60972         * modules/sys_stat: New module.
60973         * modules/mkstemp (Depends-on): Add sys_stat.
60974
60975 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60976
60977         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
60978
60979 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60980
60981         * m4/c-bs-a.m4: Removed.
60982
60983 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60984
60985         * lib/strftime.c: Assume strftime() exists.
60986
60987 2006-06-29  Derek Price  <derek@ximbiot.com>
60988
60989         * modules/c-bs-a: Removed - \a is C89.
60990         * MODULES.html.sh: Remove c-bs-a.
60991
60992 2006-06-29  Bruno Haible  <bruno@clisp.org>
60993
60994         * modules/wcwidth (License): Change to LGPL.
60995
60996 2006-06-28  Simon Josefsson  <jas@extundo.com>
60997
60998         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
60999         on _WIN32.
61000
61001         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
61002         getnameinfo.
61003
61004 2006-06-28  Simon Josefsson  <jas@extundo.com>
61005
61006         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
61007
61008 2006-06-28  Simon Josefsson  <jas@extundo.com>
61009
61010         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
61011         functions there.  It will succeed on Windows XP, but on Windows
61012         2000 and (presumably) earlier, it will fail, and use the internal
61013         re-implementation.
61014         (use_win32_p): New function.
61015         (getaddrinfo): Use strtoul on servname, to support numeric ports.
61016         Support AI_NUMERICSERV to disable getservbyname.
61017         (getnameinfo): New function, only supports
61018         NI_NUMERICHOST|NI_NUMERICSERV for now.
61019
61020         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
61021         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
61022         getnameinfo.
61023
61024 2006-06-28  Eric Blake  <ebb9@byu.net>
61025
61026         * modules/wcwidth: New file.
61027         * modules/mbchar (Depends-on): Add wcwidth.
61028         * modules/mbswidth (Depends-on): Add wcwidth.
61029         * MODULES.html.sh: Add wcwidth.
61030
61031 2006-06-28  Eric Blake  <ebb9@byu.net>
61032
61033         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
61034         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
61035
61036 2006-06-28  Eric Blake  <ebb9@byu.net>
61037
61038         * lib/xvasprintf.h: Fix comments.
61039
61040 2006-06-28  Eric Blake  <ebb9@byu.net>
61041
61042         * lib/mbchar.h (wcwidth): Include wcwidth.h.
61043         * lib/mbswidth.c (wcwidth): Move from here...
61044         * lib/wcwidth.h: ...to this new file.
61045
61046 2006-06-28  Derek R. Price  <derek@ximbiot.com>
61047
61048         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
61049
61050         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
61051         it's obsolete.
61052         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
61053
61054 2006-06-28  Derek R. Price  <derek@ximbiot.com>
61055
61056         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
61057         Autoconf 2.60 says this stuff was obsolete.
61058
61059 2006-06-28  Bruno Haible  <bruno@clisp.org>
61060
61061         * modules/wcwidth (Files): Add m4/wchar_t.m4.
61062
61063 2006-06-28  Bruno Haible  <bruno@clisp.org>
61064
61065         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
61066         gt_TYPE_WCHAR_T.
61067
61068 2006-06-28  Bruno Haible  <bruno@clisp.org>
61069
61070         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
61071         declaration for wcwidth.
61072         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
61073
61074 2006-06-28  Bruno Haible  <bruno@clisp.org>
61075
61076         * lib/mkdtemp.c [MINGW]: Include <io.h>.
61077         (mkdir): Define using _mkdir.
61078
61079 2006-06-28  Bruno Haible  <bruno@clisp.org>
61080
61081         * lib/getaddrinfo.h: Fix POSIX URL.
61082         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
61083         _WIN32.
61084         (use_win32_p): Make static.
61085         (getaddrinfo): Reject service name if it is empty or does not consist
61086         solely of decimal digits, or if its value is > 65535.
61087         (getnameinfo): Remove useless casts.
61088
61089 2006-06-27  Simon Josefsson  <jas@extundo.com>
61090
61091         * modules/sys_select: New file, suggested by Bruno Haible, Paul
61092         Eggert and Martin Lambers.
61093
61094 2006-06-27  Simon Josefsson  <jas@extundo.com>
61095
61096         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
61097         Eggert and Martin Lambers.
61098
61099 2006-06-27  Bruno Haible  <bruno@clisp.org>
61100
61101         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
61102         result to 0, not to empty.
61103         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
61104
61105 2006-06-27  Bruno Haible  <bruno@clisp.org>
61106
61107         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
61108
61109 2006-06-26  Simon Josefsson  <jas@extundo.com>
61110
61111         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
61112         present.
61113
61114 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
61115
61116         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
61117         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
61118         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
61119
61120 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
61121
61122         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
61123
61124 2006-06-26  Bruno Haible  <bruno@clisp.org>
61125
61126         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
61127
61128 2006-06-26  Bruno Haible  <bruno@clisp.org>
61129
61130         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
61131
61132 2006-06-26  Bruno Haible  <bruno@clisp.org>
61133
61134         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
61135         SGI C compiler in pre-C99 mode.
61136         Suggested by Mark D. Baushke and Larry Jones.
61137
61138 2006-06-26  Bruno Haible  <bruno@clisp.org>
61139
61140         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
61141         WCHAR_MAX.
61142         Reported by Mark D. Baushke and Larry Jones.
61143
61144 2006-06-26  Bruno Haible  <bruno@clisp.org>
61145
61146         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
61147         in pre-C99 mode.
61148         Suggested by Mark D. Baushke and Larry Jones.
61149
61150 2006-06-23  Simon Josefsson  <jas@extundo.com>
61151             Bruno Haible  <bruno@clisp.org>
61152
61153         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
61154         Emit mostlyclean-local rule.
61155         (func_emit_tests_Makefile_am): Likewise.
61156         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
61157
61158 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
61159
61160         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
61161
61162 2006-06-23  Bruno Haible  <bruno@clisp.org>
61163
61164         * tests/test-stdint.c: Update to match ISO C 99 Technical
61165         Corrigendum 1.
61166
61167 2006-06-23  Bruno Haible  <bruno@clisp.org>
61168
61169         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
61170
61171 2006-06-23  Bruno Haible  <bruno@clisp.org>
61172
61173         * lib/stdint_.h: Treat IRIX like OpenBSD.
61174
61175 2006-06-23  Bruno Haible  <bruno@clisp.org>
61176
61177         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
61178         ISO C 99 Technical Corrigendum 1.
61179
61180 2006-06-22  Simon Josefsson  <jas@extundo.com>
61181
61182         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
61183         MinGW.
61184
61185 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61186
61187         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
61188         needed.  Some compiler complained about some of them.  Problem reported
61189         by Larry Jones in
61190         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
61191
61192 2006-06-21  Simon Josefsson  <jas@extundo.com>
61193
61194         * tests/test-getaddrinfo.c: New file.
61195
61196         * modules/getaddrinfo-tests: New file.
61197
61198         * MODULES.html.sh: Add inet_pton.
61199
61200         * modules/inet_pton: New file.
61201
61202 2006-06-21  Simon Josefsson  <jas@extundo.com>
61203
61204         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
61205         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
61206         of using the (limited) gnulib implementation on Windows XP.
61207
61208         * m4/inet_pton.m4: New file.
61209
61210 2006-06-21  Simon Josefsson  <jas@extundo.com>
61211
61212         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
61213         variable.
61214
61215         * lib/socket_.h: Don't define WINVER.
61216
61217         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
61218         slightly modified to work in gnulib.
61219
61220 2006-06-21  Simon Josefsson  <jas@extundo.com>
61221
61222         * doc/gnulib.texi (Windows sockets): Add.
61223
61224 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61225
61226         * lib/read-file.c (fread_file): Start with buffer allocation of
61227         0 bytes rather than 1 byte; this simplifies the code.
61228         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
61229         code to free buffer and save/restore errno.
61230         (internal_read_file): Remove unused local.
61231
61232 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61233
61234         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
61235         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
61236         Problem reported by Denis Excoffier in
61237         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
61238
61239 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61240
61241         * modules/sys_socket, modules/socklen: Include sys/types since
61242         FreeBSD 4.x's sys/socket.h needs it.
61243
61244 2006-06-19  Simon Josefsson  <jas@extundo.com>
61245
61246         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
61247
61248 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61249
61250         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
61251
61252 2006-06-19  Bruno Haible  <bruno@clisp.org>
61253
61254         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
61255         and FULL_PATH_INTTYPES_H in angle brackets.
61256         Reported by Mark D. Baushke <mdb@gnu.org>.
61257
61258 2006-06-17  Eric Blake  <ebb9@byu.net>
61259
61260         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
61261         errno.
61262
61263 2006-06-17  Bruno Haible  <bruno@clisp.org>
61264
61265         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
61266         <sys/inttypes.h>.
61267
61268 2006-06-17  Bruno Haible  <bruno@clisp.org>
61269
61270         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
61271         whether errno is declared. Assume <errno.h> declares errno.
61272
61273 2006-06-17  Bruno Haible  <bruno@clisp.org>
61274
61275         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
61276
61277 2006-06-17  Bruno Haible  <bruno@clisp.org>
61278
61279         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
61280         problem on Solaris 2.5.1.
61281
61282 2006-06-16  Eric Blake  <ebb9@byu.net>
61283
61284         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
61285         * lib/unicodeio.c [!defined errno]: Likewise.
61286         * lib/strtol.c [!defined errno]: Likewise.
61287         * lib/strtod.c [!defined errno]: Likewise.
61288
61289 2006-06-15  Eric Blake  <ebb9@byu.net>
61290
61291         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
61292
61293 2006-06-15  Eric Blake  <ebb9@byu.net>
61294
61295         * config/srclist.txt (ssize_t.m4): Lose sync.
61296
61297 2006-06-15  Bruno Haible  <bruno@clisp.org>
61298
61299         * modules/stdint (Files): Include m4/full-header-path.m4,
61300         m4/size_max.m4, m4/wchar_t.m4.
61301         (Makefile.am): Many more substitutions.
61302         * modules/stdint-tests: New file.
61303         * tests/test-stdint.c: New file.
61304
61305 2006-06-15  Bruno Haible  <bruno@clisp.org>
61306
61307         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
61308         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
61309         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
61310         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
61311         gl_CHECK_TYPE_SAME): New macros.
61312
61313 2006-06-15  Bruno Haible  <bruno@clisp.org>
61314
61315         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
61316
61317 2006-06-15  Bruno Haible  <bruno@clisp.org>
61318
61319         * lib/stdint_.h: Rewritten to be fully auto-configured.
61320         Fixes bug on HP-UX/IA64.
61321
61322 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
61323
61324         * lib/getdate.y (__attribute__): Don't define if already defined.
61325         Problem reported by Larry Jones.
61326         * lib/utimens.c (__attribute__): Likewise.
61327
61328 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
61329
61330         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
61331         reported by Andreas Schwab.
61332
61333 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61334             Bruno Haible  <bruno@clisp.org>
61335
61336         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
61337         check for the declaration of strnlen and a run test that exposes the
61338         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
61339         rpl_strndup.
61340
61341 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61342             Bruno Haible  <bruno@clisp.org>
61343
61344         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
61345
61346 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61347
61348         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
61349         compile test, for Tru64 4.0D.
61350
61351 2006-05-28  Karl Berry  <karl@gnu.org>
61352
61353         * config/srclist.txt (printf-args.c): lose sync.
61354
61355 2006-05-26  Martin Lambers  <marlam@marlam.de>
61356
61357         * lib/getpass.c: Updates the test for the native W32 API, and adds
61358         missing includes, thus fixing compilation warnings.
61359
61360 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61361
61362         * lib/exclude.c (exclude_fnmatch): New function.
61363         (excluded_file_name): Call exclude_fnmatch.
61364         * lib/exclude.h (excluded_file_name): New prototype
61365
61366 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
61367
61368         * lib/tempname.c (small_open, large_open): New macros.
61369         (__open, __open64) [!_LIBC]: Remove.
61370         (__gen_tempname): Use small_open and large_open instead of __open
61371         and __open64.  This fixes a portability bug on HP-UX 11.11i
61372         reported by Simon Wing-Tang in
61373         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
61374
61375 2006-05-24  Bruno Haible  <bruno@clisp.org>
61376
61377         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
61378         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
61379         Reported by Thorsten Maerz <torte@netztorte.de> via
61380         Aaron Stone <aaron@serendipity.cx>.
61381
61382 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61383
61384         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
61385         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
61386         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
61387         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
61388         not really conditional on the cache.
61389         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
61390
61391 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61392
61393         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
61394         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
61395         (my_usleep): Don't mishandle maximum value.
61396
61397 2006-05-19  Jim Meyering  <jim@meyering.net>
61398
61399         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
61400
61401 2006-05-17  Bruno Haible  <bruno@clisp.org>
61402
61403         Cygwin portability.
61404         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
61405
61406 2006-05-17  Bruno Haible  <bruno@clisp.org>
61407
61408         * lib/stdint_.h: Fix recognition of Cygwin.
61409
61410 2006-05-15  Bruno Haible  <bruno@clisp.org>
61411
61412         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
61413         on libtool patch by Ralf Wildenhues.
61414
61415 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
61416
61417         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
61418         test for C99 conformance; (bool) 0.5 is an integer constant
61419         expression, but (bool) -0.5 is not.  Problem reported by Fedor
61420         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
61421
61422 2006-05-11  Simon Josefsson  <jas@extundo.com>
61423
61424         * m4/xvasprintf.m4: Fix obvious typo.
61425
61426 2006-05-11  Jim Meyering  <jim@meyering.net>
61427
61428         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
61429         James Lemley.
61430
61431 2006-05-10  Simon Josefsson  <jas@extundo.com>
61432
61433         * lib/md4.c: Typo fix, update copyright years.
61434         (K1, K2): Don't use L because it turn computations into 64-bit on
61435         64-bit platforms.
61436
61437 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
61438
61439         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
61440         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
61441         unwanted sign propagation, e.g., on hosts with 64-bit int.
61442         There still are some problems with reeelly weird theoretical hosts
61443         (e.g., 33-bit int) but it's not worth worrying about now.
61444         * lib/sha1.c (rol): Likewise.
61445         (K1, K2, K3, K4): Remove unnecessary L suffix.
61446
61447 2006-05-10  Bruno Haible  <bruno@clisp.org>
61448
61449         * lib/des.c: Cast to avoid warnings.
61450
61451 2006-05-09  Bruno Haible  <bruno@clisp.org>
61452
61453         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
61454         (Depends-on): Depend also on xsize, stdarg.
61455         (configure.ac): Add gl_XVASPRINTF.
61456
61457 2006-05-09  Bruno Haible  <bruno@clisp.org>
61458
61459         * m4/xvasprintf.m4: New file.
61460
61461 2006-05-09  Bruno Haible  <bruno@clisp.org>
61462
61463         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
61464         (EOVERFLOW): Define fallback value.
61465         (xstrcat): New function.
61466         (xvasprintf): Recognize the special case of a string concatenation.
61467
61468 2006-05-08  Eric Blake  <ebb9@byu.net>
61469
61470         * gnulib-tool (func_version): Base copyright year on CVS date.
61471         (func_emit_copyright_notice): New function.
61472         (func_emit_lib_Makefile_am): Use it.
61473         (func_emit_tests_Makefile_am): Likewise.
61474         (func_import): Likewise.
61475
61476 2006-05-08  Bruno Haible  <bruno@clisp.org>
61477
61478         * modules/stdarg: New file.
61479         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
61480
61481 2006-05-08  Bruno Haible  <bruno@clisp.org>
61482
61483         * m4/stdarg.m4: New file, from GNU gettext.
61484
61485 2006-05-08  Bruno Haible  <bruno@clisp.org>
61486
61487         * config/srclist.txt (build-aux/config.rpath): different from latest
61488         release.
61489
61490 2006-05-08  Bruno Haible  <bruno@clisp.org>
61491
61492         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
61493
61494 2006-05-05  Jim Meyering  <jim@meyering.net>
61495
61496         * m4/warning.m4: New file, derived from bison's file by the same name.
61497
61498 2006-05-03  Bruno Haible  <bruno@clisp.org>
61499
61500         * lib/stdint_.h: Shorter URL.
61501         * lib/inttypes.h: Likewise.
61502
61503 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61504
61505         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
61506
61507 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61508
61509         * lib/verify.h: Document the internals better.  Most of this change
61510         was written by Bruno Haible.
61511
61512 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61513
61514         * doc/verify.texi: New file, partly based on a proposal by
61515         Bruno Haible.
61516
61517 2006-05-02  Bruno Haible  <bruno@clisp.org>
61518
61519         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
61520         test from here...
61521         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
61522
61523 2006-04-29  Bruno Haible  <bruno@clisp.org>
61524
61525         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
61526         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
61527
61528 2006-04-29  Bruno Haible  <bruno@clisp.org>
61529
61530         * gnulib-tool: Make --update option actually work.
61531
61532 2006-04-29  Bruno Haible  <bruno@clisp.org>
61533
61534         * doc/gcd.texi: New file.
61535         * doc/gnulib.texi: Include it.
61536
61537 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
61538
61539         * lib/getdate.y (get_date): When adding relative date, start with the
61540         initial time, not with the result of the first mktime call.
61541
61542 2006-04-25  Bruno Haible  <bruno@clisp.org>
61543
61544         * gnulib-tool (func_import): Output the include directives in three
61545         blocks, sorted separately.
61546         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61547
61548 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61549
61550         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
61551         to define main with arguments, for C++.  Reported by Eric Blake.
61552         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
61553         Prefer 'int main ()' to 'int main (void)', for C++.
61554         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
61555         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
61556         for 'main', for C99 and C++.
61557
61558 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61559
61560         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
61561         Don't assume that exit status -1 is valid.
61562         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61563         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
61564         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
61565         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
61566         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
61567         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
61568         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
61569         functions can be used without declaring them, or that you can
61570         exit with status -1.
61571         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
61572
61573 2006-04-24  Karl Berry  <karl@gnu.org>
61574
61575         * config/srclist.txt (longdouble.m4): sync lost.
61576
61577 2006-04-24  Eric Blake  <ebb9@byu.net>
61578
61579         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
61580
61581 2006-04-24  Bruno Haible  <bruno@clisp.org>
61582
61583         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
61584         poll() implementation in AIX.
61585         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61586
61587 2006-04-24  Bruno Haible  <bruno@clisp.org>
61588
61589         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
61590         assigned exactly once.
61591
61592 2006-04-23  Claudio Fontana  <claudio@gnu.org>
61593             Bruno Haible  <bruno@clisp.org>
61594
61595         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
61596         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
61597         for AM_CPPFLAGS.
61598
61599 2006-04-23  Bruno Haible  <bruno@clisp.org>
61600
61601         * modules/copy-file: Depend on unistd.
61602         * modules/execute: Likewise.
61603         * modules/fatal-signal: Likewise.
61604         * modules/findprog: Likewise.
61605         * modules/mkdtemp : Likewise.
61606         * modules/pipe: Likewise.
61607         * modules/wait-process: Likewise.
61608
61609 2006-04-23  Bruno Haible  <bruno@clisp.org>
61610
61611         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
61612         condition was already detected.
61613         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61614
61615 2006-04-23  Bruno Haible  <bruno@clisp.org>
61616
61617         * lib/copy-file.c: Include <unistd.h> unconditionally.
61618         * lib/execute.c: Likewise.
61619         * lib/fatal-signal.c: Likewise.
61620         * lib/findprog.c: Likewise.
61621         * lib/mkdtemp.c: Likewise.
61622         * lib/pipe.h: Likewise.
61623         * lib/pipe.c: Likewise.
61624         * lib/wait-process.h: Likewise.
61625
61626 2006-04-23  Bruno Haible  <bruno@clisp.org>
61627
61628         * gnulib-tool (func_usage): Fix --import description. Document
61629         --update.
61630         (func_import): Create temporary file in a temporary directory, if
61631         --dry-run is specified. Silence errors from 'grep' when there are no
61632         m4 files in $m4dir.
61633         (func_create_testdir): Silence errors from 'grep' when there are no
61634         m4 files in $m4dir.
61635         Reported by Karl Berry <karl@freefriends.org>.
61636
61637 2006-04-20  Bruno Haible  <bruno@clisp.org>
61638
61639         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
61640         one argument, so that the code will be portable to Autoconf 2.60.
61641         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
61642         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61643         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
61644
61645 2006-04-19  Derek Price  <derek@ximbiot.com>
61646             Eric Blake  <ebb9@byu.net>
61647
61648         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
61649         rather than "/full/path.h".  Update comment to match.  Shorten &
61650         generalize m4_translit call via AS_TR_CPP.
61651
61652 2006-04-19  Derek Price  <derek@ximbiot.com>
61653             Eric Blake  <ebb9@byu.net>
61654
61655         * lib/inttypes.h: Correct grammar in comment.
61656
61657 2006-04-18  Derek Price  <derek@ximbiot.com>
61658             Paul Eggert  <eggert@cs.ucla.edu>
61659
61660         * modules/inttypes: New file.
61661         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
61662
61663 2006-04-18  Derek Price  <derek@ximbiot.com>
61664             Paul Eggert  <eggert@cs.ucla.edu>
61665
61666         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
61667         New files.
61668
61669 2006-04-18  Derek Price  <derek@ximbiot.com>
61670             Paul Eggert  <eggert@cs.ucla.edu>
61671
61672         * lib/inttypes.h: New file.
61673         * lib/strtoimax.c: Assume <inttypes.h>.
61674
61675 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
61676
61677         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
61678         isn't mounted.  Problem reported by Kir Kolyshkin.
61679
61680 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
61681
61682         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
61683         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
61684         Derek R. Price.
61685         * lib/regex.h (RE_DUP_MAX): Update comment to match current
61686         implementation.
61687
61688 2006-04-12  Eric Blake  <ebb9@byu.net>
61689
61690         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
61691         is now done automatically by the corresponding Autoconf macro.
61692
61693 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
61694
61695         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
61696         time_r.h.
61697
61698 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61699
61700         Merge regex changes from libc, removing some of our
61701         POSIX-conformance changes that were rejected and redoing them in a
61702         less-intrusive way.
61703
61704         * lib/regcomp.c (re_compile_internal, init_dfa):
61705         Length arg is now size_t, not Idx.  All uses changed.
61706         (peek_token): Forward decl now says internal_function.
61707         (__re_error_msgid, __re_error_msgid_idx):
61708         Now static rather than extern with attribute_hidden.
61709         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
61710         For some reason libc prefers K&R style defns for external functions.
61711         (regerror) [!defined _LIBC]: Likewise.
61712         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
61713         (seek_collating_symbol_entry, lookup_collation_sequence_value):
61714         (build_range_exp, build_collating_symbol):
61715         Use K&R-style defn.
61716         (re_compile_fastmap): Use '\0' to memset, not 0.
61717         (utf8_sb_map): Make the calculations more obvious.
61718         (init_dfa, parse_bracket_exp, build_charclass_op):
61719         Call calloc and cast result, as glibc does.
61720         (init_word_char, fetch_token, peek_token, peek_token_bracket):
61721         (build_range_exp, build_collating_symbol):
61722         Now internal functions.
61723
61724         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
61725
61726         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
61727         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
61728         Don't depend on VMS; depend on __VMS instead, for POSIX
61729         namespace cleanness.
61730         (regoff_t): Define to ssize_t, not long int.
61731
61732         Remove the REG_ macros named below.  Instead, make the old names
61733         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
61734         __USE_GNU_REGEX.
61735         (REG_BACKSLASH_ESCAPE_IN_LISTS):
61736         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
61737         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
61738         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
61739         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
61740         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
61741         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
61742         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
61743         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
61744         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
61745         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
61746         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
61747         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
61748         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
61749         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
61750         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
61751         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
61752         (REG_NREGS):
61753         Remove.  All uses replaced by the old RE_* names.
61754         (RE_BACKSLASH_ESCAPE_IN_LISTS):
61755         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
61756         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
61757         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
61758         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
61759         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
61760         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
61761         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
61762         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
61763         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
61764         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
61765         Don't bother having these macros be independent of each others'
61766         values, since they no longer exist in the POSIX name space.
61767
61768         Rename the following member names back to their old names,
61769         unless !__USE_GNU_REGEX.  All uses changed back.
61770         (buffer): Renamed from re_buffer.
61771         (allocated): Renamed from re_allocated.
61772         (used): Renamed from re_used.
61773         (syntax): Renamed from re_syntax.
61774         (fastmap): Renamed from re_fastmap.
61775         (translate): Renamed from re_translate.
61776         (can_be_null): Renamed from re_can_be_null.
61777         (regs_allocated): Renamed from re_regs_allocated.
61778         (fastmap_accurate): Renamed from re_fastmap_accurate.
61779         (no_sub): Renamed from re_no_sub.
61780         (not_bol): Renamed from re_not_bol.
61781         (not_eol): Renamed from re_not_eol.
61782         (newline_anchor): Renamed from re_newline_anchor.
61783         (num_regs): Renamed from rm_num_regs.
61784         (start): Renamed from rm_start.
61785         (end): Renamed from rm_end.
61786
61787         (free_state): Move up a bit.
61788
61789         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
61790         #define to be empty.
61791         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
61792         when that is what is intended.
61793         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
61794         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
61795         (MAX): New macro.
61796         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
61797         All uses changed back to re_malloc, etc.  It's now the caller's
61798         responsibility to check for overflow; all callers changed.
61799         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
61800         (re_x2nrealloc): Remove.
61801         (free_state): Remove decl.
61802
61803         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
61804         (re_set_registers, re_exec):
61805         Use K&R-style defn.
61806
61807         2006-01-31  Roland McGrath  <roland@redhat.com>
61808
61809         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
61810         Reported by Mike Frysinger <vapier@gentoo.org>.
61811
61812         2006-01-15  Andreas Jaeger  <aj@suse.de>
61813
61814         [BZ #1950]
61815         * lib/regex_internal.c (re_string_reconstruct): Adjust for
61816         build_wcs_upper_buffer change.
61817         (build_wcs_upper_buffer): Change return type.
61818
61819         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
61820
61821         * lib/regex_internal.h: Include <stdint.h> if available.
61822
61823         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
61824
61825         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
61826
61827         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
61828
61829         * lib/regcomp.c: Adjust for changed secondary hash function.
61830
61831         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
61832
61833         * lib/regex.h: Pretty printing.
61834         Clean up namespace a bit.
61835
61836         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
61837
61838         * lib/regexec.c (update_cur_sifted_state, check_arrival,
61839         check_arrival_add_next_nodes): Avoid using uninitialized variable.
61840
61841         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61842                     Ulrich Drepper  <drepper@redhat.com>
61843
61844         [BZ #1302]
61845         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
61846         changed.
61847         (bitset_word_t): Renamed from bitset_word.  All uses changed.
61848
61849         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
61850
61851         [BZ #281]
61852         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
61853         * lib/regcomp.c: Remove unnecessary uses of
61854         unsigned RE_TRANSLATE_TYPE.
61855         * lib/regex_internal.h: Likewise.
61856         * lib/regex_internal.c: Likewise.
61857         * lib/regexec.c: Likewise.
61858         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
61859
61860         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
61861
61862         * lib/regexec.c (find_recover_state): Remove unnecessary
61863         initialization.
61864         (transit_state_bkref): Make DFA a const pointer.
61865         (get_subexp): Likewise.
61866         (check_arrival): Likewise.
61867         (update_cur_sifted_state): Likewise.
61868         (re_search_internal): Likewise.
61869         (prune_impossible_nodes): Likewise.
61870         (acquire_init_state_context): Likewise.
61871         (proceed_next_node): Likewise.
61872         (set_regs): Likewise.
61873         (free_fail_stack_return): Likewise.
61874         (check_arrival_expand_ecl): Mark DFA parameter as const.
61875         (check_arrival_expand_ecl_sub): Likewise.
61876         (check_subexp_limits): Likewise.
61877         (sub_epsilon_src_nodes):  Likewise.
61878         (add_epsilon_src_nodes):  Likewise.
61879         (merge_state_array): Likewise.
61880         (update_regs): Likewise.
61881         (build_trtable): Likewise.
61882         (sift_states_backward): Mark MCTX parameter as const.
61883         (build_sifted_states): Likewise.
61884         (update_cur_sifted_state): Likewise.
61885         (sift_states_mkref): Likewise.
61886         (check_arrival_expand_ecl): Mark eclosure as const.
61887         (check_dst_limits_calc_pos_1): Likewise.
61888         * lib/regex_internal.h (re_match_context_t): Make dfa a const
61889         pointer.
61890
61891         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
61892
61893         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
61894         (transit_state_sb): Likewise.
61895         (transit_state_mb): Likewise.
61896         (sift_states_iter_mb): Likewise.
61897         (check_arrival_add_next_nodes): Likewise.
61898         (check_node_accept_bytes): Change first parameter to pointer-to-const.
61899         [_LIBC] (re_search_2_stub): Use mempcpy.
61900
61901         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
61902         mbrtowc for very simple UTF-8 case.
61903
61904         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
61905         a pointer-to-const.
61906         (re_acquire_state_context): Likewise.
61907         * lib/regex_internal.h: Adjust prototypes.
61908
61909         * lib/regex.c: Prevent using C++ compilers.
61910
61911         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
61912         (re_acquire_state_context): Likewise.
61913
61914 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61915
61916         * modules/regex (Depends-on): Add ssize_t.
61917
61918 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61919
61920         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
61921         translation table.
61922
61923 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61924
61925         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
61926
61927 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
61928             Bruno Haible  <bruno@clisp.org>
61929
61930         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
61931         <sys/types.h> and <inttypes.h>.
61932
61933 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61934
61935         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
61936         `__error_t_defined', so argp.h will not typedef the former.
61937
61938 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
61939
61940         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
61941         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
61942         glibc names.  Even if glibc is changed to conform to POSIX, the
61943         traditional names will be available anyway, since regex depends on
61944         the extensions module.  Also, fix a longstanding typo in the
61945         implementation of Spencer ERE test #75 from grep 2.3.  Problems
61946         reported by Emanuele Giaquinta.  Also, change sense of cached
61947         variable, so that the message makes sense.
61948
61949 2006-03-24  Simon Josefsson  <jas@extundo.com>
61950
61951         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
61952         including some doc fixes.
61953         (base64_encode_alloc): Fix +1 bug on allocation failures.
61954
61955 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61956
61957         * lib/base64.c (base64_encode): Do not read past end of array with
61958         unsanitized input on systems with CHAR_BIT > 8.
61959
61960 2006-03-24  Eric Blake  <ebb9@byu.net>
61961
61962         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
61963
61964 2006-03-22  Karl Berry  <karl@gnu.org>
61965
61966         * config/srclist.txt (*setenv.[ch]): get from coreutils.
61967         * config/srclistvars.sh (COREUTILS): new var.
61968
61969 2006-03-17  Jim Meyering  <jim@meyering.net>
61970
61971         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
61972         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
61973
61974 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
61975
61976         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
61977         no longer needs it.  Instead, check that regoff_t is as least
61978         as wide as ptrdiff_t.
61979
61980         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
61981         so that our regex.h stays compatible with the installed regex.
61982         This is helpful for installers who configure --without-included-regex.
61983         Problem reported by Emanuele Giaquinta.
61984
61985 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
61986
61987         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
61988         Typedef to long int, not to off_, as POSIX will likely change
61989         in that direction.
61990
61991 2006-03-15  Eric Blake  <ebb9@byu.net>
61992
61993         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
61994
61995 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61996
61997         * lib/argp-help.c (validate_uparams): Fix typo
61998         * lib/argp-parse.c (argp_default_options): Consistently begin help
61999         messages with a lowercase letter.
62000
62001 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
62002
62003         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
62004         overrun buffers and shouldn't be used (much as gets shouldn't be
62005         used).
62006         * lib/time_r.c (asctime_r, ctime_r): Likewise.
62007
62008 2006-03-08  Simon Josefsson  <jas@extundo.com>
62009
62010         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
62011         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62012
62013 2006-03-08  Simon Josefsson  <jas@extundo.com>
62014
62015         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
62016         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62017
62018 2006-03-08  Simon Josefsson  <jas@extundo.com>
62019
62020         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
62021         signal that configure disabled the device.
62022
62023 2006-03-08  Simon Josefsson  <jas@extundo.com>
62024
62025         * build-aux/maint.mk: Fix refresh-po, to handle no translated
62026         languages.
62027
62028 2006-03-07  Simon Josefsson  <jas@extundo.com>
62029
62030         * modules/getopt (Depends-on): Add unistd.
62031
62032         * modules/unistd: New file.
62033
62034 2006-03-07  Simon Josefsson  <jas@extundo.com>
62035
62036         * modules/gc-random: New file.
62037
62038 2006-03-07  Simon Josefsson  <jas@extundo.com>
62039
62040         * m4/unistd_h.m4: New file.
62041
62042 2006-03-07  Simon Josefsson  <jas@extundo.com>
62043
62044         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
62045         test to be side-effect free by storing the result in the cache
62046         variable gl_cv_lib_readline, and moving the assignment of
62047         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
62048         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62049
62050 2006-03-07  Simon Josefsson  <jas@extundo.com>
62051
62052         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
62053         error on missing devices (the functions will return an error).
62054
62055         * m4/gc.m4: Move random stuff to gc-random.m4
62056
62057 2006-03-07  Simon Josefsson  <jas@extundo.com>
62058
62059         * lib/unistd_.h: New file.
62060
62061 2006-03-07  Simon Josefsson  <jas@extundo.com>
62062
62063         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
62064
62065 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62066
62067         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
62068         Problem reported by Juan Manuel Guerrero.
62069
62070 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62071
62072         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
62073         the unistd module.
62074         * lib/getlogin_r.c: Likewise.
62075         * lib/getlogin_r.h: Likewise.
62076         * lib/glob.c: Likewise.
62077         * lib/pagealign_alloc.c: Likewise.
62078         * lib/unistd_.h: Remove; no longer needed.
62079
62080 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62081
62082         * MODULES.html.sh (Support for systems lacking POSIX:2001):
62083         Add unistd.
62084         * modules/c-stack (Depends-on): Add unistd.
62085         * modules/getlogin_r: Likewise.
62086         * modules/glob: Likewise.
62087         * modules/pagealign_alloc: Likewise.
62088         * modules/unistd (Files): Remove lib/unistd_.h.
62089         (EXTRA_DIST): Remove.
62090         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
62091         need unistd_.h.
62092         (MOSTLYCLEANFILES): Remove unistd.h-t.
62093
62094 2006-03-03  Simon Josefsson  <jas@extundo.com>
62095
62096         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
62097
62098 2006-03-03  Simon Josefsson  <jas@extundo.com>
62099
62100         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
62101         libidn and bison.
62102
62103 2006-03-03  Simon Josefsson  <jas@extundo.com>
62104
62105         * build-aux/maint.mk: Add indent target.
62106
62107 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
62108
62109         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
62110         our replacement poll.h in any case, to avoid a differing
62111         declaration from a system header.  Seen on AIX.
62112
62113 2006-03-01  Simon Josefsson  <jas@extundo.com>
62114
62115         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
62116         <kasal@ucw.cz>.
62117
62118 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62119
62120         * modules/gettime (Depends-on): Add extensions module.
62121         * modules/nanosleep (Depends-on): Likewise.
62122         * modules/settime (Depends-on): Likewise.
62123
62124 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62125
62126         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
62127         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
62128         pedantically.
62129         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62130         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
62131
62132         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
62133         not "==".  Reported by Ralf Wildenhues.
62134
62135 2006-03-01  Karl Berry  <karl@gnu.org>
62136
62137         * doc/Copyright/request-*: new files, synced from gnuorg.
62138
62139 2006-03-01  Karl Berry  <karl@gnu.org>
62140
62141         * config/srclist.txt (Copyright/*): new entries.
62142
62143 2006-02-28  Simon Josefsson  <jas@extundo.com>
62144
62145         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
62146
62147 2006-02-27  Simon Josefsson  <jas@extundo.com>
62148
62149         * lib/base64.h: Indent #define's.  From Jim Meyering
62150         <jim@meyering.net>.
62151
62152 2006-02-27  Jim Meyering  <jim@meyering.net>
62153
62154         Revert the change of 2006-02-24, so these files can continue
62155         to be sync'd from gettext.
62156         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
62157         of `config.h'.
62158
62159 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
62160
62161         * modules/intprops: New file.
62162         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
62163         Add intprops.
62164         * modules/getloadavg (Files): Remove lib/intprops.h.
62165         (Depends-on): Add intprops.
62166         * modules/human: Likewise.
62167         * modules/inttostr: Likewise.
62168         * modules/openat: Likewise.
62169         * modules/sig2str: Likewise.
62170         * modules/userspec: Likewise.
62171         * modules/utimecmp: Likewise.
62172         * modules/xnanosleep: Likewise.
62173         * modules/xstrtol: Likewise.
62174
62175 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
62176
62177         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
62178         * modules/lock-tests (TESTS): Use $(EXEEXT).
62179         * modules/tls-tests: Likewise.
62180         * modules/argp-tests: Likewise.
62181         (check_PROGRAMS): New var, replacing...
62182         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
62183
62184 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62185
62186         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
62187         `config.h'.
62188
62189 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62190
62191         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
62192
62193 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62194
62195         Sync from coreutils.
62196         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
62197         gl_CHDIR_SAFER.
62198
62199 2006-02-22  Jim Meyering  <jim@meyering.net>
62200
62201         Sync from coreutils.
62202         * m4/chdir-safer.m4: New file.
62203
62204 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62205
62206         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
62207         AT_FDCWD exceeds INT_MAX.
62208         * lib/openat.h (AT_FDCWD): Likewise.
62209
62210 2006-02-17  Eric Blake  <address@hidden>
62211
62212         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
62213
62214 2006-02-16  Simon Josefsson  <jas@extundo.com>
62215
62216         * modules/getaddrinfo (Depends-on): Add sys_socket.
62217
62218 2006-02-15  Simon Josefsson  <jas@extundo.com>
62219
62220         * build-aux/maint.mk: Add dsyntax-check rule.
62221
62222 2006-02-15  Eric Blake  <ebb9@byu.net>
62223
62224         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
62225         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
62226         'present but cannot compile' warnings on cygwin.
62227         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
62228         use ws2tcpip.h if sys/socket.h works.
62229         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
62230         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
62231
62232 2006-02-14  Simon Josefsson  <jas@extundo.com>
62233
62234         * modules/maintainer-makefile (Files): Rename.
62235
62236         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
62237         and (the local) Makefile.cfg to maint-cfg.mk.
62238
62239         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
62240         to the latter.
62241
62242         * modules/maintainer-makefile: New module.
62243
62244         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
62245         severaly stripped to make it possible to build it up from scratch
62246         with reliable tests.
62247
62248         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
62249         fixes to permit overriding the default actions when configure and
62250         makefile are not available.
62251
62252 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62253
62254         Sync from coreutils.
62255         * modules/lstat (Depends-on): Don't depend on xalloc.
62256         (License): Change from GPL to LGPL, since this is now simply a
62257         replacement for a libc function.
62258
62259 2006-02-14  Jim Meyering  <jim@meyering.net>
62260
62261         Sync from coreutils.
62262
62263         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
62264         failure on deficient systems, and simplify gnulib lgpl dependencies.
62265         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
62266         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
62267
62268         * lib/xalloc-die.c: Remove unused definition of N_.
62269
62270 2006-02-14  Jim Meyering  <jim@meyering.net>
62271
62272         Sync from coreutils.
62273         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
62274         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
62275         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
62276         double-quote uses of that variable, to accommodate the rare case in
62277         which getmntent is available in none of the libraries checked.  This
62278         happens at least on FreeBSD 5.0.
62279
62280 2006-02-13  Simon Josefsson  <jas@extundo.com>
62281
62282         * gnulib-tool (Usage): Fix --import, from
62283         karl@freefriends.org (Karl Berry).
62284
62285 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
62286
62287         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
62288
62289 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
62290
62291         * lib/argp-namefrob.h: Restore changes accidentally lost during the
62292         "autoupdate" on 2005-12-12.
62293
62294 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62295
62296         * modules/closeout (Depends-on): Remove atexit.
62297
62298 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62299
62300         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
62301         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
62302
62303 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62304
62305         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
62306         __EXTENSIONS__ if this causes compilation to fail.  Problem
62307         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
62308         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
62309
62310 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
62311
62312         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
62313         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
62314         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
62315         All uses changed.
62316
62317 2006-01-26  Simon Josefsson  <jas@extundo.com>
62318
62319         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
62320         prototype is visible on mingw32.
62321
62322         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
62323         for mingw32.
62324
62325         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
62326         mingw32).
62327
62328 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
62329
62330         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
62331         attempt to open for write; this always fails, at least on POSIX
62332         hosts.  This reinstates the 2006-01-09 change, which was
62333         inadvertently removed.
62334
62335 2006-01-26  Bruno Haible  <bruno@clisp.org>
62336
62337         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
62338         Reported by Paul Eggert.
62339
62340 2006-01-26  Bruno Haible  <bruno@clisp.org>
62341             Paul Eggert  <eggert@cs.ucla.edu>
62342
62343         * lib/stdbool_.h (_Bool)
62344         [(! (defined __cplusplus || defined __BEOS__)
62345           && !defined __GNUC__
62346           && !(defined __HP_cc || defined __xlc__
62347                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
62348                || defined __sgi))]:
62349         #define to signed char in these cases too; this simplifies
62350         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
62351         etc., separately) and makes it more conservative.
62352
62353 2006-01-25  Simon Josefsson  <jas@extundo.com>
62354
62355         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
62356         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
62357         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
62358
62359 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62360
62361         * lib/argp-namefrob.h: Bugfix. Remove stray #
62362
62363 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62364
62365         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
62366         so that we test the test.
62367         Check for yet another HP-UX cc bug involving *bool |= bool.
62368
62369 2006-01-25  Karl Berry  <karl@gnu.org>
62370
62371         * config/srclist.txt (vasnprintf.c): sync lost.
62372
62373 2006-01-25  Jim Meyering  <jim@meyering.net>
62374
62375         Sync from the stable (b5) branch of coreutils:
62376
62377         * lib/fts.c (fts_children): Don't let close() clobber errno from
62378         failed fchdir().
62379
62380         * lib/fts.c (fts_stat): When following a symlink-to-directory,
62381         don't necessarily interpret stat-fails+lstat-succeeds as indicating
62382         a dangling symlink.  That can also happen at least for ELOOP.
62383         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
62384         FYI, this bug predates the inclusion of fts.c in coreutils.
62385
62386         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
62387         in their own block, so pre-c99 compilers don't object.
62388
62389         Avoid the double-free (first in fts_read, second in fts_close) that
62390         would occur when an `active' directory is made inaccessible (e.g.,
62391         via chmod a-x) during a traversal.
62392         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62393         before returning.  Reproduce this failure by
62394         mkdir -p a/b; cd a; chmod a-x . b
62395         Reported by Stavros Passas.
62396
62397 2006-01-25  Jim Meyering  <jim@meyering.net>
62398
62399         * lib/fileblocks.c: Remove more useless parentheses.
62400         * lib/readutmp.h: Likewise.
62401
62402 2006-01-25  Bruno Haible  <bruno@clisp.org>
62403
62404         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
62405         warnings.
62406         Reported by Paul Eggert.
62407
62408 2006-01-25  Bruno Haible  <bruno@clisp.org>
62409
62410         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
62411         rid of a trap command. For Solaris sh.
62412         Reported by Mark D. Baushke <mdb@gnu.org>.
62413
62414 2006-01-24  Simon Josefsson  <jas@extundo.com>
62415
62416         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
62417         Bruno.
62418
62419 2006-01-24  Karl Berry  <karl@gnu.org>
62420
62421         * config/srclist.txt (argp-namefrob.h): sync lost.
62422
62423 2006-01-24  Jim Meyering  <jim@meyering.net>
62424
62425         * modules/openat (Files): Add lib/intprops.h.
62426         From Mark D. Baushke.
62427
62428 2006-01-24  Jim Meyering  <jim@meyering.net>
62429
62430         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
62431         Reported by Mark D. Baushke.
62432
62433 2006-01-24  Jim Meyering  <jim@meyering.net>
62434
62435         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
62436
62437 2006-01-24  Bruno Haible  <bruno@clisp.org>
62438
62439         * modules/strnlen (Maintainer): Change from glibc to all.
62440
62441 2006-01-24  Bruno Haible  <bruno@clisp.org>
62442
62443         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
62444         Patch by Paul Eggert.
62445
62446 2006-01-24  Bruno Haible  <bruno@clisp.org>
62447
62448         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
62449         already has it.
62450         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
62451         2005-11-26.
62452
62453         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
62454         'signed char' to avoid problems with the built-in _Bool type.
62455         Reported by Paul Eggert on 2005-11-26.
62456
62457 2006-01-24  Bruno Haible  <bruno@clisp.org>
62458
62459         * gnulib-tool (func_import): Avoid constructing complicated sed
62460         expressions inside backquote.
62461         Report and solution by Mark D. Baushke <mdb@gnu.org>.
62462
62463 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
62464
62465         These changes imported from libc.
62466         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
62467         test and two separate function calls.
62468         * lib/strndup.c (__strndup): Add libc_hidden_def.
62469
62470 2006-01-23  Simon Josefsson  <jas@extundo.com>
62471
62472         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
62473         Remove the test_*_SOURCES variable: automake infers it by default.
62474         * modules/tls-tests: Likewise.
62475
62476 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62477
62478         Work around porting bugs reported by Dieter in
62479         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
62480         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
62481         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
62482         Include "getopt.h" first, to check interface.
62483         (getenv): Declare only if defined HAVE_DECL_GETENV &&
62484         !HAVE_DECL_GETENV.
62485         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
62486         (__strndup): Revert to K&R-style function dfns, the glibc style.
62487         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
62488         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
62489         Include strnlen.h first, to get prototype properly.
62490         (strnlen): Renamed from __strnlen.
62491         Remove weak alias.
62492
62493 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62494
62495         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
62496
62497 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62498
62499         * config/srclist.txt: Adjust to reflect glibc reorganization.
62500         This affects only comments.
62501
62502 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62503
62504          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
62505          Reported by Bruce Korb <bkorb@gnu.org>.
62506
62507 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
62508
62509         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
62510         to pacify gcc -Wswitch-default.
62511
62512 2006-01-22  Bruno Haible  <bruno@clisp.org>
62513
62514         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
62515         temporary buffer for sprintf, take into account the precision also
62516         for 'd', 'i', 'u', 'o', 'x', 'X'.
62517
62518 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62519
62520         * modules/argp-tests: New module
62521         * tests/test-argp.c: New file
62522         * tests/test-argp-2.sh: New file
62523
62524 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62525
62526         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
62527         (__argp_base_name): Removed
62528         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
62529         typo.
62530         (__argp_base_name): Provide macro definition or extern declaration
62531         depending on the configuration
62532
62533 2006-01-20  Simon Josefsson  <jas@extundo.com>
62534
62535         * modules/inet_ntop (Depends-on): Depend on sys_socket.
62536
62537 2006-01-20  Simon Josefsson  <jas@extundo.com>
62538
62539         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
62540
62541 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
62542
62543         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
62544         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
62545         Suggested by Bruno Haible.
62546
62547 2006-01-20  Karl Berry  <karl@gnu.org>
62548
62549         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
62550         until changes propagate, I guess.
62551
62552 2006-01-19  Simon Josefsson  <jas@extundo.com>
62553
62554         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
62555
62556 2006-01-19  Simon Josefsson  <jas@extundo.com>
62557
62558         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
62559
62560 2006-01-19  Simon Josefsson  <jas@extundo.com>
62561
62562         * gnulib-tool: Set check_PROGRAMS.
62563
62564         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62565         modules/des-tests, modules/gc-arcfour-tests,
62566         modules/gc-arctwo-tests, modules/gc-des-tests,
62567         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62568         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62569         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62570         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62571         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62572         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
62573         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
62574         test_*_SOURCES.
62575
62576 2006-01-18  Simon Josefsson  <jas@extundo.com>
62577
62578         * modules/socklen (Depends-on): Depend on sys_socket.
62579
62580 2006-01-18  Simon Josefsson  <jas@extundo.com>
62581
62582         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62583         modules/des-tests, modules/gc-arcfour-tests,
62584         modules/gc-arctwo-tests, modules/gc-des-tests,
62585         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62586         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62587         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62588         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62589         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62590         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
62591         $(EXEEXT) to automake TESTS variable, for mingw32.
62592
62593 2006-01-17  Simon Josefsson  <jas@extundo.com>
62594
62595         * modules/socklen (Include): Need sys/socket.h.
62596
62597 2006-01-17  Bruno Haible  <bruno@clisp.org>
62598
62599         * modules/ssize_t (Include): Add <sys/types.h>.
62600
62601 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
62602
62603         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
62604         it's not portable and it doesn't work with cross-compiles.
62605         Problem reported by Bruno Haible.  Fix missing-$ typo in
62606         'test "gl_cv_ignore_unused_libraries" ...' that prevented
62607         -zignore from being used with Sun's C compiler.
62608
62609 2006-01-12  Simon Josefsson  <jas@extundo.com>
62610
62611         * lib/base64.c: Fix warning, reported by Bruno Haible
62612         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
62613
62614 2006-01-12  Bruno Haible  <bruno@clisp.org>
62615
62616         * modules/ldd: New file.
62617         * build-aux/ldd.sh.in: New file.
62618         * MODULES.html.sh (Support for building libraries and executables): Add
62619         ldd.
62620
62621 2006-01-12  Bruno Haible  <bruno@clisp.org>
62622
62623         * m4/ldd.m4: New file.
62624
62625 2006-01-12  Bruno Haible  <bruno@clisp.org>
62626
62627         * gnulib-tool (func_import, func_create_testdir): Don't go into an
62628         endless loop while replacing $auxdir with build-aux.
62629
62630 2006-01-11  Simon Josefsson  <jas@extundo.com>
62631
62632         * lib/stdint_.h (SIZE_MAX): Add missing (.
62633
62634 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
62635
62636         Sync from coreutils.
62637         * lib/md5.c: Fix commentary typos.
62638         (alignof, UNALIGNED_P): No need for a GCC-specific version.
62639         * lib/md5.h (__attribute__): Remove; unused.
62640         * lib/sha1.c: Fix commentary to match md5 better.
62641         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
62642         so that we don't need to worry about alignment.  All uses changed.
62643         This merges the 2005-10-28 md5 change into sha1.
62644
62645 2006-01-11  Jim Meyering  <jim@meyering.net>
62646
62647         Sync from coreutils.
62648         * lib/md5.c (OP): Fix spacing.
62649
62650 2006-01-11  Bruno Haible  <bruno@clisp.org>
62651
62652         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62653         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
62654         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
62655
62656 2006-01-11  Bruno Haible  <bruno@clisp.org>
62657
62658         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62659         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
62660         the "early" section as well.
62661
62662 2006-01-11  Bruno Haible  <bruno@clisp.org>
62663
62664         Avoid "ar: no archive members specified" error on MacOS X.
62665         * gnulib-tool (func_modules_add_dummy): New function.
62666         (func_import, func_create_testdir): Invoke it.
62667
62668 2006-01-11  Bruno Haible  <bruno@clisp.org>
62669
62670         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
62671         with $auxdir in AC_CONFIG_FILES statements.
62672
62673 2006-01-11  Bruno Haible  <bruno@clisp.org>
62674
62675         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62676         Initialize also noinst_HEADERS to empty.
62677
62678 2006-01-11  Bruno Haible  <bruno@clisp.org>
62679
62680         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
62681         variables.
62682         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
62683         autoreconf.
62684
62685 2006-01-11  Bruno Haible  <bruno@clisp.org>
62686
62687         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
62688         overridable by the user.
62689         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62690
62691 2006-01-10  Simon Josefsson  <jas@extundo.com>
62692
62693         * modules/sys_socket: New file.
62694
62695 2006-01-10  Simon Josefsson  <jas@extundo.com>
62696
62697         * m4/sys_socket_h.m4: New file.
62698
62699 2006-01-10  Simon Josefsson  <jas@extundo.com>
62700
62701         * lib/socket_.h: New file.
62702
62703 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62704
62705         * modules/readutmp (Maintainer): Add myself.
62706
62707 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62708
62709         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
62710         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
62711         People who are still concerned with buggy memcmp implementations
62712         can invoke gl_FUNC_MEMCMP themselves.
62713
62714 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62715
62716         * lib/regex_internal.h (BITSET_WORD_BITS):
62717         Work around a bug in 64-bit PGC (before version 6.1-2), where the
62718         preprocessor mishandles large unsigned values as if they were signed.
62719         Problem reported by Claudio Fontana in
62720         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
62721
62722 2006-01-10  Jim Meyering  <jim@meyering.net>
62723
62724         Avoid the double-free (first in fts_read, second in fts_close) that
62725         would occur when an `active' directory is made inaccessible (e.g.,
62726         via chmod a-x) during a traversal.
62727         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62728         before returning.  Reproduce this failure by
62729         mkdir -p a/b; cd a; chmod a-x . b
62730         Reported by Stavros Passas.
62731
62732         Sync from coreutils.
62733         * lib/sha1.c: Tweak grammar in a comment.
62734
62735 2006-01-10  Jim Meyering  <jim@meyering.net>
62736
62737         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
62738         Patch by Joerg Sonnenberger.
62739
62740 2006-01-10  Bruno Haible  <bruno@clisp.org>
62741
62742         * modules/readutmp: Depend on module free.
62743         * modules/strtok_r: Depend on module restrict.
62744
62745 2006-01-10  Bruno Haible  <bruno@clisp.org>
62746
62747         * modules/gettext (configure.ac): Add an invocation of
62748         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
62749
62750 2006-01-10  Bruno Haible  <bruno@clisp.org>
62751
62752         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
62753         Reported by Werner Lemberg <wl@gnu.org>.
62754
62755 2006-01-10  Bruno Haible  <bruno@clisp.org>
62756
62757         * lib/localcharset.c: Update from GNU gettext.
62758
62759 2006-01-10  Bruno Haible  <bruno@clisp.org>
62760
62761         * lib/argp.h (__const): Remove macro. Use const instead.
62762         * lib/argp-fmtstream.h (__const): Likewise.
62763         * lib/glob_.h (__const): Remove macro.
62764         * lib/glob-libc.h: Use const instead of __const.
62765
62766 2006-01-10  Bruno Haible  <bruno@clisp.org>
62767
62768         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
62769         variable.
62770         Needed to avoid an automake error regarding the 'gettext' module.
62771
62772 2006-01-09  Simon Josefsson  <jas@extundo.com>
62773
62774         * modules/inet_ntop (Depends-on): Add restrict.
62775
62776 2006-01-09  Simon Josefsson  <jas@extundo.com>
62777
62778         * modules/gc-rijndael-tests (License): Put under LGPL.
62779
62780         * modules/gc-des-tests (License): Likewise.
62781
62782         * modules/gc-arcfour-tests (License): Likewise.
62783
62784         * modules/gc-arctwo-tests (License): Likewise.
62785
62786         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
62787
62788         * modules/gc-hmac-sha1-tests (Files): Likewise.
62789
62790         * modules/gc-hmac-md5-tests (License): Likewise.
62791
62792         * modules/gc-sha1-tests (License): Likewise.
62793
62794         * modules/gc-md5-tests (License): Likewise.
62795
62796         * modules/gc-md4-tests (License): Likewise.
62797
62798         * modules/gc-md2-tests (License): Likewise.
62799
62800         * modules/gc-tests (License): Likewise.
62801
62802         * modules/des-tests (License): Likewise.
62803
62804         * modules/md4-tests (License): Likewise.
62805
62806         * modules/md2-tests (License): Likewise.
62807
62808 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62809
62810         Sync from coreutils:
62811
62812         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
62813         * modules/lib-ignore: New file.
62814         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
62815         chdir-safer.m4, lchmod.m4.
62816         * modules/openat: Add mkdirat.c, openat-priv.h.
62817
62818 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62819
62820         Sync from coreutils.
62821         * m4/lib-ignore.m4: New file.
62822         * m4/lchmod.m4: New file.
62823
62824 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62825
62826         Sync from coreutils.
62827         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
62828         for write access: POSIX says that must fail.
62829         * lib/fts.c (diropen): Likewise.
62830         * lib/save-cwd.c (save_cwd): Likewise.
62831         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
62832         well, for minor improvements on hosts that lack O_DIRECTORY.
62833         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
62834         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
62835         Fall back on chown if open failed with EACCES.
62836
62837         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
62838         Report an error at compile-time if only a 1-second nominal clock
62839         resolution is found.
62840
62841         * lib/lchmod.h: New file.
62842         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
62843         (make_dir_parents): Use lchown rather than chown, and
62844         lchmod rather than chmod.
62845
62846         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
62847         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
62848         "proc" reported by n0dalus.
62849
62850         * lib/mountlist.c: Include <limits.h>.
62851         (dev_from_mount_options)
62852         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
62853         New function.  It no longer assumes "dev=" has the System V meaning
62854         on Linux (since it doesn't).  It also parses "dev=" more carefully.
62855         (read_file_system_list)
62856         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
62857         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
62858         dev= in that case.
62859
62860         * lib/posixtm.h (PDS_PRE_2000): New macro.
62861         * lib/posixtm.c (year): Arg is now syntax_bits rather than
62862         allow_century.  All usages changed.  Reject dates outside the range
62863         1969-1999 if PDS_PRE_2000 is used.
62864
62865 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62866
62867         Sync from coreutils.
62868         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
62869         (Time of day items): Mention the possibility of leap seconds.
62870         Problem reported by Dr. David Alan Gilbert.
62871
62872 2006-01-09  Jim Meyering  <jim@meyering.net>
62873
62874         Sync from coreutils.
62875
62876         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
62877
62878         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
62879
62880         * lib/modechange.c (mode_compile): Reject an invalid mode string
62881         that starts with an octal digit.  From Andreas Gruenbacher.
62882
62883         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
62884         and dup to open_safer and dup_safer, respectively.
62885         (openat_permissive): Fix typo in comment.
62886
62887         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
62888         "gettext.h"; either no longer needed or are guaranteed by openat.h.
62889         (_): Remove; no longer needed.
62890         (openat): Renamed from rpl_openat; no need for rpl_openat
62891         since openat.h renames openat for us.
62892         Replace most of the body with a call to openat_permissive,
62893         to avoid duplicate code.
62894         Port to (probably hypothetical) environments were mode_t is
62895         wider than int.
62896         (openat_permissive): Require mode arg, so that we can check
62897         types better.  Put it just after flags.  Change cwd failure
62898         indicator from pointer-to-bool to pointer-to-errno-value.
62899         All callers changed.
62900         Invoke openat_save_fail and/or openat_restore_fail if
62901         cwd_errno is null, so that openat can call us.
62902         (openat_permissive, fdopendir, fstatat, unlinkat):
62903         Simplify errno handling to avoid some duplicate code,
62904         as it's OK to set errno on success.
62905         * lib/openat.h: Revamp code so that function macros depend on
62906         __OPENAT_PREFIX only, not also on AT_FDCWD.
62907         (openat_ro): Remove.  Caller changed to use openat_permissive.
62908         (openat_permissive): Now a macro, if not a function.
62909         (openat_restore_fail, openat_save_fail): Now always functions,
62910         since mkdirat needs them even if __OPENAT_PREFIX is defined.
62911
62912         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
62913         and openat.c.
62914         * lib/mkdirat.c: Include openat-priv.h.
62915         Remove definitions of macros defined therein.
62916         * lib/openat.c: Likewise.
62917
62918         * lib/mkdirat.c (mkdirat): New file and function.
62919         * lib/openat.h (mkdirat): Declare.
62920
62921         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
62922
62923         * lib/openat.h (openat_permissive): Declare.
62924         (openat_ro): Define.
62925
62926         * lib/openat.c (EXPECTED_ERRNO): New macro.
62927         (openat_permissive): New function -- used in remove.c rewrite.
62928         (all functions): Set errno just before returning, only if there
62929         was an actual failure.
62930         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
62931
62932         Emulate openat-family functions using Linux's procfs, if possible.
62933         Idea and some code based on Ulrich Drepper's glibc changes.
62934
62935         * lib/openat.c: (BUILD_PROC_NAME): New macro.
62936         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
62937         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
62938         before falling back on save_cwd and restore_cwd.
62939         (fdopendir, fstatat, unlinkat): Likewise.
62940
62941         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
62942         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
62943
62944         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
62945         as second argument to va_arg.  Otherwise, some versions of gcc
62946         warn that `if this code is reached, the program will abort'.
62947
62948 2006-01-09  Jim Meyering  <jim@meyering.net>
62949
62950         Sync from coreutils.
62951         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
62952         Require openat-priv.h.
62953
62954 2006-01-09  Bruno Haible  <bruno@clisp.org>
62955
62956         * modules/strnlen (Include): Use strnlen.h.
62957
62958 2006-01-09  Bruno Haible  <bruno@clisp.org>
62959
62960         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
62961
62962 2006-01-09  Bruno Haible  <bruno@clisp.org>
62963
62964         * lib/sysexit_.h (EX_OK): New macro.
62965         Suggested by Martin Lambers <marlam@marlam.de>.
62966
62967 2006-01-09  Bruno Haible  <bruno@clisp.org>
62968
62969         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
62970         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
62971
62972 2006-01-09  Bruno Haible  <bruno@clisp.org>
62973
62974         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
62975         numbers.
62976
62977 2006-01-09  Bruno Haible  <bruno@clisp.org>
62978
62979         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
62980         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
62981         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
62982         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
62983
62984 2006-01-09  Bruno Haible  <bruno@clisp.org>
62985
62986         * build-aux/javacomp.sh.in: New file, moved from lib/.
62987         * modules/javacomp-script (Files): Update.
62988         (configure.ac): Add AC_CONFIG_FILES invocation.
62989         (EXTRA_DIST): Remove variable.
62990
62991         * build-aux/javaexec.sh.in: New file, moved from lib/.
62992         * modules/javaexec (Files): Update.
62993         (configure.ac): Add AC_CONFIG_FILES invocation.
62994         (EXTRA_DIST): Remove javaexec.sh.in.
62995
62996         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
62997         * modules/csharpcomp-script (Files): Update.
62998         (configure.ac): Add AC_CONFIG_FILES invocation.
62999         (EXTRA_DIST): Remove variable.
63000
63001         * build-aux/csharpexec.sh.in: New file, moved from lib/.
63002         * modules/csharpexec (Files): Update.
63003         (configure.ac): Add AC_CONFIG_FILES invocation.
63004         (EXTRA_DIST): Remove csharpexec.sh.in.
63005
63006 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
63007
63008         Sync from coreutils.
63009
63010         Add POSIX ACL support
63011         * lib/acl.h (copy_acl, set_acl): Add declarations.
63012         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
63013         systems other than Linux.
63014         (chmod_or_fchmod): New function: use fchmod when possible,
63015         and chmod otherwise.
63016         (file_has_acl): Add a POSIX ACL implementation, with a
63017         Linux-specific subcase.
63018         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
63019         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
63020         acls are unsupported.
63021         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
63022         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
63023         are unsupported.
63024
63025 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
63026
63027         Sync from coreutils.
63028         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
63029
63030 2006-01-07  Bruno Haible  <bruno@clisp.org>
63031
63032         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
63033         gl_EARLY.
63034
63035 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63036
63037         * lib/strftime.c (tzname): Don't declare if it is already #defined.
63038         Problem reported for Mingw by Mark Junker.
63039
63040 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63041
63042         * README: Gnulib normally doesn't generate a tarball.
63043
63044 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
63045
63046         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
63047         long int, not int, for nanosecond counts, so that people who are
63048         used to POSIX struct timespec won't be surprised.  Reported by Jim
63049         Meyering.
63050
63051 2005-12-28  Bruno Haible  <bruno@clisp.org>
63052
63053         * build-aux/config.rpath: Update from GNU gettext.
63054
63055 2005-12-16  Jim Meyering  <jim@meyering.net>
63056
63057         * modules/fprintftime: New module.
63058         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
63059
63060 2005-12-16  Jim Meyering  <jim@meyering.net>
63061
63062         * m4/fprintftime.m4: New file.
63063
63064 2005-12-16  Jim Meyering  <jim@meyering.net>
63065
63066         * lib/fprintftime.c, lib/fprintftime.h: New files.
63067
63068 2005-12-15  Simon Josefsson  <jas@extundo.com>
63069
63070         * modules/socklen (configure.ac): Fix M4 macro name, to align with
63071         new m4/socklen.m4.
63072
63073 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63074
63075         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
63076         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
63077
63078 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63079
63080         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
63081         * lib/argp-help.c (fill_in_uparams): Check if the constructed
63082         struct uparams is valid. Fall back to the default values if it is
63083         not.
63084
63085 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63086
63087         * modules/argp (Files): Add argp-pin.c
63088         (Depends-on): dirname
63089         (lib_SOURCES): Add argp-pin.c
63090
63091 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63092
63093         * m4/argp.m4:  Check if program_invocation_name and
63094         program_invocation_short_name are declared and define appropriate
63095         macros if they are not.
63096
63097 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63098
63099         * lib/argp-help.c (__argp_base_name): New function
63100         (__argp_short_program_name): Rewrite using __argp_base_name
63101         * lib/argp-namefrob.h: Define program_invocation_name and
63102         program_invocation_short_name if requested
63103         (__argp_base_name): Add prototype
63104         * lib/argp-parse.c (argp_def): Use gettext wrappers
63105         (argp_default_parser): Use __argp_base_name
63106         * lib/argp-pin.c: New file. Defines program_invocation_name and
63107         program_invocation_short_name on systems that lack them.
63108
63109 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63110
63111         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
63112         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
63113         porting problem reported by Georg Schwarz in
63114         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
63115
63116 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63117
63118         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
63119         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
63120         porting problem reported by Georg Schwarz in
63121         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
63122
63123 2005-12-05  Bruno Haible  <bruno@clisp.org>
63124
63125         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
63126         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
63127         Reported by Mark Junker <mjscod@gmx.de>.
63128
63129 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
63130
63131         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
63132         Use implementation from Albert Chin, with some
63133         comments/corrections by Stepan Kasal and myself.
63134
63135 2005-12-02  Bruno Haible  <bruno@clisp.org>
63136
63137         * gnulib-tool (func_import): Accept GPLed build tool modules when
63138         --lgpl is given.
63139         * modules/csharpcomp-script: New file.
63140         * modules/csharpcomp: Depend on it.
63141         * modules/javacomp-script: New file.
63142         * modules/javacomp: Depend on it.
63143         Suggested by Simon Josefsson.
63144
63145 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63146
63147         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
63148         statement, to work around an HP-UX 10.20 compiler bug reported by
63149         Peter O'Gorman.
63150
63151 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
63152
63153         * modules/savedir (Depends-on): Add openat.
63154
63155 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
63156
63157         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
63158         (uintmax_t) [defined uintmax_t]: Do not declare.
63159         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
63160         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
63161         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
63162         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
63163         sake of portability to weird hosts that C allows (though we don't
63164         know of any practical examples).
63165
63166         * lib/savedir.h (fdsavedir): New decl.
63167         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
63168         contains most of the former guts of savedir.
63169         (savedir): Use savedirstream.
63170         Include "openat.h".
63171
63172 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63173
63174         * modules/obstack (Files): Add m4/ulonglong.m4.
63175         Problem reported by Davide Angelocola.
63176
63177 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63178
63179         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
63180         coreutils no longer futzes with rounding modes.
63181
63182 2005-11-14  Jim Meyering  <jim@meyering.net>
63183
63184         * lib/mkstemp-safer.c: Include <config.h>, required for possible
63185         replacement of mkstemp.
63186
63187 2005-11-10  Simon Josefsson  <jas@extundo.com>
63188
63189         * lib/readline.c: Remove EOL.
63190
63191 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63192
63193         * modules/gethrxtime (Depends-on): Add gettime.
63194
63195 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63196
63197         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
63198         or gettimeofday; no longer needed.
63199
63200 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63201
63202         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
63203         time business.
63204         (gethrxtime) [! (HAVE_NANOUPTIME
63205         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
63206         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
63207         our own approximation.
63208
63209 2005-11-08  Eric Blake  <ebb9@byu.net>
63210
63211         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
63212
63213 2005-11-08  Eric Blake  <ebb9@byu.net>
63214
63215         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
63216
63217 2005-11-04  Bruno Haible  <bruno@clisp.org>
63218
63219         * gnulib-tool: Implement --update mode.
63220
63221 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
63222
63223         Fix porting problem reported by Theodoros V. Kalamatianos.
63224         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
63225         Don't assume that futimes failing means we must fail.
63226
63227 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
63228
63229         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
63230         variables to suggest the intended function of the PATH_MAX check.
63231
63232 2005-10-30  Kean Johnston  <jkj@sco.com>
63233
63234         Trivial changes to support SCO systems.
63235         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
63236         as PATH_MAX.
63237         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
63238         where __ptr is null when no I/O is pending.
63239
63240 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
63241
63242         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
63243         leave errno alone.  Problem reported by Dmitry V. Levin.
63244
63245 2005-10-28  Simon Josefsson  <jas@extundo.com>
63246
63247         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
63248         Test more.
63249
63250         * tests/test-gc-md2.c, tests/test-md2.c: New files.
63251
63252         * modules/md2, modules/md2-tests: New files.
63253
63254 2005-10-28  Simon Josefsson  <jas@extundo.com>
63255
63256         * m4/inet_ntop.m4: More tests.
63257
63258         * m4/gc-md2.m4, md2.m4: New file.
63259
63260 2005-10-28  Simon Josefsson  <jas@extundo.com>
63261
63262         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
63263         "restrict" keywords, as per POSIX.  Protect the function
63264         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
63265         Don't use K&R prototypes.  Check the sprintf return values.
63266         Re-define EAFNOSUPPORT if not present.  Indent.
63267
63268         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
63269         suggested by Bruno Haible <bruno@clisp.org>.
63270
63271         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
63272
63273         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
63274
63275         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
63276         libgcrypt).
63277
63278         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
63279
63280         * lib/md2.h, lib/md2.c: New files.
63281
63282 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
63283
63284         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
63285         errno alone.  Problem reported by Frederic Jolliton.
63286
63287 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
63288
63289         * modules/verify (License): Change from GPL to LGPL.  This is a
63290         tiny module and there are apparently near-equivalents that are
63291         under the BSD license.
63292
63293 2005-10-24  Simon Josefsson  <jas@extundo.com>
63294
63295         * modules/sha1: Relicense to LGPL.
63296
63297 2005-10-24  Simon Josefsson  <jas@extundo.com>
63298
63299         * lib/md4.h: Shrink buffer size, now that we changed the type.
63300
63301 2005-10-23  Simon Josefsson  <jas@extundo.com>
63302
63303         * gnulib-tool (func_import): Fix --tests-base.
63304
63305 2005-10-22  Simon Josefsson  <jas@extundo.com>
63306
63307         * modules/arcfour (Depends-on): Need stdint.
63308
63309 2005-10-22  Simon Josefsson  <jas@extundo.com>
63310
63311         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
63312         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
63313
63314 2005-10-22  Simon Josefsson  <jas@extundo.com>
63315
63316         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
63317         suggested by Bruno Haible <bruno@clisp.org>.
63318
63319 2005-10-22  Simon Josefsson  <jas@extundo.com>
63320
63321         * lib/crc.h: Include stddef.h, for size_t.
63322
63323 2005-10-22  Simon Josefsson  <jas@extundo.com>
63324
63325         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
63326         arcfour_context struct (simplify test vector testing in GNU
63327         Shishi).
63328
63329 2005-10-21  Simon Josefsson  <jas@extundo.com>
63330
63331         * modules/des, modules/des-tests: New files.
63332
63333         * modules/gc-des, modules/gc-des-tests: New files.
63334
63335         * tests/test-des.c, tests/test-gc-des.c: New file.
63336
63337 2005-10-21  Simon Josefsson  <jas@extundo.com>
63338
63339         * modules/arctwo, modules/arctwo-tests: New files.
63340
63341         * tests/test-arctwo.c: New file.
63342
63343         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
63344
63345         * tests/test-gc-arctwo.c: New file.
63346
63347 2005-10-21  Simon Josefsson  <jas@extundo.com>
63348
63349         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
63350         Bruno Haible <bruno@clisp.org>.
63351
63352         * m4/gc-des.m4: New file.
63353
63354 2005-10-21  Simon Josefsson  <jas@extundo.com>
63355
63356         * m4/arctwo.m4: New file.
63357
63358         * m4/gc-arctwo.m4: New file.
63359
63360 2005-10-21  Simon Josefsson  <jas@extundo.com>
63361
63362         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
63363         block.
63364
63365 2005-10-21  Simon Josefsson  <jas@extundo.com>
63366
63367         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
63368         <bruno@clisp.org>.
63369
63370         * lib/hmac-sha1.c (hmac_sha1): Likewise.
63371
63372         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
63373         Bruno Haible <bruno@clisp.org>.
63374
63375         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
63376         <bruno@clisp.org>.
63377
63378 2005-10-21  Simon Josefsson  <jas@extundo.com>
63379
63380         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
63381
63382 2005-10-21  Simon Josefsson  <jas@extundo.com>
63383
63384         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
63385
63386 2005-10-21  Simon Josefsson  <jas@extundo.com>
63387
63388         * lib/des.h, lib/des.c: New files.
63389
63390         * lib/gc-gnulib.c: Support DES.c
63391
63392 2005-10-21  Simon Josefsson  <jas@extundo.com>
63393
63394         * lib/arctwo.h, lib/arctwo.c: New files.
63395
63396         * lib/gc-gnulib.c: Support ARCTWO.
63397
63398 2005-10-21  Simon Josefsson  <jas@extundo.com>
63399
63400         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
63401         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63402
63403 2005-10-21  Simon Josefsson  <jas@extundo.com>
63404
63405         * gnulib-tool (func_import, func_create_testdir): Define automake
63406         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
63407         Makefile.am snippet),
63408         suggested by Bruno Haible <bruno@clisp.org>.
63409
63410         * modules/gc (Makefile.am): Use it.
63411
63412 2005-10-21  Bruno Haible  <bruno@clisp.org>
63413
63414         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
63415         patch.
63416
63417 2005-10-19  Simon Josefsson  <jas@extundo.com>
63418
63419         * tests/test-gc-rijndael.c: New file.
63420
63421         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
63422
63423 2005-10-19  Simon Josefsson  <jas@extundo.com>
63424
63425         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
63426         interface too.
63427
63428 2005-10-19  Simon Josefsson  <jas@extundo.com>
63429
63430         * tests/test-gc-arcfour.c: New file.
63431
63432         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
63433
63434 2005-10-19  Simon Josefsson  <jas@extundo.com>
63435
63436         * modules/gc-md4, modules/gc-md4-tests: New file.
63437
63438         * tests/test-gc-md4.c: New file.
63439
63440 2005-10-19  Simon Josefsson  <jas@extundo.com>
63441
63442         * m4/gc-md4.m4: New file.
63443
63444 2005-10-19  Simon Josefsson  <jas@extundo.com>
63445
63446         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
63447         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
63448         <kasal@ucw.cz>.
63449
63450 2005-10-19  Simon Josefsson  <jas@extundo.com>
63451
63452         * m4/gc-arcfour.m4: New file.
63453
63454         * m4/gc-rijndael.m4: New file.
63455
63456 2005-10-19  Simon Josefsson  <jas@extundo.com>
63457
63458         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
63459
63460 2005-10-19  Simon Josefsson  <jas@extundo.com>
63461
63462         * lib/gc-gnulib.c: Support ARCFOUR.
63463
63464 2005-10-19  Simon Josefsson  <jas@extundo.com>
63465
63466         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
63467         support.
63468
63469         * lib/gc.h: Add ECB enum type.
63470
63471         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
63472
63473 2005-10-18  Simon Josefsson  <jas@extundo.com>
63474
63475         * tests/test-md5.c: New file.
63476
63477         * modules/md5-tests: New file.
63478
63479 2005-10-18  Simon Josefsson  <jas@extundo.com>
63480
63481         * tests/test-md4.c: New file.
63482
63483         * modules/md4, modules/md4-tests: New files.
63484
63485 2005-10-18  Simon Josefsson  <jas@extundo.com>
63486
63487         * m4/md4.m4: New file.
63488
63489 2005-10-18  Simon Josefsson  <jas@extundo.com>
63490
63491         * lib/md4.h, lib/md4.c: New files, based on md5.?.
63492
63493 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
63494
63495         * gnulib-tool (func_create_testdir): Omit the second check whether
63496         BUILT_SOURCES in nonempty.
63497
63498 2005-10-17  Simon Josefsson  <jas@extundo.com>
63499
63500         * tests/test-rijndael.c: New file.
63501
63502 2005-10-17  Simon Josefsson  <jas@extundo.com>
63503
63504         * modules/sha1: Depend on stdint instead of md5.
63505
63506         * modules/md5: Depend on stdint, remove uint32_t.
63507
63508 2005-10-17  Simon Josefsson  <jas@extundo.com>
63509
63510         * modules/gc-sha1-tests: New file.
63511
63512         * tests/test-gc-sha1.c: New file.
63513
63514 2005-10-17  Simon Josefsson  <jas@extundo.com>
63515
63516         * m4/md5.m4: Remove call to uint32_t.m4.
63517
63518 2005-10-17  Simon Josefsson  <jas@extundo.com>
63519
63520         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
63521
63522         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
63523         md5.h.
63524
63525         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
63526
63527         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
63528
63529 2005-10-17  Simon Josefsson  <jas@extundo.com>
63530
63531         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
63532
63533 2005-10-17  Simon Josefsson  <jas@extundo.com>
63534
63535         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
63536
63537 2005-10-17  Simon Josefsson  <jas@extundo.com>
63538
63539         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
63540
63541         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
63542
63543 2005-10-17  Bruno Haible  <bruno@clisp.org>
63544
63545         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
63546         that it can also be used in a test.
63547
63548 2005-10-16  Bruno Haible  <bruno@clisp.org>
63549
63550         * gnulib-tool (func_emit_tests_Makefile_am): Also define
63551         TESTS_ENVIRONMENT, so that individual tests can augment it.
63552
63553         * gnulib-tool (func_create_testdir): Use an intermediate target for
63554         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
63555         macros, like $(ALLOCA_H), which cannot be passed through the command
63556         line.
63557
63558 2005-10-15  Simon Josefsson  <jas@extundo.com>
63559
63560         * modules/rijndael-tests: New file.
63561
63562         * modules/rijndael: New file.
63563
63564 2005-10-15  Simon Josefsson  <jas@extundo.com>
63565
63566         * m4/rijndael.m4: New file.
63567
63568 2005-10-15  Simon Josefsson  <jas@extundo.com>
63569
63570         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
63571
63572         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
63573
63574 2005-10-14  Simon Josefsson  <jas@extundo.com>
63575
63576         * tests/test-arcfour.c: New file.
63577
63578         * modules/arcfour, modules/arcfour-tests: New files.
63579
63580 2005-10-14  Simon Josefsson  <jas@extundo.com>
63581
63582         * m4/arcfour.m4: New file.
63583
63584 2005-10-14  Simon Josefsson  <jas@extundo.com>
63585
63586         * lib/arcfour.h, lib/arcfour.c: New files.
63587
63588 2005-10-14  Roland McGrath  <roland@redhat.com>
63589
63590         Import from libc.  [BZ #1331]
63591         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
63592         macro argument.
63593         Reported by Matej Vela <vela@debian.org>.
63594
63595 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63596
63597         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
63598         include <wchar.h>; no longer needed.
63599
63600 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63601
63602         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
63603
63604 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
63605         and  Ulrich Drepper  <drepper@redhat.com>
63606
63607         Import from libc.
63608         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
63609         instead of inline stream orientation test and two separate
63610         function calls.  Pay no attention to USE_IN_LIBIO.
63611
63612 2005-10-13  Simon Josefsson  <jas@extundo.com>
63613
63614         * modules/gc-hmac-md5-tests: New file.
63615
63616         * tests/test-gc-hmac-sha1.c: New file.
63617
63618         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
63619
63620         * modules/gc-hmac-md5-tests: New file.
63621
63622         * tests/test-gc-md5.c: New file.
63623
63624         * modules/gc-md5-tests: New file.
63625
63626 2005-10-13  Simon Josefsson  <jas@extundo.com>
63627
63628         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
63629         Move memory allocation outside of loop.
63630
63631 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63632
63633         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
63634         intermediate directory is in a read-only file system.  Problem
63635         reported by Eric Blake.
63636
63637 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
63638
63639         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
63640
63641 2005-10-12  Simon Josefsson  <jas@extundo.com>
63642
63643         * tests/test-hmac-sha1.c: New file.
63644
63645         * modules/hmac-sha1-tests: New file.
63646
63647         * modules/hmac-sha1: New file.
63648
63649 2005-10-12  Simon Josefsson  <jas@extundo.com>
63650
63651         * modules/gc-sha1: New file.
63652
63653 2005-10-12  Simon Josefsson  <jas@extundo.com>
63654
63655         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
63656
63657         * tests/test-gc-pbkdf2-sha1.c: New file.
63658
63659 2005-10-12  Simon Josefsson  <jas@extundo.com>
63660
63661         * modules/gc-md5, modules/gc-hmac-md5: New files.
63662
63663         * modules/gc (Files): Remove md5, memxor and hmac files.
63664
63665 2005-10-12  Simon Josefsson  <jas@extundo.com>
63666
63667         * m4/gc-pbkdf2-sha1.m4: New file.
63668
63669         * m4/gc-hmac-sha1.m4: New file.
63670
63671         * m4/gc-sha1: New file.
63672
63673         * m4/hmac-sha1.m4: New file.
63674
63675 2005-10-12  Simon Josefsson  <jas@extundo.com>
63676
63677         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
63678
63679         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
63680
63681 2005-10-12  Simon Josefsson  <jas@extundo.com>
63682
63683         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
63684         suggested by Bruno Haible <bruno@clisp.org>.
63685
63686 2005-10-12  Simon Josefsson  <jas@extundo.com>
63687
63688         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
63689
63690 2005-10-12  Simon Josefsson  <jas@extundo.com>
63691
63692         * lib/gc-pbkdf2-sha1.c: New file.
63693
63694         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
63695
63696 2005-10-12  Simon Josefsson  <jas@extundo.com>
63697
63698         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
63699
63700         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
63701
63702 2005-10-12  Simon Josefsson  <jas@extundo.com>
63703
63704         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
63705         GC_USE_HMAC_MD5, respectively.
63706
63707         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
63708         (gc_md5): Fix typo.
63709
63710         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
63711
63712         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
63713
63714         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
63715
63716 2005-10-12  Bruno Haible  <bruno@clisp.org>
63717
63718         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
63719         Reported by Stepan Kasal <kasal@ucw.cz>.
63720
63721 2005-10-11  Simon Josefsson  <jas@extundo.com>
63722
63723         * tests/test-crc.c: New file.
63724
63725         * modules/crc, modules/crc-tests: New files.
63726
63727 2005-10-11  Simon Josefsson  <jas@extundo.com>
63728
63729         * m4/crc.m4: New file.
63730
63731 2005-10-11  Simon Josefsson  <jas@extundo.com>
63732
63733         * lib/gc.h: Add gc_hash and gc_hash_buffer.
63734
63735         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
63736
63737         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
63738
63739 2005-10-11  Simon Josefsson  <jas@extundo.com>
63740
63741         * lib/crc.h, lib/crc.c: New files.
63742
63743         * lib/gc.h (gc_hash_buffer): Add doc.
63744
63745 2005-10-11  Bruno Haible  <bruno@clisp.org>
63746
63747         * modules/c-strcasestr: New file.
63748         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
63749
63750 2005-10-11  Bruno Haible  <bruno@clisp.org>
63751
63752         * modules/c-strcase: New file.
63753         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
63754
63755 2005-10-11  Bruno Haible  <bruno@clisp.org>
63756
63757         * lib/strcasecmp.c: Include limits.h.
63758         (strcasecmp): Avoid integer overflow on exotic platforms.
63759         * lib/strncasecmp.c: Include limits.h.
63760         (strncasecmp): Avoid integer overflow on exotic platforms.
63761         Reported by Paul Eggert.
63762
63763 2005-10-11  Bruno Haible  <bruno@clisp.org>
63764
63765         * lib/c-strcasestr.h: New file, from GNU gettext.
63766         * lib/c-strcasestr.c: New file, from GNU gettext.
63767
63768 2005-10-11  Bruno Haible  <bruno@clisp.org>
63769
63770         * lib/c-strcase.h: New file, from GNU gettext.
63771         * lib/c-strcasecmp.c: New file, from GNU gettext.
63772         * lib/c-strncasecmp.c: New file, from GNU gettext.
63773
63774 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63775
63776         * modules/mempcpy (License): GPL -> LGPL.
63777         * modules/strchrnul (License): Likewise.
63778         * modules/sysexits (License): Likewise.
63779
63780 2005-10-08  Simon Josefsson  <jas@extundo.com>
63781
63782         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
63783
63784 2005-10-07  Simon Josefsson  <jas@extundo.com>
63785
63786         * m4/memxor.m4: Remove gl_C_RESTRICT call.
63787
63788 2005-10-06  Simon Josefsson  <jas@extundo.com>
63789
63790         * tests/test-hmac-md5.c: New file.
63791
63792         * modules/hmac-md5-tests: New file.
63793
63794         * modules/hmac-md5: New file.
63795
63796 2005-10-06  Simon Josefsson  <jas@extundo.com>
63797
63798         * m4/hmac-md5.m4: New file.
63799
63800         * m4/memxor.m4: Require gl_C_RESTRICT.
63801
63802 2005-10-06  Simon Josefsson  <jas@extundo.com>
63803
63804         * lib/memxor.c (memxor): Avoid casts and warnings.
63805
63806 2005-10-06  Simon Josefsson  <jas@extundo.com>
63807
63808         * lib/hmac-md5.c: New file.
63809
63810         * lib/hmac.h: New file.
63811
63812 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
63813
63814         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
63815         promotes to int, not unsigned int, to catch the AIX 5.3
63816         compiler bug.
63817
63818 2005-10-05  Simon Josefsson  <jas@extundo.com>
63819
63820         * modules/memxor: New file.
63821
63822         * modules/iconv (Files): Move config.rpath to havelib, it is used
63823         there.
63824
63825         * modules/havelib (Files): Add config.rpath.
63826
63827 2005-10-05  Simon Josefsson  <jas@extundo.com>
63828
63829         * m4/memxor.m4: New file.
63830
63831 2005-10-05  Simon Josefsson  <jas@extundo.com>
63832
63833         * lib/memxor.c (memxor): Fix compiler error.
63834
63835         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
63836         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
63837
63838         * lib/memxor.h, lib/memxor.c: New files.
63839
63840         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
63841         we assume all systems have it, suggested by Jim Meyering
63842         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
63843         any systems lack sys/socket.h; mingw32 is known to lack it, but we
63844         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
63845         same reasons.
63846
63847 2005-10-05  Simon Josefsson  <jas@extundo.com>
63848
63849         * config/srclist.txt: Add glibc bug 1423 for md5.h.
63850
63851 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63852
63853         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
63854         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
63855         needed, since the source code now assumes these .h files.
63856
63857 2005-10-05  Derek Price  <derek@ximbiot.com>
63858
63859         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
63860
63861 2005-10-05  Bruno Haible  <bruno@clisp.org>
63862
63863         * modules/stdint (License): Change to LGPL.
63864
63865 2005-10-04  Simon Josefsson  <jas@extundo.com>
63866
63867         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
63868         D. Baushke" <mdb@gnu.org>.
63869
63870 2005-10-04  Bruno Haible  <bruno@clisp.org>
63871
63872         * lib/verify.h (verify_true): Provide alternative definition for C++.
63873
63874 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
63875
63876         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
63877         (SSIZE_MAX): New macro, if not already defined.
63878         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
63879         than 2 GiB.
63880
63881 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63882
63883         Sync from coreutils.
63884         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
63885         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
63886         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
63887         ULLONG_MAX doesn't work with 2.7.2.1.
63888
63889 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63890
63891         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
63892         From Ben Pfaff.
63893
63894         * modules/exclude (Depends-on): Depend on verify.
63895         * modules/strtoimax (Depends-on): Likewise.
63896         * modules/utimecmp (Depends-on): Likewise.
63897
63898 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63899
63900         * lib/exclude.c: Include verify.h.
63901         (verify): Remove.  All callers changed to use verify.h's version.
63902         * lib/strtoimax.c: Likewise.
63903         * lib/utimecmp.c: Likewis.e
63904
63905         Sync from coreutils.
63906         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
63907         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
63908         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
63909         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
63910         bother returning ENOSYS if settimeofday or stime fails; just let
63911         them return whatever errno they want to return.
63912         * lib/utimens.c: Include unistd.h, for dup2.
63913         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
63914         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
63915
63916 2005-10-02  Jim Meyering  <jim@meyering.net>
63917
63918         Sync from coreutils.
63919         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
63920         from glibc-2.2.5 that fails for read-only files.
63921
63922 2005-10-02  Jim Meyering  <jim@meyering.net>
63923
63924         Sync from coreutils.
63925         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
63926         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
63927         `#if HAVE_CONFIG_H'.
63928         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
63929         Remove AT_FDCWD test.
63930         Do not consume the fd unless successful.
63931         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
63932         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
63933         block, so that we don't even try to compile it if settimeofday is
63934         available.  This works around a compilation failure on OSF1 V5.1,
63935         due to stime requiring a `long int*' while tv_sec is `int'.
63936
63937 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
63938
63939         Sync from coreutils.
63940         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
63941         against `yes', rather than just testing for nonempty.
63942
63943 2005-10-01  Simon Josefsson  <jas@extundo.com>
63944
63945         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
63946         and Darwin.
63947
63948         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
63949         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
63950         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
63951         freeaddrinfo and gai_strerror are declared by the POSIX headers.
63952         Check if struct addrinfo is declared.
63953
63954 2005-10-01  Simon Josefsson  <jas@extundo.com>
63955
63956         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
63957         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
63958         AI_* and EAI_* definitions.  Protect function declarations.
63959
63960 2005-10-01  Jim Meyering  <jim@meyering.net>
63961
63962         Sync from coreutils.
63963
63964         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
63965         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
63966         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
63967         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63968         in the inet and nsl libraries.  Required on Solaris 5.7.
63969
63970 2005-10-01  Jim Meyering  <jim@meyering.net>
63971
63972         Sync from coreutils.
63973         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63974         in the inet and nsl libraries.  Required on Solaris 5.7.
63975
63976 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
63977
63978         * lib/getdelim.c (getdelim): Remove unused variables.
63979
63980 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
63981
63982         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
63983         so that the code works even with ancient cpp.  Portability problem
63984         with GCC 2.7.2.1 reported by Thomas M.Ott.
63985
63986 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
63987
63988         * modules/regex (Depends-on): Add strcase.
63989
63990         * modules/gethostname (Licence): Change from GPL to LGPL, since
63991         gethostname.c is a trivial implementation of a standard library
63992         function.
63993         * modules/poll (License): Change from GPL to LGPL, since it's
63994         derived from LGPL code.
63995
63996 2005-09-27  Jim Meyering  <jim@meyering.net>
63997
63998         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
63999         HAVE_CONFIG_H.
64000
64001         * lib/intprops.h (signed_type_or_expr__): Define.
64002         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
64003         for unsigned types.
64004
64005 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
64006
64007         * lib/verify.h (verify_expr): Remove, replacing with:
64008         (verify_true): New macro that returns true instead of void.
64009         (verify_type__): Remove.
64010         (verify): Use verify_true rather than verify_type__.
64011
64012 2005-09-26  Bruno Haible  <bruno@clisp.org>
64013
64014         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
64015         is necessary.
64016         (lib_SOURCES): Remove mbchar.c.
64017         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
64018         (Files): Add m4/mbrtowc.m4.
64019         * modules/mbiter: Likewise.
64020         * modules/mbuiter: Likewise.
64021
64022 2005-09-26  Bruno Haible  <bruno@clisp.org>
64023
64024         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
64025         compile mbchar.c if they are not both present.
64026         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
64027         * m4/mbiter.m4 (gl_MBITER): Likewise.
64028         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
64029         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
64030         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
64031
64032 2005-09-25  Jim Meyering  <jim@meyering.net>
64033
64034         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
64035         also uses socklen_t.
64036
64037 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
64038
64039         * lib/utimens.c (ENOSYS): Define if not already defined.
64040         (futimens): Support having a null PATH if the file descriptor
64041         is nonnegative.
64042
64043         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
64044         Remove.
64045         (__attribute): Define to empty unless GCC 3.1 or later.
64046         This works around a core dump on OpenBSD 3.4, which has GCC
64047         2.95.3, which dumps core when given __attribute__(()).  It also
64048         simplifies other tests, since we really don't want to bother with
64049         worrying about which ancient version of GCC supported what.
64050         Original problem reported by Yoann Vandoorselaere, with part of
64051         the fix suggested by Derek Price.
64052
64053 2005-09-24  Jim Meyering  <jim@meyering.net>
64054
64055         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
64056         so we can once again use a positive bitfield width of 1 -- now we
64057         don't have to explain why we were using a bitfield width of 2.
64058
64059 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
64060
64061         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
64062         and similarly for the other external symbols.  Problem reported
64063         by James Gallager.
64064
64065         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
64066         bug reported by Jim Meyering.
64067
64068         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
64069         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
64070         not needed, since socklen is a prerequisite module.
64071
64072 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
64073
64074         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
64075         Problem reported by Eric Blake.
64076         (getaddrinfo): Initialize se so that it's not garbage.
64077         Redo internal storage allocation so that it doesn't make unportable
64078         assumptions about alignment.
64079         Fix a memory leak.
64080
64081         * lib/utimens.c (futimens): Use futimesat if available.
64082         Prefer it to futimes since it doesn't have the futimes bug.
64083
64084         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
64085         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
64086         Instead, declare a function that returns a pointer to an array,
64087         and use verify_type__ to declare the size of the array.
64088         Problem and germ of a solution reported by Bruno Haible.
64089         (verify_type__): Use 2, not 1, for bitfield size, to avoid
64090         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
64091
64092 2005-09-23  Jim Meyering  <jim@meyering.net>
64093
64094         Sync from coreutils.
64095         Correct build failure (socklen_t not defined) on at least
64096         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
64097         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
64098
64099 2005-09-23  Jim Meyering  <jim@meyering.net>
64100
64101         * modules/getaddrinfo (Depends-on): Add socklen.
64102
64103 2005-09-23  Bruno Haible  <bruno@clisp.org>
64104
64105         * tests/test-verify.c: New file.
64106
64107 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64108
64109         Sync from coreutils.
64110
64111         * modules/argmatch (Depends-on): Add verify.
64112         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
64113         unistd-safer.
64114         * modules/save-cwd (Depends-on): Likewise.
64115
64116         * modules/openat (Files): Add lib/openat-die.c.
64117         (Depends-on): Remove error, exitfail.
64118         Add dirname.
64119
64120         * modules/verify: New file.
64121         * MODULES.html.sh (Diagnostics <assert.h>): New section,
64122         with "verify" module.
64123
64124 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64125
64126         Sync from coreutils.
64127
64128         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
64129         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
64130         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
64131         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
64132         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
64133         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
64134         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
64135         Don't bother checking for string.h, stdlib.h, unistd.h.
64136         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
64137         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
64138         module's job.
64139         * m4/jm-macros.m4 (gl_MACROS): Likewise.
64140         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
64141
64142         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
64143         (gl_GETDATE): Use it.
64144
64145         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
64146
64147 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64148
64149         Sync from coreutils.
64150
64151         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
64152         stat-time.h.
64153         * lib/argmatch.h: Include verify.h
64154         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
64155         (ARGMATCH_ASSERT): Remove; unused.
64156         * lib/canonicalize.c: Assume STDC_HEADERS.
64157         * lib/exclude.c: Include "strcase.h".
64158         * lib/regex_internal.h [!defined _LIBC]: Likewise.
64159         * lib/getusershell.c: Include stdio--.h rather than stdio.h
64160         and stdio-safer.h.
64161         (getusershell): Call fopen, not fopen_safer.
64162         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
64163         Do not include unistd-safer.h.
64164         (save_cwd): Don't call fd_safer; no longer needed
64165         now that we include fcntl--.h.
64166
64167         * lib/getdate.y (relative_time): New type.
64168         (RELATIVE_TIME_0): New constant.
64169         (parser_control): Use relative_time instead of doing it ourselves.
64170         (%union): Add new relative_time rel member.
64171         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
64172         Now typeless.
64173         (relunit, relunit_snumber): Now of type rel.
64174         (zone, rel, relunit, get_date): Adjust to above changes.
64175
64176         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
64177         Do not include unistd-safer.h.
64178         (getloadavg): Don't call fd_safer; no longer needed
64179         now that we include fcntl--.h.
64180
64181         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
64182         (make_dir_parents): Treat ENOSYS like EEXIST.
64183
64184         Improve quality of diagnostics on restore_cwd failure.
64185         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
64186         (make_dir_parents): Last arg is now int * (for errno), not bool *.
64187         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
64188         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
64189         each time through the loop.  Do not diagnose restore_cwd failure;
64190         that is the caller's job (and perhaps the caller does not care).
64191
64192         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
64193         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
64194         If the file already exists but is not a directory, don't bother
64195         to try to make its parents.
64196         Close potential file descriptor leak if we can't chdir("/") (!).
64197         Don't always return true if chdir($PWD) fails; return true only
64198         if the requested action was done successfully (except for the
64199         chdir($PWD)).
64200         Don't log final directory unless we actually made it.
64201         Refactor to avoid duplicate code to fix up permissions.
64202         Don't attempt to fix up parent permissions if chdir($PWD) fails.
64203
64204         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
64205         to make it a bit faster and (I hope) clearer.
64206         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
64207         Fix bug in formats like %2N.
64208
64209         * lib/verify.h: New file.
64210
64211 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64212
64213         Sync from coreutils.
64214         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
64215
64216 2005-09-22  Jim Meyering  <jim@meyering.net>
64217
64218         Sync from coreutils.
64219
64220         * m4/lstat.m4 (gl_FUNC_LSTAT):
64221         Use AC_LIBSOURCES to require lstat.c and lstat.h.
64222         Remove obsolete comment.
64223         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
64224         * m4/xstrtod.m4: Likewise.
64225
64226         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
64227
64228 2005-09-22  Jim Meyering  <jim@meyering.net>
64229
64230         Sync from coreutils.
64231
64232         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
64233
64234         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
64235         the .tm_year member, since otherwise gcc-4.0 would now warn about
64236         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
64237
64238         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
64239         order to avoid an unsuppressible warning from gcc on 64-bit systems.
64240
64241         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
64242         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
64243         when run in a time zone for which daylight savings time is in effect
64244         for the starting date.
64245
64246         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
64247         stop us from restricting permissions of just-created absolute-named
64248         directories.
64249         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
64250         to restore initial working directory.
64251         * lib/mkdir-p.c (make_dir_parents): New parameter:
64252         different_working_dir, to tell caller if/when we change the working
64253         directory and are unable to return to the initial one.
64254         * lib/mkdir-p.h (make_dir_parents): Update prototype.
64255         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
64256         `return false'.  This fixes a bug introduced on 2004-07-30.
64257
64258         * lib/openat.c (fdopendir): Be sure to close the supplied
64259         file descriptor before returning.  This makes our replacement
64260         implementation a little closer to Solaris's, where fdopendir
64261         ties the file descriptor to the returned DIR* pointer.
64262         * lib/openat.c (unlinkat): New function.
64263         * lib/openat.h (unlinkat): Add prototype.
64264         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
64265         (openat_restore_fail): Rename from openat_restore_die.
64266         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
64267
64268         Provide an alternative to exiting immediately upon save_cwd or
64269         restore_cwd failure.  Now, an application can arrange e.g.,
64270         to perform a longjump in that case.
64271         * lib/openat.c: Include dirname.h.
64272         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
64273         (rpl_openat, fdopendir, fstatat): Call openat_save_die
64274         and openat_restore_die rather than calling error directly.
64275         Don't include "error.h" or "exitfail.h"; they're no longer needed.
64276
64277         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
64278         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
64279         define.
64280
64281         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
64282         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
64283                             int utc, int nanoseconds);
64284         Background:
64285         date should not have to allocate a megabyte of virtual memory to
64286         handle a format argument like +%1048575T.  When implemented with
64287         strftime, it must allocate such a buffer, use strftime to fill it
64288         in, print it, then free it.
64289         With fprintftime, it simply prints everything and exits.
64290         With no need for memory allocation, that's one fewer way to fail.
64291         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
64292         optional field width, not before, so we accept %9:z, not %:9z.
64293         (my_strftime): Be sure to use L_('x') for literals.
64294
64295         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
64296         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
64297         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
64298         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
64299         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
64300         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
64301         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
64302         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
64303         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
64304         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
64305         * lib/xgethostname.c, lib/xreadlink.c:
64306         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
64307
64308         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
64309         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
64310         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
64311         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
64312         and don't include <sys/file.h>).
64313
64314 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
64315
64316         Sync from coreutils.
64317
64318         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
64319         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
64320         [!LDAV_DONE]: Avoid unused variable warning.
64321
64322 2005-09-21  Bruno Haible  <bruno@clisp.org>
64323
64324         * lib/unicodeio.h (unicode_to_mb): New declaration.
64325
64326 2005-09-20  Derek Price  <derek@ximbiot.com>
64327
64328         * lib/getaddrinfo.c: Don't include <netdb.h> included from
64329         getaddrinfo.h.
64330
64331 2005-09-20  Bruno Haible  <bruno@clisp.org>
64332
64333         * gnulib-tool: Remove trailing slashes from the values specified for
64334         --source-base, --m4-base, --tests-base, --aux-dir.
64335         Suggested by Simon Josefsson <jas@extundo.com>.
64336
64337 2005-09-20  Bruno Haible  <bruno@clisp.org>
64338
64339         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
64340         func_modules_to_filelist, func_import, func_create_testdir): Make all
64341         sorting results locale-independent, so that gnulib-cache.m4 doesn't
64342         change when gnulib-tool is invoked in a different locale.
64343
64344 2005-09-19  Simon Josefsson  <jas@extundo.com>
64345
64346         * m4/socklen.m4: Fix typo.
64347
64348 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64349
64350         Use a consistent style for including <config.h>.
64351         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
64352         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
64353         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
64354         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
64355         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
64356         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
64357         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
64358         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
64359         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
64360         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
64361         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
64362         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
64363         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
64364         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
64365         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
64366         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
64367         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
64368         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
64369         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
64370         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
64371         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
64372         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
64373         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
64374         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
64375         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
64376         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
64377         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
64378         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
64379         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
64380         lib/xstrtoumax.c, lib/yesno.c:
64381         Standardize inclusion of config.h.
64382         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
64383         lib/inttostr.h:  Removed inclusion of config.h from header files.
64384         * lib/inttostr.c:  Adjusted in-tree users.
64385         * lib/timespec.h: Remove superfluous warning to include config.h.
64386         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
64387         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
64388         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
64389         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
64390         config.h with HAVE_CONFIG_H.
64391
64392 2005-09-19  Jim Meyering  <jim@meyering.net>
64393
64394         * modules/pathmax (License): Change to LGPL.
64395
64396 2005-09-19  Derek Price  <derek@ximbiot.com>
64397
64398         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
64399
64400 2005-09-19  Bruno Haible  <bruno@clisp.org>
64401
64402         * gnulib-tool (import): Provide default for --tests-base.
64403
64404 2005-09-19  Bruno Haible  <bruno@clisp.org>
64405
64406         * doc/quote.texi: New file, extracted from gnulib.texi.
64407         * doc/ctime.texi: New file, extracted from gnulib.texi.
64408         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
64409         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
64410         * doc/gnulib.texi: Include them.
64411
64412 2005-09-18  Bruno Haible  <bruno@clisp.org>
64413
64414         Portability fix.
64415         * gnulib-tool (func_readlink): New function.
64416         (func_ln_if_changed): Use it.
64417
64418 2005-09-18  Bruno Haible  <bruno@clisp.org>
64419
64420         * gnulib-tool: Support --with-tests also with --import.
64421         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
64422         (func_import): Use variables $testsbase and $inctests. Emit a
64423         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
64424         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
64425         SUBDIRS += $testsdir.
64426         (func_create_testdir): Update.
64427
64428 2005-09-18  Bruno Haible  <bruno@clisp.org>
64429
64430         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
64431         instead of $dry_run.
64432         (func_cp_if_changed, func_mv_if_changed): Remove functions.
64433         (func_ln_if_changed): Don't handle dry-run here.
64434         (func_import): In dry-run mode, detect more precisely which actions
64435         would be performed, and don't use "...ing" verbs.
64436
64437 2005-09-18  Bruno Haible  <bruno@clisp.org>
64438
64439         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
64440         (func_import): Use join on two temporary files instead of three nested
64441         loops, in order to determine which files are new or old.
64442
64443 2005-09-18  Bruno Haible  <bruno@clisp.org>
64444
64445         * gnulib-tool (func_import): Comment out code that spits out the
64446         new files with --dry-run.
64447
64448 2005-09-18  Bruno Haible  <bruno@clisp.org>
64449
64450         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
64451
64452 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64453
64454         * lib/stat-time.h: New file.
64455         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
64456         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
64457         in a different way.
64458         (timespec_cmp): New function.
64459         * lib/utimecmp.c: Include stat-time.h.
64460         (SYSCALL_RESOLUTION): Depend on whether various struct stat
64461         members exist, not on the obsolescent ST_MTIM_NSEC.
64462         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
64463
64464 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64465
64466         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
64467
64468 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64469
64470         * MODULES.html.sh (File system functions): Add stat-time.
64471         * modules/stat-time: New file.
64472         * modules/timespec (Files): Remove m4/st_mtim.m4; this
64473         is now done in a different way, by the stat-time module.
64474         * modules/utimecmp (Depends-on): Add stat-time.
64475
64476 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64477
64478         * m4/st_mtim.m4: Remove.  Superseded by...
64479         * m4/stat-time.m4: New file.
64480         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
64481         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
64482
64483 2005-09-15  Derek Price  <derek@ximbiot.com>
64484
64485         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
64486
64487 2005-09-15  Derek Price  <derek@ximbiot.com>
64488
64489         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
64490         * lib/regex_internal.c: Ditto, using this...
64491         (__GNUC_PREREQ): ...new macro.
64492         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
64493         using...
64494         (__GNUC_PREREQ): ...this new macro.
64495
64496         * lib/strstr.h: Include string.h. Define strstr as a macro here.
64497
64498 2005-09-15  Derek Price  <derek@ximbiot.com>
64499             Paul Eggert  <eggert@cs.ucla.edu>
64500
64501         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
64502         changes, consolidating in...
64503         * lib/regex_internal.h: ...this file.
64504
64505 2005-09-13  Jim Meyering  <jim@meyering.net>
64506
64507         * lib/canon-host.c: Filter through gnu indent and reword comments
64508         slightly.
64509         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
64510
64511 2005-09-13  Derek Price  <derek@ximbiot.com>
64512
64513         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
64514         failure.
64515         Reported by Jim Meyering  <jim@meyering.net>.
64516
64517 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64518
64519         * lib/base64.c: Typo.
64520         (base64_encode): Put b64str in initialized data section.
64521
64522 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64523
64524         Merge glibc and coreutils changes into gnulib, plus a few
64525         extra fixes.
64526         * lib/md5.c: Use #error rather than a string.
64527         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
64528         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
64529         (__attribute__): Define to empty for non recent-GCC.
64530         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
64531         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
64532         Renamed from their non-__ counterparts, with new macros replacing
64533         them if not _LIBC.  Add __THROW attribute.
64534         (rol): Remove.
64535         (struct md5_ctx): Align buffer if using GCC.
64536         * lib/sha1.h (struct sha1_ctx): Likewise.
64537         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
64538         The old name was backwards.
64539         (NOTSWAP): Remove; not used.
64540         (rol): New macro, moved here from md5.h.
64541         (sha1_process_block): Remove a FIXME that doesn't make sense.
64542
64543 2005-09-12  Derek Price  <derek@ximbiot.com>
64544
64545         Return usable errors from canon-host.
64546         * lib/canon-host.h: New file.
64547         * lib/canon-host.c (canon_host): Wrap...
64548         (canon_host_r): ...this new function, which now relies exclusively on
64549         getaddrinfo.
64550         (ch_strerror): New function.
64551         (last_cherror): New global.
64552         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
64553         interface.
64554         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
64555         void *.
64556         (freeaddrinfo): Free ai->ai_canonname when set.
64557
64558 2005-09-12  Derek Price  <derek@ximbiot.com>
64559
64560         Make canon-host require getaddrinfo.
64561         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
64562         AC_LIBSOURCE canon-host.h.  Call...
64563         (gl_PREREQ_CANON_HOST): ...this new function, which requires
64564         gl_GETADDRINFO.
64565         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
64566
64567 2005-09-12  Derek Price  <derek@ximbiot.com>
64568
64569         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
64570         LGPL.
64571         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
64572
64573 2005-09-12  Derek Price  <derek@ximbiot.com>
64574
64575         * lib/gai_strerror.c: Include config.h when available.  Include
64576         getaddrinfo.h before other headers to test interface.
64577         Reported by Larry Jones <lawrence.jones@ugs.com>.
64578
64579 2005-09-12  Derek Price  <derek@ximbiot.com>
64580             Paul Eggert  <eggert@cs.ucla.edu>
64581
64582         * modules/glob (Files): Add glob-libc.h.
64583
64584 2005-09-12  Derek Price  <derek@ximbiot.com>
64585             Paul Eggert  <eggert@cs.ucla.edu>
64586
64587         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
64588         glob_.h, glob-libc.h.
64589         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
64590
64591 2005-09-12  Derek Price  <derek@ximbiot.com>
64592             Paul Eggert  <eggert@cs.ucla.edu>
64593
64594         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
64595         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
64596         protecting things that should be done only in gnulib contexts.
64597         * lib/glob_.h: New file, containing only the glob things needed for
64598         gnulib.
64599         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
64600         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
64601         (glob, globfree, glob_pattern_p): Now defined simply in terms of
64602         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
64603         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
64604         and to respect the namespace rules better.
64605
64606 2005-09-08  Simon Josefsson  <jas@extundo.com>
64607
64608         * modules/socklen: New file.
64609
64610 2005-09-08  Simon Josefsson  <jas@extundo.com>
64611
64612         * m4/socklen.m4: New file.
64613
64614 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64615
64616         * modules/utimens (Files): Add m4/utimbuf.m4, since
64617         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
64618         Reported by Sergey Poznyakoff.
64619
64620 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64621
64622         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
64623         definitions, since that's the preferred style in glibc.
64624         Fix a minor spacing issue, and update copyright notice to match
64625         glibc's.
64626
64627 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64628
64629         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
64630
64631 2005-09-06  Simon Josefsson  <jas@extundo.com>
64632
64633         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
64634         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
64635
64636 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64637
64638         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
64639         warning.
64640
64641 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64642
64643         * config/srclist.txt: Add glibc bug 1302.
64644
64645 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
64646
64647         Change bitset word type from unsigned int to unsigned long int,
64648         as this has better performance on typical 64-bit hosts.
64649         Port bitset code to hosts with unusual word sizes.
64650         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
64651         (build_collating_symbol):
64652         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
64653         argument is a bitset.  This is merely a style issue, but it makes
64654         it clearer that an entire array is expected.
64655         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
64656         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
64657         Port to the case where bitset_word is not the same as unsigned int.
64658         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64659         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
64660         Likewise.
64661         * lib/regexec.c (check_dst_limits_calc_pos_1,
64662         check_subexp_matching_top):
64663         (build_trtable, group_nodes_into_DFAstates):
64664         Likewise.
64665         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
64666         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
64667         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
64668         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
64669         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
64670         * lib/regcomp.c (optimize_subexps, lower_subexp):
64671         Work even if bitset_word has holes in its bitwise representation.
64672         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
64673         * lib/regexec.c (check_dst_limits_calc_pos_1,
64674         check_subexp_matching_top):
64675         Likewise.
64676         * lib/regex_internal.c (re_string_reconstruct):
64677         Don't assume UCHAR_MAX == 255.
64678         * lib/regex_internal.h (bitset_set_all): Likewise.
64679         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
64680         All uses changed.
64681         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
64682         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
64683         All uses changed.
64684         (BITSET_WORD_MAX): New macro.
64685         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
64686         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
64687         (bitset_empty, bitset_copy):
64688         Prefer sizeof (bitset) to multiplying it out ourselves.
64689         (bitset_not_merge): Remove; unused.
64690         (bitset_contain): Return bool, not unsigned int with one bit on.
64691         All callers changed.
64692         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
64693         alignment than re_node_set; do this by defining a new internal
64694         type struct dests_alloc and using it to allocate memory.
64695
64696 2005-09-05  Bruno Haible  <bruno@clisp.org>
64697
64698         * gnulib-tool (func_import): Fix comparison in handling of symbolic
64699         links.
64700
64701 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
64702
64703         * modules/size_max (Makefile.am): Add size_max.h
64704
64705 2005-09-04  Derek Price  <derek@ximbiot.com>
64706
64707         * gnulib-tool (func_import): Fix reversed $symbolic logic.
64708
64709 2005-09-03  Simon Josefsson  <jas@extundo.com>
64710
64711         * gnulib-tool: Fix typo.
64712
64713 2005-09-03  Simon Josefsson  <jas@extundo.com>
64714
64715         * config/srclist.txt: Add glibc bug 1293.
64716
64717 2005-09-03  Derek Price  <derek@ximbiot.com>
64718
64719         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
64720         From Larry Jones <lawrence.jones@ugs.com>.
64721
64722 2005-09-02  Simon Josefsson  <jas@extundo.com>
64723
64724         * modules/socklen: New file.
64725
64726 2005-09-02  Simon Josefsson  <jas@extundo.com>
64727
64728         * modules/havelib: New module.
64729
64730         * modules/gettext, modules/iconv, modules/lock, modules/readline:
64731         Use havelib.
64732
64733 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64734
64735         Check for arithmetic overflow when calculating sizes, to prevent
64736         some buffer-overflow issues.  These patches are conservative, in the
64737         sense that when I couldn't determine whether an overflow was possible,
64738         I inserted a run-time check.
64739         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
64740         macros.
64741         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
64742         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
64743         (re_xnrealloc, re_x2nrealloc): New inline functions.
64744         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
64745         parse_bracket_exp):
64746         (build_equiv_class, build_charclass): Check for arithmetic overflow
64747         in size expression calculations.
64748         * lib/regex_internal.c (re_string_realloc_buffers):
64749         (build_wcs_upper_buffer, re_node_set_add_intersect):
64750         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
64751         (re_dfa_add_node, register_state): Likewise.
64752         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
64753         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
64754         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
64755         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
64756
64757 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64758
64759         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
64760         m4/ulonglong.m4.  Problem reported by Martin Lambers.
64761
64762 2005-09-02  Bruno Haible  <bruno@clisp.org>
64763
64764         Support for lib vs. lib64 distinction on biarch platforms.
64765         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
64766         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
64767         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
64768
64769 2005-09-02  Bruno Haible  <bruno@clisp.org>
64770
64771         * gnulib-tool (import): In the other first-use case, provide defaults
64772         as well.
64773
64774 2005-09-02  Bruno Haible  <bruno@clisp.org>
64775
64776         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
64777         patches not yet found in the latest gettext release.
64778
64779 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64780
64781         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
64782         to avoid a collision with bits/local_lim.h in glibc.
64783         All uses changed.  Problem reported by Dmitry V. Levin in
64784         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
64785
64786         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
64787         bugs in int versus size_t comparisons.
64788         (re_string_context_at): Fix bug where the code assumed that
64789         Idx is signed.
64790
64791         Use bool where appropriate.
64792         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
64793         All callers changed.
64794         (calc_eclosure_iter): Likewise, for ROOT arg.
64795         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
64796         (build_charclass_op): Likewise, for NON_MATCH arg.
64797         * lib/regex_internal.c (re_string_allocate, re_string_construct):
64798         (re_string_construct_common): Likewise, for ICASE arg.
64799         * lib/regexec.c (re_search_2_stub, re_search_stub):
64800         Likewise, for RET_LEN arg.
64801         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
64802         (set_regs): Likewise, for FL_BACKTRACK arg.
64803         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
64804         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
64805         (calc_eclosure_iter, parse_bracket_exp):
64806         Use bool for internal variables that are booleans.
64807         * lib/regexec.c (re_search_internal, check_matching,
64808         proceed_next_node):
64809         (set_regs, build_sifted_states, sift_states_bkref):
64810         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
64811         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64812         (find_collation_sequence_value):
64813         Likewise.
64814         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
64815         (re_node_set_compare):
64816         Return bool, not int. All callers changed.
64817         * lib/regexec.c (check_halt_node_context, check_dst_limits):
64818         (build_trtable, check_node_accept): Likewise.
64819         * lib/regex_internal.h: Include stdbool.h.
64820
64821         Fix bugs uncovered when converting to bool.
64822         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
64823         failure instead of charging ahead blindly.
64824         * lib/regex_internal.c (register_state): Likewise.
64825         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
64826         for freeing internal storage.
64827         (group_nodes_into_DFA_states): Use unsigned int, not int, for
64828         bitset pieces used as boolean, to avoid undefined behavior
64829         on hosts that do int overflow checking.
64830
64831 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64832
64833         * config/srclist.txt: Add glibc bugs 1285-1287.
64834
64835 2005-09-01  Jim Meyering  <jim@meyering.net>
64836
64837         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
64838         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
64839         Require gl_STAT_MACROS, too.
64840
64841 2005-09-01  Bruno Haible  <bruno@clisp.org>
64842
64843         * gnulib-tool (import): In the first-use case, provide defaults.
64844
64845 2005-09-01  Bruno Haible  <bruno@clisp.org>
64846
64847         * gnulib-tool (func_import): Remove the .tmp files.
64848
64849 2005-09-01  Bruno Haible  <bruno@clisp.org>
64850
64851         * gnulib-tool (func_import): Fix handling of symbolic links.
64852
64853 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64854
64855         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
64856         old glibc regex code mishandles strings longer than 2**31 bytes.
64857         This patch fixes this when the regex code is used in gnulib
64858         (i.e., outside glibc).
64859
64860         This patch should not affect the use of the regex code inside
64861         glibc.  No doubt this problem also needs to be handled for glibc
64862         as well, but the result will be an incompatible change to the
64863         glibc ABI, and the old ABI will have to be supported too.  That
64864         can be the the subject for another patch.
64865
64866         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
64867         governing whether the rest of this patch is active.  By default,
64868         the macro is disabled and the patch has no effect.
64869         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
64870         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
64871         (struct re_pattern_buffer, re_search, re_search_2, re_match):
64872         (re_match_2, re_set_registers): Use the new types.
64873         * lib/regex_internal.h (Idx, re_hashval_t): New types.
64874         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
64875         New macros.
64876         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
64877         (re_string_context_at, bin_tree_t, re_dfastate_t):
64878         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
64879         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
64880         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
64881         (re_string_char_size_at, re_string_wchar_at):
64882         (re_string_elem_size_at):
64883         Use the new types and macros to port to 64-bit hosts.
64884         Use unsigned types for internal values, so that the code
64885         mostly works even for arrays larger than SSIZE_MAX.
64886         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
64887         (search_duplicated_node, calc_eclosure_iter, fetch_number):
64888         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
64889         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
64890         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
64891         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
64892         (calc_inveclosure, parse_dup_op, build_range_exp):
64893         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
64894         (fetch_number, create_token_tree, mark_opt_subexp):
64895         Likewise.
64896         * lib/regex_internal.c (re_string_construct_common,
64897         create_ci_newstate):
64898         (create_cd_newstate, re_string_allocate, re_string_construct):
64899         (re_string_realloc_buffers, build_wcs_upper_buffer):
64900         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64901         (re_string_reconstruct, re_string_peek_byte_case):
64902         (re_string_fetch_byte_case, re_string_context_at):
64903         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64904         (re_node_set_init_copy, re_node_set_add_intersect):
64905         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64906         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64907         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64908         (re_acquire_state, re_acquire_state_context, register_state):
64909         Likewise.
64910         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
64911         search_cur_bkref_entry):
64912         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
64913         (re_search_internal, re_search_2_stub, re_search_stub)
64914         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
64915         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
64916         (update_cur_sifted_state, check_dst_limits):
64917         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
64918         (check_subexp_limits, sift_states_bkref, merge_state_array):
64919         (check_subexp_matching_top, get_subexp, get_subexp_sub):
64920         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
64921         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64922         (expand_bkref_cache, check_node_accept_bytes):
64923         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
64924         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
64925         (acquire_init_state_context, check_halt_node_context):
64926         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
64927         (sift_states_backward, clean_state_log_if_needed):
64928         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
64929         (find_recover_state, transit_state_sb, transit_state_mb):
64930         (transit_state_bkref, build_trtable, match_ctx_clean):
64931         Likewise.
64932         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
64933         to work around an assumption that REG_MISSING is negative.
64934
64935         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
64936         (seek_collating_symbol_entry) [defined _LIBC]:
64937         (lookup_collation_sequence_value) [defined _LIBC]:
64938         (build_range_exp, build_collating_symbol) [defined _LIBC]:
64939         Use prototypes rather than old-style function definitions.
64940         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
64941         (transit_state_sb) [0]:
64942         (find_collation_sequence_value) [defined _LIBC]: Likewise.
64943
64944         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
64945         rm_eo.
64946
64947         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
64948         (optimize_subexps, lower_subexp):
64949         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
64950         since the signed shift might overflow.  Use 1u<<31 instead.
64951         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64952         Likewise.
64953         * lib/regexec.c (check_dst_limits_calc_pos_1,
64954         check_subexp_matching_top): Likewise.
64955
64956         * lib/regcomp.c (optimize_subexps, lower_subexp):
64957         Use CHAR_BIT rather than 8, for clarity.
64958         * lib/regexec.c (check_dst_limits_calc_pos_1):
64959         (check_subexp_matching_top): Likewise.
64960         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
64961         have to worry about portability issues when shifting it left.
64962         Remove no-longer-needed test for table_size > 0.
64963         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
64964         in a word, as the resulting behavior is undefined.
64965         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
64966         in one case, a <= should have been an <, and in another case the
64967         whole test was missing.
64968         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
64969         the standard name CHAR_BIT.
64970         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
64971         this is not true on one's complement and signed-magnitude hosts.
64972
64973         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
64974         next_last_offset.
64975         (struct re_dfa_t): Remove unused member states_alloc.
64976         * lib/regcomp.c (init_dfa): Don't initialize unused members.
64977
64978 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64979
64980         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
64981         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
64982         and large-file glibc and in 32-bit large-file Solaris.
64983
64984 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64985
64986         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
64987         lengths fit in regoff_t; this isn't true if regoff_t is the same
64988         width as size_t.
64989         * lib/regex.c (re_search_internal): 5th arg is LAST_START
64990         (= START + RANGE) instead of RANGE.  This avoids overflow
64991         problems when regoff_t is the same width as size_t.
64992         All callers changed.
64993         (re_search_2_stub): Check for overflow when adding the
64994         sizes of the two strings.
64995         (re_search_stub): Check for overflow when adding START
64996         to RANGE; if it occurs, substitute the extreme value.
64997
64998 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64999
65000         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
65001
65002 2005-08-31  Jim Meyering  <jim@meyering.net>
65003
65004         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
65005         a pointer-to-const.
65006         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
65007         (register_state): Likewise.
65008         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
65009         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
65010         (group_nodes_into_DFAstates): Likewise.
65011
65012 2005-08-31  Jim Meyering  <jim@meyering.net>
65013
65014         * check-module: Add a FIXME comment.
65015
65016 2005-08-31  Eric Blake  <ebb9@byu.net>
65017
65018         * modules/unistd-safer (Files): Add unistd--.h.
65019         * modules/stdio-safer (Files): Add stdio--.h.
65020
65021 2005-08-31  Derek Price  <derek@ximbiot.com>
65022
65023         * lib/getdelim.c (getdelim): Return EOF on EOF.
65024         Reported by Larry Jones <lawrence.jones@ugs.com>.
65025
65026 2005-08-31  Bruno Haible  <bruno@clisp.org>
65027
65028         Avoid unnecessary diffs in the generated lib/Makefile.am.
65029         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
65030         the generated files.
65031         (func_import): Don't set cmd.
65032
65033 2005-08-31  Bruno Haible  <bruno@clisp.org>
65034
65035         * lib/strstr.c: Include <stddef.h>, for NULL.
65036         * lib/strcasestr.c: Likewise.
65037         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65038
65039 2005-08-31  Bruno Haible  <bruno@clisp.org>
65040
65041         * gnulib-tool: New option --macro-prefix.
65042         (func_import): Use macro_prefix.
65043         (import): Handle option --macro-prefix.
65044
65045 2005-08-31  Bruno Haible  <bruno@clisp.org>
65046
65047         * gnulib-tool (import): Rename most ac_* variables to cached_*.
65048         Also use new variables cached_lgpl, cached_libtool.
65049
65050 2005-08-31  Bruno Haible  <bruno@clisp.org>
65051
65052         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
65053         always instantiating them.
65054
65055 2005-08-31  Bruno Haible  <bruno@clisp.org>
65056
65057         * gnulib-tool (func_import): Read the previous cached settings
65058         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
65059         earlier added by gnulib but are now dropped. Warn when a gnulib file
65060         overwrites a non-gnulib file.
65061
65062 2005-08-31  Bruno Haible  <bruno@clisp.org>
65063
65064         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
65065         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
65066         projects that don't keep autogenerated files in CVS. Put into
65067         actioncmd only the specified modules, not the transitive closure.
65068
65069 2005-08-31  Bruno Haible  <bruno@clisp.org>
65070
65071         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
65072         Create directories that shall be filled.
65073         (import): Don't look for gl_* macros in configure.ac. Recurse across
65074         all directories containing a gnulib-cache.m4 files, if meaningful.
65075
65076 2005-08-31  Bruno Haible  <bruno@clisp.org>
65077
65078         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
65079         (import): Set seen_libtool when we see gl_LIBTOOL.
65080
65081 2005-08-31  Bruno Haible  <bruno@clisp.org>
65082
65083         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
65084         declaration macro definitions from generated gnulib.m4.
65085
65086 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
65087
65088         * lib/iconvme.h: Add prototype for iconv_alloc.
65089
65090 2005-08-29  Simon Josefsson  <jas@extundo.com>
65091
65092         * lib/iconvme.c: Fix errno.
65093
65094 2005-08-29  Bruno Haible  <bruno@clisp.org>
65095
65096         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
65097         that it works when the directory contains spaces.
65098
65099 2005-08-29  Bruno Haible  <bruno@clisp.org>
65100
65101         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
65102
65103 2005-08-29  Bruno Haible  <bruno@clisp.org>
65104
65105         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
65106         Emit more advice.
65107
65108 2005-08-29  Bruno Haible  <bruno@clisp.org>
65109         and Stepan Kasal  <kasal@ucw.cz>
65110
65111         * check-module: If more parameters are given, check each of them
65112         separately; add more exceptions, as noted by Jim Meyering.
65113         (check_module): New procedure.
65114         (%exempt_header): Now contains all exceptions.
65115
65116 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
65117
65118         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
65119
65120 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
65121
65122         * lib/iconvme.c: Split iconv_string into iconv_alloc.
65123
65124 2005-08-28  Bruno Haible  <bruno@clisp.org>
65125
65126         * m4/gnulib-tool.m4: New file.
65127
65128 2005-08-27  Jim Meyering  <jim@meyering.net>
65129
65130         * modules/unistd-safer (Files): Add pipe-safer.c.
65131         * modules/fcntl-safer (Files): Add creat-safer.c.
65132
65133 2005-08-27  Jim Meyering  <jim@meyering.net>
65134
65135         * m4/stdlib-safer.m4: New file.  From coreutils.
65136         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
65137         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
65138         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
65139         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
65140         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
65141
65142 2005-08-27  Jim Meyering  <jim@meyering.net>
65143
65144         * lib/fopen-safer.c: Merge minor changes from coreutils.
65145         * lib/dup-safer.c: Likewise.
65146         * lib/fd-safer.c: Likewise.
65147
65148         Merge from coreutils.
65149         * lib/stdio--.h: New file.
65150         * lib/stdlib--.h: New file.
65151         * lib/mkstemp-safer.c: New file.
65152
65153         GNU tar needs these.
65154         * lib/pipe-safer.c: New file.
65155         * lib/creat-safer.c: New file.
65156         * lib/fcntl--.h (creat): Define to creat_safer.
65157         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
65158         * lib/unistd--.h (pipe): Define to pipe_safer.
65159         * lib/unistd-safer.h: Declare pipe_safer.
65160
65161 2005-08-26  Simon Josefsson  <jas@extundo.com>
65162
65163         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
65164         Haible <bruno@clisp.org>.
65165
65166 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
65167
65168         * lib/regex_internal.h: Remove all references to
65169         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
65170         or better.
65171         (bitset_not, bitset_merge, bitset_not_merge):
65172         (bitset_mask, re_string_allocate, re_string_construct):
65173         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
65174         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
65175         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
65176         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
65177         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65178         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65179         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
65180         (re_acquire_state_context):
65181         Remove unnecessary forward decls.
65182         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
65183         Put __attribute at function definition,
65184         now that the function decl has been removed.
65185         * lib/regex_internal.c (re_string_peek_byte_case):
65186         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
65187         Likewise.
65188
65189 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
65190
65191         * m4/regex.m4: Add AC_PREREQ(2.50).
65192         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
65193
65194 2005-08-25  Simon Josefsson  <jas@extundo.com>
65195
65196         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
65197         __fsetlocking.
65198
65199 2005-08-25  Simon Josefsson  <jas@extundo.com>
65200
65201         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
65202         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
65203         GLIBC specific code.
65204
65205 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65206
65207         Make regex safe for g++.  This fixes one real bug (an "err"
65208         that should have been "*err").  g++ problem reported by
65209         Sam Steingold.
65210         * lib/regex_internal.h (re_calloc): New macro, consistent with
65211         re_malloc etc.  All callers of calloc changed to use re_calloc.
65212         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
65213         not int.  All callers changed.
65214         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
65215         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
65216         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
65217         (find_recover_state): Change "err" to "*err"; this fixes what
65218         appears to be a real bug.
65219         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
65220         versus int.
65221
65222 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65223
65224         * modules/regex (Depends-on): Add malloc, since the code
65225         assumes that !malloc(0) means failure.
65226
65227 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65228
65229         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
65230
65231         alloca modernization/simplification for regex.
65232         * lib/regex.c: Remove portability cruft for alloca.  This no longer
65233         needs to be at the start of the file, and can be moved into
65234         regex_internal.h and simplified.
65235         * lib/regex_internal.h: Include <alloca.h>.
65236         (__libc_use_alloca) [!defined _LIBC]: New macro.
65237         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
65238         now works outside glibc.
65239
65240 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65241
65242         * config/srclist.txt: Add glibc bugs 1241, 1245.
65243
65244 2005-08-25  Jim Meyering  <jim@meyering.net>
65245
65246         * lib/open-safer.c: Include <config.h>.
65247         Otherwise, we'd lose LARGEFILE support in any file using
65248         e.g. "fcntl--.h"
65249
65250 2005-08-25  Bruno Haible  <bruno@clisp.org>
65251
65252         * m4/minmax.m4: Require autoconf 2.52.
65253         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
65254         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
65255         alternatives of translit over the alphabet.
65256         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
65257
65258 2005-08-24  Simon Josefsson  <jas@extundo.com>
65259
65260         * tests/test-getpass.c: New file.
65261
65262 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65263
65264         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
65265         for GNU regex features.
65266
65267 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65268
65269         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
65270         * lib/regex.h (regerror): Likewise.
65271
65272         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
65273         requires this.  (The code never needed it.)
65274
65275         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
65276         All uses of recently-renamed identifiers changed to use the new,
65277         POSIX-compliant names.  The code will build and run just fine
65278         without these changes, but it's better to eat our own dog food
65279         and use the standard-conforming names.
65280
65281         * lib/regex.h: Fix a multitude of POSIX name space violations.
65282         These changes have an effect only for programs that define
65283         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
65284         do not change anything for programs compiled in the normal way.
65285         Also, there is no effect on the ABI.
65286
65287         (_REGEX_SOURCE): New macro.
65288         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
65289         defined and _GNU_SOURCE is not; this fixes a name space violation.
65290
65291         Rename the following macros to obey POSIX requirements.
65292         The old names are still visible as macros if _REGEX_SOURCE is defined.
65293         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
65294         RE_BACKSLASH_ESCAPE_IN_LISTS.
65295         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
65296         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
65297         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
65298         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
65299         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
65300         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
65301         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
65302         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
65303         (REG_INTERVALS): renamed from RE_INTERVALS.
65304         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
65305         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
65306         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
65307         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
65308         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
65309         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
65310         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
65311         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
65312         RE_UNMATCHED_RIGHT_PAREN_ORD.
65313         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
65314         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
65315         (REG_DEBUG): renamed from RE_DEBUG.
65316         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
65317         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
65318         unusual, since we can't clash with the POSIX REG_ICASE.
65319         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
65320         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
65321         (REG_NO_SUB): renamed from RE_NO_SUB.
65322         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
65323         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
65324         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
65325         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
65326         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
65327         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
65328         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
65329         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
65330         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
65331         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
65332         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
65333         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
65334         RE_SYNTAX_POSIX_MINIMAL_BASIC.
65335         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
65336         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
65337         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
65338         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
65339         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
65340         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
65341         (REG_FIXED): Renamed from REGS_FIXED.
65342         (REG_NREGS): Renamed from RE_NREGS.
65343
65344         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
65345         of other REG_* macros, since POSIX says the user is allowed to
65346         #undef these macros selectively.
65347
65348         (reg_errcode_t): Update comment stating what other tables need
65349         to be consistent.
65350
65351         Rename the following enum values to obey POSIX requirements.
65352         The old names are still visible as macros.
65353         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
65354         is not defined, since GNU is supposed to be a superset of POSIX as
65355         much as possible, and since we want reg_errcode_t to be a signed
65356         type for implementation consistency.
65357         (_REG_NOERROR): Renamed from REG_NOERROR.
65358         (_REG_NOMATCH): Renamed from REG_NOMATCH.
65359         (_REG_BADPAT): Renamed from REG_BADPAT.
65360         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
65361         (_REG_ECTYPE): Renamed from REG_ECTYPE.
65362         (_REG_EESCAPE): Renamed from REG_EESCAPE.
65363         (_REG_ESUBREG): Renamed from REG_ESUBREG.
65364         (_REG_EBRACK): Renamed from REG_EBRACK.
65365         (_REG_EPAREN): Renamed from REG_EPAREN.
65366         (_REG_EBRACE): Renamed from REG_EBRACE.
65367         (_REG_BADBR): Renamed from REG_BADBR.
65368         (_REG_ERANGE): Renamed from REG_ERANGE.
65369         (_REG_ESPACE): Renamed from REG_ESPACE.
65370         (_REG_BADRPT): Renamed from REG_BADRPT.
65371         (_REG_EEND): Renamed from REG_EEND.
65372         (_REG_ESIZE): Renamed from REG_ESIZE.
65373         (_REG_ERPAREN): Renamed from REG_ERPAREN.
65374         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
65375         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
65376         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
65377         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
65378
65379         (_REG_RE_NAME, _REG_RM_NAME): New macros.
65380         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
65381         changed.  But support the old name if the new one is not defined
65382         and if _REGEX_SOURCE.
65383
65384         Change the following member names in struct re_pattern_buffer.
65385         The old names are still supported if !_REGEX_SOURCE.
65386         The new names are always supported, regardless of _REGEX_SOURCE.
65387         (re_buffer): Renamed from buffer.
65388         (re_allocated): Renamed from allocated.
65389         (re_used): Renamed from used.
65390         (re_syntax): Renamed from syntax.
65391         (re_fastmap): Renamed from fastmap.
65392         (re_translate): Renamed from translate.
65393         (re_can_be_null): Renamed from can_be_null.
65394         (re_regs_allocated): Renamed from regs_allocated.
65395         (re_fastmap_accurate): Renamed from fastmap_accurate.
65396         (re_no_sub): Renamed from no_sub.
65397         (re_not_bol): Renamed from not_bol.
65398         (re_not_eol): Renamed from not_eol.
65399         (re_newline_anchor): Renamed from newline_anchor.
65400
65401         Change the following member names in struct re_registers.
65402         The old names are still supported if !_REGEX_SOURCE.
65403         The new names are always supported, regardless of _REGEX_SOURCE.
65404         (rm_num_regs): Renamed from num_regs.
65405         (rm_start): Renamed from start.
65406         (rm_end): Renamed from end.
65407
65408         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
65409         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
65410         Prepend __ to parameter names.
65411
65412         Undo yesterday's changes.
65413
65414 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65415
65416         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
65417         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
65418         lib/regex.c.
65419
65420 2005-08-24  Jim Meyering  <jim@meyering.net>
65421
65422         Sync from coreutils.
65423         * m4/fcntl-safer.m4: New file.
65424
65425         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
65426         and object files for this module.
65427
65428 2005-08-24  Jim Meyering  <jim@meyering.net>
65429
65430         Sync from coreutils.
65431         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
65432
65433 2005-08-24  Jim Meyering  <jim@meyering.net>
65434
65435         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
65436         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
65437
65438 2005-08-24  Jim Meyering  <jim@meyering.net>
65439
65440         * modules/fcntl-safer: New module.
65441         * modules/fts (Depends-on): Add fcntl-safer.
65442         * MODULES.html.sh (File descriptor based Input/Output):
65443         Add fcntl-safer.
65444
65445 2005-08-24  Bruno Haible  <bruno@clisp.org>
65446
65447         Support for unit test modules.
65448         * modules/README: Mention tests modules.
65449         * modules/TEMPLATE-TESTS: New file.
65450         * gnulib-tool: New options --extract-tests-module, --with-tests and
65451         --tests-base (unused for the moment).
65452         (testsbase, inctests): New variables.
65453         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
65454         (func_verify_module): Exclude TEMPLATE-TESTS.
65455         (func_verify_nontests_module, func_verify_tests_module): New functions.
65456         (func_get_dependencies): Add implicit dependency for tests modules.
65457         (func_get_tests_module): New function.
65458         (func_modules_transitive_closure): When --with-tests was specified,
65459         include the unit tests as well, unless explicitly avoided.
65460         (func_emit_lib_Makefile_am): Ignore the tests modules here.
65461         (func_emit_tests_Makefile_am): New function.
65462         (func_create_testdir): When --with-tests was specified, emit a
65463         tests/ directory.
65464         * MODULES.html.sh (Future developments): Update.
65465
65466 2005-08-24  Bruno Haible  <bruno@clisp.org>
65467
65468         * modules/tls-tests: New file.
65469         * tests/test-tls.c: New file, from GNU gettext.
65470
65471 2005-08-24  Bruno Haible  <bruno@clisp.org>
65472
65473         * modules/lock-tests: New file.
65474         * tests/test-lock.c: New file, from GNU gettext.
65475
65476 2005-08-24  Bruno Haible  <bruno@clisp.org>
65477
65478         * lib/lock.h: Add multiple inclusion guard.
65479         * lib/tls.h: Add multiple inclusion guard.
65480
65481 2005-08-24  Bruno Haible  <bruno@clisp.org>
65482
65483         * gnulib-tool: Add support for the --aux-dir option to
65484         --create-testdir, --create-megatestdir, --test, --megatest.
65485         (func_create_testdir, func_create_megatestdir): Optionally emit a
65486         AC_CONFIG_AUX_DIR directive.
65487         (create-testdir, create-megatestdir, test, megatest): Provide a
65488         default value for $auxdir.
65489
65490 2005-08-24  Bruno Haible  <bruno@clisp.org>
65491
65492         * gnulib-tool (import): Use compound statement instead of subshell
65493         where possible.
65494
65495 2005-08-24  Bruno Haible  <bruno@clisp.org>
65496
65497         * gnulib-tool (import): Change --aux-dir default to "build-aux".
65498
65499 2005-08-24  Bruno Haible  <bruno@clisp.org>
65500
65501         * gnulib-tool (func_version): Update.
65502
65503 2005-08-24  Bruno Haible  <bruno@clisp.org>
65504
65505         * gnulib-tool (func_import, func_create_testdir,
65506         func_create_megatestdir): Quote all autoconf macro arguments.
65507
65508 2005-08-24  Bruno Haible  <bruno@clisp.org>
65509
65510         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
65511         option --force, because --force causes the aclocal.m4 of each
65512         subdirectory to be newer than the corresponding config.h.in.
65513
65514 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65515
65516         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
65517         All contents moved to gl_REGEX.
65518         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
65519         assume that it does.
65520
65521 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65522
65523         * lib/regex.h (REG_NOSYS)
65524         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
65525         Define, since POSIX requires it as of 2001.
65526         (_REG_ENOSYS)
65527         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
65528         New private symbol, used to keep the enum signed in all cases.
65529         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
65530         Youngman in
65531         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
65532
65533         * lib/regex_internal.c (re_string_skip_chars, register_state):
65534         (calc_state_hash):
65535         Remove forward decls; no longer needed now that we use prototypes.
65536         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
65537         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
65538         (clean_state_log_if_needed): Likewise.
65539
65540 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65541
65542         * config/srclist.txt: Add glibc bugs 1231-1233.
65543
65544 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65545
65546         Fix problems reported by Sam Steingold in
65547         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
65548         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
65549         assumed that reg_errcode_t is a signed type, which is not
65550         necessarily true if _XOPEN_SOURCE is not defined.
65551         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
65552         since some compilers warn about it otherwise.
65553
65554 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65555
65556         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
65557         (init_word_char, create_initial_state, duplicate_node_closure):
65558         (fetch_token, peek_token_bracket, build_range_exp):
65559         (build_collating_symbol): Remove forward decls; no longer needed
65560         now that we use prototypes.
65561
65562         * lib/regcomp.c:
65563         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
65564         (re_compile_fastmap_iter, regcomp, regerror, regfree):
65565         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
65566         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
65567         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
65568         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
65569         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
65570         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
65571         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
65572         (build_range_exp, build_collating_symbol, parse_bracket_exp):
65573         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
65574         (build_charclass, build_charclass_op, fetch_number, create_tree):
65575         (create_token_tree, mark_opt_subexp, duplicate_tree):
65576         Use prototypes rather than old-style definitions.
65577
65578         * lib/regex_internal.c:
65579         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
65580         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
65581         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
65582         (re_string_reconstruct, re_string_peek_byte_case):
65583         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
65584         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
65585         (re_node_set_init_copy, re_node_set_add_intersect):
65586         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65587         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65588         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
65589         (re_acquire_state, re_acquire_state_context, register_state):
65590         (create_ci_newstate, create_cd_newstate, free_state):
65591         Likewise.
65592         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
65593         re_search_2):
65594         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
65595         (re_search_internal, prune_impossible_nodes):
65596         (acquire_init_state_context, check_matching, static):
65597         (check_halt_node_context, check_halt_state_context, proceed_next_node):
65598         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
65599         (update_regs, sift_states_backward, build_sifted_states):
65600         (clean_state_log_if_needed, merge_state_array):
65601         (update_cur_sifted_state, add_epsilon_src_nodes):
65602         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
65603         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
65604         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
65605         (find_recover_state, check_subexp_matching_top, transit_state_mb):
65606         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
65607         (check_arrival, check_arrival_add_next_nodes):
65608         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
65609         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65610         (check_node_accept_bytes, check_node_accept, extend_buffers):
65611         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
65612         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
65613         (sift_ctx_init):
65614         Likewise.
65615
65616         * lib/regex_internal.h:
65617         (re_string_allocate, re_string_construct, re_string_reconstruct):
65618         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
65619         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
65620         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
65621         (re_string_context_at, re_string_peek_byte_case):
65622         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
65623         is defined, since we now use prototypes always.
65624
65625         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
65626         C89 or better.  All uses removed.
65627
65628 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65629
65630         * config/srclist.txt: Add glibc bugs 1220-1227.
65631
65632 2005-08-20  Jim Meyering  <jim@meyering.net>
65633
65634         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
65635         of unused local, dfa.
65636
65637 2005-08-20  Bruno Haible  <bruno@clisp.org>
65638
65639         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
65640
65641 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65642
65643         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
65644         (re_node_set_insert_last, re_dfa_add_node):
65645         Rename local variables to avoid GCC shadowing warnings.
65646
65647 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65648
65649         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
65650         [defined lint]: Suppress bogus uninitialized-variable warnings.
65651
65652         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
65653         and let the caller return REG_ESPACE if out of space.  This
65654         removes an uninitialied-variable warning with GCC 4.0.1, and also
65655         avoids taking the address of a local variable.  All callers
65656         changed.
65657
65658 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65659
65660         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
65661         $LIBCSRC/posix/regexec.c.
65662         Add glibc bug 1217 for regcomp.c.
65663
65664 2005-08-19  Jim Meyering  <jim@meyering.net>
65665
65666         * lib/regexec.c (proceed_next_node): Redo local variables to
65667         avoid GCC shadowing warnings.
65668
65669 2005-08-18  Bruno Haible  <bruno@clisp.org>
65670
65671         * lib/strstr.c (strstr): Fix return value in multibyte case.
65672         * lib/strcasestr.c (strcasestr): Likewise.
65673
65674 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65675
65676         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
65677
65678 2005-08-17  Jim Meyering  <jim@meyering.net>
65679
65680         Make the %s format (seconds since the epoch) work for a negative
65681         number and when used with a zero-padded field width, e.g. %015s.
65682
65683         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
65684         label so that it precedes the code to set `digits'.  Otherwise,
65685         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
65686         print `00-22'.  Now, it prints `-0022', as it should.
65687
65688 2005-08-17  Bruno Haible  <bruno@clisp.org>
65689
65690         * modules/strstr (Files): Add m4/mbrtowc.m4.
65691         (Depends-on): Add mbuiter.
65692
65693 2005-08-17  Bruno Haible  <bruno@clisp.org>
65694
65695         * modules/strcasestr: New file.
65696         * MODULES.html.sh (String handling, based on ANSI C 89): Add
65697         strcasestr.
65698
65699 2005-08-17  Bruno Haible  <bruno@clisp.org>
65700
65701         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
65702
65703 2005-08-17  Bruno Haible  <bruno@clisp.org>
65704
65705         * modules/mbuiter: New file.
65706         * MODULES.html.sh (Extended multibyte and wide character utilities):
65707         Add mbuiter.
65708
65709 2005-08-17  Bruno Haible  <bruno@clisp.org>
65710
65711         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
65712         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
65713
65714 2005-08-17  Bruno Haible  <bruno@clisp.org>
65715
65716         * m4/strcasestr.m4: New file.
65717
65718 2005-08-17  Bruno Haible  <bruno@clisp.org>
65719
65720         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
65721         * lib/strstr.c: Completely rewritten, with multibyte locale support.
65722
65723 2005-08-17  Bruno Haible  <bruno@clisp.org>
65724
65725         * lib/strcasestr.h: New file.
65726         * lib/strcasestr.c: New file.
65727
65728 2005-08-17  Bruno Haible  <bruno@clisp.org>
65729
65730         * lib/strcasecmp.c: Use mbuiter.h.
65731
65732 2005-08-17  Bruno Haible  <bruno@clisp.org>
65733
65734         * lib/mbuiter.h: New file.
65735
65736 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
65737
65738         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
65739         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
65740         and gl_GETOPT are both invoked via different paths (as happens
65741         with GNU tar CVS because it uses both argp and getopt), the former
65742         wins.
65743
65744 2005-08-16  Bruno Haible  <bruno@clisp.org>
65745
65746         * modules/tls: New file.
65747         * MODULES.html.sh (Multithreading): Add tls.
65748
65749 2005-08-16  Bruno Haible  <bruno@clisp.org>
65750
65751         * modules/strnlen1: New file.
65752         * MODULES.html.sh (String handling): Add strnlen1.
65753
65754 2005-08-16  Bruno Haible  <bruno@clisp.org>
65755
65756         * modules/strcase (Files): Add m4/mbrtowc.m4.
65757         (Depends-on): Add strnlen1, mbchar.
65758
65759 2005-08-16  Bruno Haible  <bruno@clisp.org>
65760
65761         * modules/mbiter: New file.
65762         * MODULES.html.sh (Extended multibyte and wide character utilities):
65763         Add mbiter.
65764
65765 2005-08-16  Bruno Haible  <bruno@clisp.org>
65766
65767         * modules/mbfile: New file.
65768         * MODULES.html.sh (Extended multibyte and wide character utilities):
65769         Add mbfile.
65770
65771 2005-08-16  Bruno Haible  <bruno@clisp.org>
65772
65773         * modules/mbchar: New file.
65774         * MODULES.html.sh (Extended multibyte and wide character utilities):
65775         New section.
65776
65777 2005-08-16  Bruno Haible  <bruno@clisp.org>
65778
65779         * m4/tls.m4: New file, from GNU gettext.
65780
65781 2005-08-16  Bruno Haible  <bruno@clisp.org>
65782
65783         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
65784         always.
65785         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
65786
65787 2005-08-16  Bruno Haible  <bruno@clisp.org>
65788
65789         * m4/mbiter.m4: New file.
65790
65791 2005-08-16  Bruno Haible  <bruno@clisp.org>
65792
65793         * m4/mbfile.m4: New file.
65794
65795 2005-08-16  Bruno Haible  <bruno@clisp.org>
65796
65797         * m4/mbchar.m4: New file.
65798
65799 2005-08-16  Bruno Haible  <bruno@clisp.org>
65800
65801         * lib/tls.h: New file, from GNU gettext.
65802         * lib/tls.c: New file, from GNU gettext.
65803
65804 2005-08-16  Bruno Haible  <bruno@clisp.org>
65805
65806         * lib/strnlen1.h: New file.
65807         * lib/strnlen1.c: New file.
65808
65809 2005-08-16  Bruno Haible  <bruno@clisp.org>
65810
65811         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
65812         (mbi_init): Update.
65813         (mbi_avail, mbi_advance): Let the iteration end before the terminating
65814         NUL byte, not after it.
65815
65816 2005-08-16  Bruno Haible  <bruno@clisp.org>
65817
65818         * lib/strcase.h (strcasecmp): Add note in comments.
65819         * lib/strncasecmp.c: Use code from strcasecmp.c.
65820         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
65821         (strcasecmp): Work correctly in multibyte locales.
65822
65823 2005-08-16  Bruno Haible  <bruno@clisp.org>
65824
65825         * lib/mbiter.h: New file.
65826
65827 2005-08-16  Bruno Haible  <bruno@clisp.org>
65828
65829         * lib/mbfile.h: New file.
65830
65831 2005-08-16  Bruno Haible  <bruno@clisp.org>
65832
65833         * lib/mbchar.h: New file.
65834         * lib/mbchar.c: New file.
65835
65836 2005-08-16  Bruno Haible  <bruno@clisp.org>
65837
65838         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
65839         the valid ones. Makes the comparison operations transitive:
65840         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
65841         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
65842
65843 2005-08-15  Simon Josefsson  <jas@extundo.com>
65844
65845         * modules/ssize_t (License): Change to 'unlimited'.
65846
65847         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
65848
65849 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65850
65851         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
65852         Add comments for each pending glibc patch.
65853
65854 2005-08-15  Bruno Haible  <bruno@clisp.org>
65855
65856         * lib/regex.h (__restrict_arr): Don't define to __restrict if
65857         __cplusplus is defined.
65858
65859 2005-08-14  Jim Meyering  <jim@meyering.net>
65860
65861         Sync from coreutils.
65862
65863         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
65864         Use the hash-table-based cycle-detection code not just when
65865         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
65866         Reported by James Youngman in
65867         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
65868         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
65869         FTS_TIGHT_CYCLE_CHECK.
65870         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
65871         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
65872         once again.
65873         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
65874         * lib/fts.c (fd_safer): Remove decl.
65875         Include fcntl--.h rather than unistd-safer.h
65876         (fts_safe_changedir): Don't call fd_safer; no longer needed
65877         now that we include fcntl--.h.
65878
65879 2005-08-12  Simon Josefsson  <jas@extundo.com>
65880
65881         * modules/getndelim2: Use ssize_t module.
65882         * modules/getnline: Likewise.
65883         * modules/safe-read: Likewise.
65884         * modules/xreadlink: Likewise.
65885
65886         * modules/ssize_t: New file.
65887
65888 2005-08-12  Simon Josefsson  <jas@extundo.com>
65889
65890         * m4/readline.m4: Look for termcap, curses or ncurses if required.
65891
65892 2005-08-12  Simon Josefsson  <jas@extundo.com>
65893
65894         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65895         ssize_t.
65896
65897 2005-08-12  Simon Josefsson  <jas@extundo.com>
65898
65899         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
65900         readline, getdelim and check_version.
65901         (Support for systems lacking ISO C 99: Sizes of integer types):
65902         Add size_max.
65903
65904 2005-08-12  Bruno Haible  <bruno@clisp.org>
65905
65906         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
65907
65908 2005-08-11  Simon Josefsson  <jas@extundo.com>
65909
65910         * modules/readline: New file.
65911
65912         * modules/strnlen (Files): Add strnlen.h.
65913
65914 2005-08-11  Simon Josefsson  <jas@extundo.com>
65915
65916         * m4/readline.m4: New file.
65917
65918 2005-08-11  Simon Josefsson  <jas@extundo.com>
65919
65920         * lib/readline.h, readline.c: New file.
65921
65922 2005-08-11  Simon Josefsson  <jas@extundo.com>
65923
65924         * doc/gnulib.texi (Initial import, Finishing touches): Mention
65925         gl_AVOID.
65926
65927 2005-08-11  Bruno Haible  <bruno@clisp.org>
65928
65929         * lib/strnlen.h (strnlen): Change parameter name to match comment.
65930
65931 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
65932
65933         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
65934
65935 2005-08-10  Simon Josefsson  <jas@extundo.com>
65936
65937         * tests/test-iconvme.c: New file.
65938
65939 2005-08-10  Simon Josefsson  <jas@extundo.com>
65940
65941         * m4/strnlen.m4: New file.
65942
65943         * m4/strndup.m4: Don't check for strnlen declaration, done in
65944         strnlen.m4.
65945
65946 2005-08-10  Simon Josefsson  <jas@extundo.com>
65947
65948         * lib/strndup.c: Use strnlen.h.
65949
65950         * lib/strnlen.h: New file.
65951
65952 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65953
65954         * README: Typos.
65955
65956 2005-08-02  Simon Josefsson  <jas@extundo.com>
65957
65958         * modules/readline: New file.
65959
65960 2005-08-02  Simon Josefsson  <jas@extundo.com>
65961
65962         * modules/getdelim: New file.
65963
65964         * modules/getline: Rewrite, don't use getndelim2.
65965
65966 2005-08-02  Simon Josefsson  <jas@extundo.com>
65967
65968         * m4/getline.m4: Separate out getdelim stuff into separate module.
65969
65970         * m4/getdelim.m4: New file.
65971
65972 2005-08-02  Simon Josefsson  <jas@extundo.com>
65973
65974         * lib/getline.h, getline.c: Rewrite.
65975
65976         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
65977
65978 2005-07-31  Bruno Haible  <bruno@clisp.org>
65979
65980         * lib/lock.h (gl_lock_initializer): New macro.
65981         (gl_lock_define_initialized): Use it.
65982         (gl_rwlock_initializer): New macro.
65983         (gl_rwlock_define_initialized): Use it.
65984         (gl_recursive_lock_initializer): New macro.
65985         (gl_recursive_lock_define_initialized): Use it.
65986
65987 2005-07-30  Karl Berry  <karl@gnu.org>
65988
65989         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
65990         Report from Ben Pfaff, regarding getopt.
65991
65992 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
65993
65994         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
65995         normal way.
65996         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
65997         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
65998         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
65999         (gl_GETOPT): Use the new macros.  Most of the implementation
66000         is moved to the new macros.  This is for programs like Emacs
66001         that don't want all the functionality of gl_GETOPT.
66002
66003 2005-07-26  Bruno Haible  <bruno@clisp.org>
66004
66005         * m4/lock.m4: Update from GNU gettext.
66006
66007 2005-07-26  Bruno Haible  <bruno@clisp.org>
66008
66009         * lib/lock.h: Update from GNU gettext.
66010         * lib/lock.c: Update from GNU gettext.
66011
66012 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
66013
66014         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
66015         obsolescent AC_TRY_RUN.  Include the default includes files, for
66016         'exit'.
66017
66018 2005-07-24  Bruno Haible  <bruno@clisp.org>
66019
66020         * modules/visibility: New file.
66021         * MODULES.html.sh (Misc): Add visibility.
66022
66023 2005-07-24  Bruno Haible  <bruno@clisp.org>
66024
66025         * m4/visibility.m4: New file.
66026
66027 2005-07-24  Bruno Haible  <bruno@clisp.org>
66028
66029         * doc/visibility.texi: New file.
66030
66031 2005-07-22  Bruno Haible  <bruno@clisp.org>
66032
66033         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
66034         $(ALLOCA_H), redundant through BUILT_SOURCES.
66035         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
66036         redundant through BUILT_SOURCES.
66037         * modules/byteswap (Makefile.am): Remove explicit dependency on
66038         $(BYTESWAP_H), redundant through BUILT_SOURCES.
66039         * modules/fnmatch (Makefile.am): Remove explicit dependency on
66040         $(FNMATCH_H), redundant through BUILT_SOURCES.
66041         * modules/getopt (Makefile.am): Remove explicit dependency on
66042         $(GETOPT_H), redundant through BUILT_SOURCES.
66043         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
66044         redundant through BUILT_SOURCES.
66045         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
66046         redundant through BUILT_SOURCES.
66047         * modules/stdbool (Makefile.am): Remove explicit dependency on
66048         $(STDBOOL_H), redundant through BUILT_SOURCES.
66049         * modules/stdint (Makefile.am): Remove explicit dependency on
66050         $(STDINT_H), redundant through BUILT_SOURCES.
66051         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
66052         Remove explicit dependency on $(SYSEXITS_H).
66053         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
66054
66055 2005-07-18  Simon Josefsson  <jas@extundo.com>
66056
66057         * lib/check-version.c (check_version): Accept identical versions too.
66058
66059 2005-07-18  Bruno Haible  <bruno@clisp.org>
66060
66061         * modules/lock: New file.
66062         * MODULES.html.sh (Multithreading): New section.
66063
66064 2005-07-18  Bruno Haible  <bruno@clisp.org>
66065
66066         * m4/lock.m4: New file, from GNU gettext.
66067
66068 2005-07-18  Bruno Haible  <bruno@clisp.org>
66069
66070         * lib/lock.h: New file, from GNU gettext.
66071         * lib/lock.c: New file, from GNU gettext.
66072
66073 2005-07-18  Bruno Haible  <bruno@clisp.org>
66074
66075         * lib/lock.h (gl_once_t): New type.
66076         (gl_once_define, gl_once): New macros.
66077         * lib/lock.c (fresh_once): New variable.
66078         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
66079         functions.
66080
66081 2005-07-16  Simon Josefsson  <jas@extundo.com>
66082
66083         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
66084         workaround, suggested by Bruno.
66085
66086 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
66087
66088         * modules/xalloc (Depends-on): Add xalloc-die.
66089         * modules/xvasprintf (Depends-on): Add xalloc-die.
66090
66091 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
66092
66093         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
66094         with a minor change.
66095
66096 2005-07-15  Bruno Haible  <bruno@clisp.org>
66097
66098         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
66099         When using lib/poll.c, define poll as rpl_poll.
66100
66101 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
66102
66103         * modules/argp (Depends-on): Remove unlocked-io.
66104
66105 2005-07-14  Derek Price  <derek@ximbiot.com>
66106
66107         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
66108         for glob symlink bug.
66109
66110 2005-07-14  Bruno Haible  <bruno@clisp.org>
66111
66112         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
66113         Instead, test for *_unlocked function declarations directly.
66114
66115 2005-07-11  Simon Josefsson  <jas@extundo.com>
66116
66117         * modules/size_max: New file.
66118
66119         * modules/xsize: Depend on size_max module for size_max.m4.
66120
66121 2005-07-11  Simon Josefsson  <jas@extundo.com>
66122
66123         * lib/size_max.h: New file.
66124
66125 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
66126
66127         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
66128         copyright symbol and the year.
66129         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
66130         (version_etc_va): Use parameterized copyright notice.
66131         Reword to conform to the current GNU coding standards.
66132
66133 2005-07-11  Karl Berry  <karl@gnu.org>
66134
66135         * doc/gnulib.texi (Quoting): new node.
66136         (Initial import): more info, from Patrice.
66137
66138 2005-07-11  Bruno Haible  <bruno@clisp.org>
66139
66140         * gnulib-tool (func_usage): Document option --avoid.
66141         (Command line options): Handle --avoid.
66142         (func_acceptable): New function.
66143         (func_modules_transitive_closure): Use it.
66144
66145 2005-07-11  Bruno Haible  <bruno@clisp.org>
66146
66147         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
66148         Reported by Jim Meyering.
66149
66150 2005-07-10  Bruno Haible  <bruno@clisp.org>
66151
66152         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
66153         Needed when size_t is smaller than 'unsigned int'.
66154         Reported by Paul Eggert.
66155
66156 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66157
66158         * modules/argp (Depends-on): Add unlocked-io
66159
66160 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66161
66162         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
66163         block of defines.
66164
66165 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66166
66167         * config/srclist.txt: Comment out regcomp.c, since we have a porting
66168         fix now.
66169
66170 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
66171         and Paul Eggert  <eggert@cs.ucla.edu>
66172
66173         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
66174         in wint_t, not wchar_t.  Remove now-unnecessary cast.
66175
66176 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66177
66178         * modules/regex (Files): Add lib/regex_internal.c,
66179         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
66180         (Depends-on): Add extensions.
66181         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
66182
66183 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66184
66185         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
66186         pathconf.
66187         * m4/same.m4 (gl_SAME): Likewise.
66188         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
66189
66190         * m4/regex.m4: Adjust to new libc regex implementation.
66191         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
66192         all the .c and .h parts of (the new) regex.
66193         Quote the m4 stuff better.
66194         Check for RE_ICASE bug of old gnulib.
66195         Check for REG_STARTEND of recent libc.
66196         Rename local variables from jm_* to gl_*.
66197         Quote operand of "test -f".
66198         Say "recent enough" version of libc, not "version 2".
66199         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
66200         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
66201         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
66202         Remove check for btowc, isascii.
66203         Require AM_LANGINFO_CODESET.
66204
66205 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66206
66207         * lib/regex.c, regex.h: Sync from libc.
66208         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
66209         * lib/regexec.c:
66210         New files, synced from libc, except that regex_internal.h
66211         currently has a small porting fix.
66212
66213 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66214
66215         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
66216         regex_internal.c, regexec.c.
66217         Add regex_internal.h too, but as a comment, since the libc version
66218         is currently broken in gnulib mode.
66219
66220 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66221
66222         Support programs like Emacs that use gnulib but not gettext.
66223         * MODULES.html.sh (Internationalization functions): Add gettext-h.
66224         * modules/gettext-h: New file.
66225         * modules/gettext (Files): Remove lib/gettext.h.
66226         (Depends-on): Add gettext-h.
66227         (Makefile.am): Remove lib_SOURCES.
66228         * modules/argmatch, modules/c-stack, modules/closeout:
66229         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
66230         * modules/execute, modules/file-type, modules/getaddrinfo:
66231         * modules/getopt, modules/human, modules/javacomp:
66232         * modules/javaexec, modules/mkdir-p, modules/obstack:
66233         * modules/openat, modules/pagealign_alloc, modules/pipe:
66234         * modules/quotearg, modules/regex, modules/rpmatch:
66235         * modules/unicodeio, modules/userspec, modules/version-etc:
66236         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
66237         * modules/xsetenv:
66238         Depend on gettext-h, not gettext.
66239
66240 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66241
66242         * gnulib-tool (func_import): Add support for 'public domain' license.
66243         * modules/alloca, modules/atexit, modules/memmove:
66244         Now public domain, not GPL.
66245         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
66246         * modules/realloc, modules/strerror, modules/strtod:
66247         Now LGPL, not GPL.
66248
66249 2005-07-05  Bruno Haible  <bruno@clisp.org>
66250
66251         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
66252         autoconf CVS. Needed for mingw.
66253
66254 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66255
66256         Remove the dependency of the strftime module on the tzset module.
66257         * modules/strftime (Depends-on): Remove dependency on tzset.
66258
66259 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66260
66261         Remove the dependency of the strftime module on the tzset module.
66262         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
66263         gl_FUNC_TZSET_CLOBBER.
66264
66265 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66266
66267         Remove the dependency of the strftime module on the tzset module.
66268         * lib/strftime.c (my_strftime)
66269         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
66270         Copy the input structure, to work around some of the bug with
66271         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
66272         Solaris releases, you should also use the tzset module, but we won't
66273         require it as a dependency any more since we don't want LGPLed code
66274         to depend on GPLed code.
66275
66276 2005-07-02  Jim Meyering  <jim@meyering.net>
66277
66278         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
66279         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
66280         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
66281         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
66282
66283 2005-07-02  Jim Meyering  <jim@meyering.net>
66284
66285         * lib/backupfile.c (backup_args): Change a `0' to NULL.
66286
66287 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66288
66289         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
66290         declares only 'struct timespec;' (!).
66291
66292 2005-07-01  Jim Meyering  <jim@meyering.net>
66293
66294         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
66295         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
66296         * lib/save-cwd.c, tempname.c:
66297         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
66298         and don't include <sys/file.h>).
66299
66300 2005-06-29  Jim Meyering  <jim@meyering.net>
66301
66302         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
66303         type name.  Use the variable name instead.
66304         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
66305         Likewise.
66306
66307 2005-06-28  Simon Josefsson  <jas@extundo.com>
66308
66309         * modules/check-version (Files): Add check-version.m4.
66310
66311 2005-06-28  Simon Josefsson  <jas@extundo.com>
66312
66313         * m4/check-version.m4: New file, suggested by Jim Meyering
66314         <jim@meyering.net>.
66315
66316 2005-06-28  Simon Josefsson  <jas@extundo.com>
66317
66318         * lib/check-version.h, lib/check-version.c: New files.
66319
66320 2005-06-28  Simon Josefsson  <jas@extundo.com>
66321
66322         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
66323         collision with global variable.  Better indentation.  Don't
66324         increment buffer pointer beyond buffer end.  Based on comments
66325         from Paul Eggert <eggert@cs.ucla.edu>.
66326
66327         * lib/base64.h: Indent.
66328
66329 2005-06-28  Simon Josefsson  <jas@extundo.com>
66330
66331         * doc/gnulib.texi (Library version handling): New section.
66332
66333 2005-06-28  Jim Meyering  <jim@meyering.net>
66334
66335         * check-module (find_included_lib_files): Hard-code another
66336         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
66337         but modules/fts-lgpl (correctly) does not list those files.
66338
66339         * modules/canonicalize (Files): Add lib/pathmax.h.
66340
66341 2005-06-25  Simon Josefsson  <jas@extundo.com>
66342
66343         * modules/check-version: New file.
66344
66345 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
66346
66347         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
66348         initializer of struct addrinfo, as an indication that we don't
66349         care how many members the structure has.
66350
66351 2005-06-24  Derek Price  <derek@ximbiot.com>
66352         and Bruno Haible  <bruno@clisp.org>
66353
66354         Remove stat module & update lstat.
66355         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
66356         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66357         * m4/stat.m4: Remove this file.
66358
66359 2005-06-24  Derek Price  <derek@ximbiot.com>
66360         and Bruno Haible  <bruno@clisp.org>
66361
66362         Remove stat module & update lstat.
66363         * lib/stat.c: Remove this file...
66364         (slash_aware_lstat): ...moving this content and its support...
66365         * lib/lstat.c (rpl_lstat): ...into here.
66366         * lib/lstat.h: New file.
66367
66368 2005-06-24  Derek Price  <derek@ximbiot.com>
66369         and Bruno Haible  <bruno@clisp.org>
66370
66371         Remove stat module & update lstat.
66372         * config/srclist.txt (libc sources): Remove stat.
66373
66374 2005-06-24  Derek Price  <derek@ximbiot.com>
66375         and Bruno Haible  <bruno@clisp.org>
66376
66377         Remove stat module & update lstat.
66378         * MODULES.html.sh (stat): Remove.
66379         * MODULES.html: Regenerated.
66380         * modules/lstat (Description): Correct function name.
66381         (Files): Add "lstat.h".
66382         (Depends-on): Remove stat, add xalloc, stat-macros.
66383         * modules/stat: Remove this file.
66384         (Include): Add "lstat.h", remove <sys/stat.h>.
66385
66386 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66387
66388         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
66389         (ranged_convert): Don't save conversion in a temporary struct.
66390         This causes a warning with GCC 4.0.0, and anyway in the typical
66391         case it's not worth the extra 100 bytes or so of code.
66392         (ranged_convert, __mktime_internal): When calling a function via a
66393         pointer P, use P () rather than (*P) (), as we now assume C89 or
66394         better.
66395
66396 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66397
66398         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
66399         "who -r" failed to give output.  Problem reported by Tim Waugh.
66400
66401         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
66402         (xcalloc): Use it to avoid needless tests.
66403         Problem reported by Jim Meyering.
66404
66405 2005-06-20  Derek Price  <derek@ximbiot.com>
66406
66407         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
66408         unnecessary for Autoconfs > 2.59c.
66409
66410 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66411
66412         * lib/argp.h (__option_is_short): Check upper limit of
66413         __key. Isprint() requires its argument to have the value
66414         of an unsigned char or EOF.
66415
66416 2005-06-16  Jim Meyering  <jim@meyering.net>
66417
66418         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
66419         when either N or S is zero.
66420
66421 2005-06-16  Derek Price  <derek@ximbiot.com>
66422
66423         * m4/bison.m4: Declare YACC & YFLAGS precious.
66424
66425 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
66426
66427         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
66428         multibyte string or pattern, fall back on unibyte matching.
66429         Problem reported by James Youngman.
66430
66431 2005-06-08  Bruno Haible  <bruno@clisp.org>
66432
66433         * modules/csharpcomp: New file.
66434         * MODULES.html.sh (C#): Add csharpcomp.
66435
66436 2005-06-08  Bruno Haible  <bruno@clisp.org>
66437
66438         * m4/csharpcomp.m4: New file, from GNU gettext.
66439
66440 2005-06-08  Bruno Haible  <bruno@clisp.org>
66441
66442         * lib/csharpcomp.h: New file, from GNU gettext.
66443         * lib/csharpcomp.c: New file, from GNU gettext.
66444         * lib/csharpcomp.sh.in: New file, from GNU gettext.
66445
66446 2005-06-08  Bruno Haible  <bruno@clisp.org>
66447
66448         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
66449         warning on mingw.
66450
66451 2005-06-07  Derek Price  <derek@ximbiot.com>
66452
66453         Sync from CVS.
66454         * lib/glob_.h: Indent nested #ifdef.
66455
66456 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66457
66458         Sync from coreutils.
66459         Use "file name" when talking about file names, instead of "filename"
66460         or "path", as per the GNU coding standards.
66461         * lib/mkdir-p.c: Renamed from makepath.c.
66462         (make_dir_parents): Renamed from make_path.  All callers changed.
66463         * lib/mkdir-p.h: Likewise.  All includers changed.
66464         * lib/filenamecat.c: Renamed from path-concat.c.
66465         (file_name_concat): Renamed from path_concat.  All callers changed.
66466         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
66467         * lib/filenamecat.h: Likewise.  All includers changed.
66468         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
66469         in comments or local variable names.
66470         * lib/basename.c: Likewise.
66471         * lib/canonicalize.c, canonicalize.h: Likewise.
66472         * lib/dirname.c, dirname.h: Likewise.
66473         * lib/euidaccess.c: Likewise.
66474         * lib/exclude.c: Likewise
66475         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
66476         * lib/fsusage.c, fsuage.h: Likewise.
66477         * lib/fts.c, fts_.h: Likewise.
66478         * lib/getcwd.c: Likewise.
66479         * lib/getloadavg.c: Likewise.
66480         * lib/mkstemp.c: Likewise.
66481         * lib/mountlist.c, mountlist.h: Likewise.
66482         * lib/openat.c, openat.h: Likewise.
66483         * lib/readlink-stub.c: Likewise.
66484         * lib/readutmp.c, readutmp.h: Likewise.
66485         * lib/rename.c: Likewise.
66486         * lib/rmdir.c: Likewise.
66487         * lib/same.c: Likewise.
66488         * lib/savedir.c: Likewise.
66489         * lib/stripslash.c: Likewise.
66490         * lib/tempname.c: Likewise.
66491         * lib/xreadlink.c: Likewise.
66492         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
66493         All uses changed.
66494         * lib/exclude.h: Likewise.
66495
66496         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
66497         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66498         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
66499         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66500         * lib/pathmax.h: Include <limits.h> unconditionally, since other
66501         files have been getting away with it for years (MORE/BSD 4.3
66502         is extinct now).
66503         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
66504         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66505
66506         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
66507         Define to 256, not 255, as per modern POSIX.
66508
66509 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66510
66511         Sync from coreutils.
66512         Use "file name" when talking about file names, instead of "filename"
66513         or "path", as per the GNU coding standards.
66514         * MODULES.html.sh: mkdir-p renamed from makepath.
66515         filenamecat renamed from path-concat.
66516         * modules/filenamecat: Renamed from modules/path-concat.
66517         (Files): filenamecat.h and filenamecat.c renamed from
66518         path-concat.h and path-concat.c.
66519         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
66520         (Include): filenamecat.h, not path-concat.h.
66521         * modules/mkdir-p: Renamed from modules/makepath.
66522         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
66523         makepath.c.
66524         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
66525         (Include): mkdir-p.h, not makepath.h.
66526
66527 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66528
66529         Sync from coreutils.
66530         * m4/mkdir-p.m4: Renamed from makepath.m4.
66531         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
66532         Rename files from makepath.c to mkdir-p.c, and from
66533         makepath.h to mkdir-p.h.
66534         * m4/filenamecat.m4: Renamed from path-concat.m4.
66535         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
66536         Rename files from path-concat.c to filenamecat.c,
66537         and from path-concat.h to filenamecat.h.
66538         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
66539         "file name" in local variables or comments.
66540         * m4/rename.m4: Likewise.
66541
66542 2005-06-01  Bruno Haible  <bruno@clisp.org>
66543
66544         * modules/csharpexec: New file.
66545         * MODULES.html.sh (C#): New section.
66546
66547 2005-06-01  Bruno Haible  <bruno@clisp.org>
66548
66549         * m4/csharp.m4: New file, from GNU gettext.
66550         * m4/csharpexec.m4: New file, from GNU gettext.
66551
66552 2005-06-01  Bruno Haible  <bruno@clisp.org>
66553
66554         * lib/csharpexec.h: New file, from GNU gettext.
66555         * lib/csharpexec.c: New file, from GNU gettext.
66556         * lib/csharpexec.sh.in: New file, from GNU gettext.
66557
66558 2005-05-31  Derek Price  <derek@ximbiot.com>
66559             Paul Eggert  <eggert@cs.ucla.edu>
66560
66561         Sync from cvs.
66562         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66563
66564 2005-05-31  Derek Price  <derek@ximbiot.com>
66565             Paul Eggert  <eggert@cs.ucla.edu>
66566
66567         Sync from cvs.
66568         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66569
66570 2005-05-29  Derek Price  <derek@ximbiot.com>
66571
66572         * config/srclist.txt (glob_.h, glob.c): Add these files.
66573
66574 2005-05-29  Derek Price  <derek@ximbiot.com>
66575
66576         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
66577         * modules/glob: New file.
66578         * modules/getlogin_r: Add link to POSIX spec in description.
66579
66580 2005-05-29  Derek Price  <derek@ximbiot.com>
66581             Paul Eggert  <eggert@cs.ucla.edu>
66582
66583         * m4/glob.m4: New file.
66584
66585 2005-05-29  Derek Price  <derek@ximbiot.com>
66586             Paul Eggert  <eggert@cs.ucla.edu>
66587
66588         * lib/glob_.h, lib/glob.c: New files.
66589
66590 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66591
66592         * modules/fts (Files): Remove m4/inttypes-pri.m4.
66593         * modules/fts-lgpl (Depends-on): Remove gettext.
66594
66595 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66596
66597         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
66598         and don't require gt_INTTYPES_PRI.
66599
66600 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66601
66602         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
66603
66604         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
66605         the configuration hassle isn't worth it.
66606         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
66607         (LONGEST_MODIFIER, PRIuMAX): Remove.
66608
66609 2005-05-27  Bruno Haible  <bruno@clisp.org>
66610
66611         * lib/getlogin_r.h: Remove second include of <stddef.h>.
66612
66613 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
66614
66615         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
66616         _POSIX_PTHREAD_SEMANTICS for Solaris.
66617
66618 2005-05-25  Derek Price  <derek@ximbiot.com>
66619
66620         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
66621
66622 2005-05-25  Derek Price  <derek@ximbiot.com>
66623             Paul Eggert  <eggert@cs.ucla.edu>
66624
66625         * modules/getlogin_r, m4/getlogin_r.m4: New files.
66626         * lib/getlogin_r.c, getlogin_r.h: New files.
66627
66628 2005-05-25  Bruno Haible  <bruno@clisp.org>
66629             Derek Price  <derek@ximbiot.com>
66630
66631         * lib/getlogin_r.h: Simplify API documentation.
66632
66633 2005-05-23  Derek Price  <derek@ximbiot.com>
66634
66635         * modules/minmax (Files): Add m4/minmax.m4.
66636         (configure.ac): Add gl_MINMAX.
66637
66638 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
66639
66640         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
66641         so that unistd-safer.h (GPL'ed code) need not be included.
66642
66643 2005-05-22  Bruno Haible  <bruno@clisp.org>
66644
66645         * m4/minmax.m4: New file.
66646         Based on a patch by Derek Price <derek@ximbiot.com>.
66647
66648 2005-05-22  Bruno Haible  <bruno@clisp.org>
66649
66650         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
66651         (INT64_MIN): Fix definition.
66652         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
66653
66654         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
66655         NEED_SIGNED_INT_TYPES.
66656
66657         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
66658         HAVE_SYSTEM_INTTYPES.
66659
66660 2005-05-22  Bruno Haible  <bruno@clisp.org>
66661
66662         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
66663         Also include <sys/param.h> if it defines MIN, MAX.
66664         Based on a patch by Derek Price <derek@ximbiot.com>.
66665
66666 2005-05-21  Jim Meyering  <jim@meyering.net>
66667
66668         * modules/fts (Files): Add m4/inttypes-pri.m4.
66669         (Depends-on): Add lstat and remove gettext.  Alphabetize.
66670
66671 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66672
66673         New fts module.
66674         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
66675         (setup_dir, free_dir): New functions.
66676         (enter_dir, leave_dir): Define trivial
66677         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
66678         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
66679         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
66680         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
66681         Move to fts-cycle.c.
66682         (fts_open): Use setup_dir.
66683         (fts_close): Use free_dir.
66684         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
66685         This adds a label and some gotos, but the alternatives were messier.
66686         Check for memory allocation failure when entering a dir.
66687         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
66688         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
66689         (FTS): New member fts_cycle, that is a union that contains the
66690         old active_dir_ht and cycle_state.  All uses changed to mention
66691         fts_cycle.ht and fts_cycle.state.
66692         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
66693         fts.c, with the following changes:
66694         (setup_dir, free_dir): New functions.
66695         (enter_dir): Now returns bool.  Return true if successful, false
66696         if memory exhausted.  All callers changed.
66697         Do not bother partly cleaning up on
66698         memory allocation failure; that is free_dir's job.
66699         However, free ad if hash_insert fails, to avoid memory leak.
66700         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
66701         fts->fts_options to see which union member to use.
66702
66703 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66704
66705         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
66706         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
66707
66708 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66709
66710         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
66711
66712 2005-05-20  Jim Meyering  <jim@meyering.net>
66713
66714         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
66715         Now a macro, to pacify GCC.
66716
66717 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66718
66719         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
66720         of -1.
66721
66722 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66723
66724         * lib/chown.c (rpl_chown): Return -1 on failure.
66725
66726 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66727
66728         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
66729         Don't check for stddef.h.
66730         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
66731         don't use its results.
66732         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
66733         since we include them unconditionally.  Don't require
66734         AM_STDBOOL_H, since stdbool is a prerequisite.
66735         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
66736         since we assume C89 or better.
66737         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
66738         as we don't use their results.
66739         Don't check for fchdir, memmove, memset, strrchr, as we use
66740         them unconditionally.
66741         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
66742         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
66743
66744 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66745
66746         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
66747         Include <stddef.h> unconditionally, since we assume C89 now.
66748         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
66749         * lib/fts.c: Include fts_.h first, to check interface.
66750         Do not include intprops.h; no longer needed.
66751         Include cycle-check.h and hash.h, since fts_.h no longer does.
66752         Remove unnecessary casts of closedir to void.
66753         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
66754         decide whether to decrement nlinks.
66755         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
66756         (FTS): Use struct hash_table * instead of Hash_table, so that
66757         we no longer need to include hash.h here.
66758
66759 2005-05-18  Jim Meyering  <jim@meyering.net>
66760
66761         * modules/dirfd (License): Change to LGPL.  Most of the code
66762         is already in the public domain.
66763
66764 2005-05-18  Jim Meyering  <jim@meyering.net>
66765
66766         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
66767         Reported by Yoann Vandoorselaere.
66768
66769 2005-05-17  Jim Meyering  <jim@meyering.net>
66770
66771         * m4/fts.m4: New file, from coreutils.
66772
66773 2005-05-17  Jim Meyering  <jim@meyering.net>
66774
66775         * lib/fts.c, lib/fts_.h: New files, from coreutils.
66776
66777 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66778
66779         Sync from coreutils.
66780         * m4/unlinkdir.m4: New file.
66781
66782 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66783
66784         Sync from coreutils.
66785         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
66786         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
66787         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
66788         White space changes only.
66789         * lib/makepath.c (make_path): Port to hosts where leading "//" is
66790         special.
66791         * lib/yesno.c: Include getline.h, not ctype.h.
66792         (yesno): Don't remove leading white space; POSIX doesn't allow it.
66793         Use getline to remove arbitrary restriction on response length.
66794
66795 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66796
66797         * config/srclist-update: Spell out "Street" in FSF postal
66798         mail address; this is the style the FSF seems to prefer.
66799
66800         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
66801         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
66802         this updates FSF postal mail address.
66803
66804         Sync from coreutils.
66805         * modules/unlinkdir: New file.
66806         * modules/yesno (Depends-on): Add getline.
66807         * MODULES.html.sh (File system functions): Add unlinkdir.
66808
66809 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66810
66811         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
66812         lib/strsep.h:
66813         Change the initial comment to refer to GPL, not LGPL.
66814         gnulib-tool will change it to LGPL as needed.
66815
66816         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
66817         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
66818         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
66819         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
66820         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
66821         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
66822         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
66823         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
66824         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
66825         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
66826         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
66827         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
66828         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
66829         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
66830         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
66831         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
66832         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
66833         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
66834         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
66835         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
66836         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
66837         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
66838         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
66839         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
66840         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
66841         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
66842         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
66843         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
66844         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
66845         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
66846         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
66847         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
66848         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
66849         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
66850         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
66851         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
66852         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
66853         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
66854         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
66855         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
66856         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
66857         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
66858         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
66859         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
66860         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
66861         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
66862         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
66863         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
66864         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
66865         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
66866         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
66867         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
66868         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
66869         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
66870         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
66871         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
66872         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
66873         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
66874         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
66875         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
66876         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
66877         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
66878         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
66879         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
66880         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
66881         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
66882         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
66883         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
66884         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
66885         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
66886         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
66887         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
66888         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
66889         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
66890         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
66891         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
66892         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
66893         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
66894         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
66895         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
66896         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
66897         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
66898         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
66899         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
66900         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
66901         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
66902         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
66903         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
66904         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
66905         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
66906         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
66907         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
66908         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
66909         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
66910         lib/yesno.c, lib/yesno.h:
66911         Update FSF postal mail address.
66912
66913 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66914
66915         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
66916         tests/test-memmem.c, tests/test-stpncpy.c:
66917         Update FSF postal mail address.
66918
66919 2005-05-13  Bruno Haible  <bruno@clisp.org>
66920
66921         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
66922         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
66923         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
66924         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
66925         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
66926         Add support for 64-bit integers in the MSVC compiler.
66927
66928 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66929
66930         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
66931
66932 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
66933
66934         * gnulib-tool (func_import): Sort and uniquify recommended includes.
66935
66936 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
66937
66938         * doc/getdate.texi (General date syntax): Don't say that date
66939         date --iso-8601=ns generates acceptable dates; it doesn't yet.
66940         Problem reported by Nic Ferrier.
66941
66942 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66943
66944         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
66945         specified in ai_socktype. Fix invalid ai_protocol
66946         check. ai_protocol is usually set to 0 or depending on
66947         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
66948         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
66949         ai_socktype / ai_protocol in the returned addrinfo structure.
66950
66951 2005-05-10  Simon Josefsson  <jas@extundo.com>
66952
66953         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
66954         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66955
66956 2005-05-10  Karl Berry  <karl@gnu.org>
66957
66958         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
66959         (from http://www.gnu.org/licenses).
66960         * doc/COPYING.LIB: also rename to COPYING.LESSER.
66961         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
66962         fdl.texi suffices.
66963
66964 2005-05-10  Karl Berry  <karl@gnu.org>
66965
66966         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
66967         (COPYING.DOC): remove.
66968
66969         * config/srclist-update: new FSF address.
66970
66971 2005-05-10  Derek Price  <derek@ximbiot.com>
66972
66973         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
66974         possible.
66975
66976 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66977             Bruno Haible  <bruno@clisp.org>
66978
66979         * modules/inet_ntop: New file.
66980         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66981         inet_ntop.
66982
66983 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66984             Bruno Haible  <bruno@clisp.org>
66985
66986         * m4/inet_ntop.m4: New file.
66987
66988 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66989             Bruno Haible  <bruno@clisp.org>
66990
66991         * lib/inet_ntop.h: New file.
66992         * lib/inet_ntop.c: New file, from glibc with modifications.
66993
66994 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
66995
66996         * modules/time_r (License): Change to LGPL.
66997         * modules/extensions (License): Change to LGPL.  Actually,
66998         the license is more permissive than that, but currently gnulib-tool
66999         doesn't know how to handle more-permissive licenses.
67000
67001         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
67002         Problem reported by Dave Love.
67003
67004 2005-05-08  Jim Meyering  <jim@meyering.net>
67005
67006         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
67007         blank.
67008
67009 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
67010
67011         * modules/argmatch (Depends-on): Add stdbool.
67012         * modules/backupfile (Depends-on): Likewise.
67013         * modules/chdir-long (Depends-on): Likewise.
67014         * modules/closeout (Depends-on): Likewise.
67015         * modules/cycle-check (Depends-on): Likewise.
67016         * modules/dirname (Depends-on): Likewise.
67017         * modules/fnmatch (Depends-on): Likewise.
67018         * modules/fsusage (Depends-on): Likewise.
67019         * modules/fwriteerror (Depends-on): Likewise.
67020         * modules/getcwd (Depends-on): Likewise.
67021         * modules/getloadavg (Depends-on): Likewise.
67022         * modules/hard-locale (Depends-on): Likewise.
67023         * modules/makepath (Depends-on): Likewise.
67024         * modules/mountlist (Depends-on): Likewise.
67025         * modules/nanosleep (Depends-on): Likewise.
67026         * modules/posixtm (Depends-on): Likewise.
67027         * modules/quotearg (Depends-on): Likewise.
67028         * modules/readtokens (Depends-on): Likewise.
67029         * modules/readtokens0 (Depends-on): Likewise.
67030         * modules/readutmp (Depends-on): Likewise.
67031         * modules/save-cwd (Depends-on): Likewise.
67032         * modules/strftime (Depends-on): Likewise.
67033         * modules/userspec (Depends-on): Likewise.
67034         * modules/utimecmp (Depends-on): Likewise.
67035         * modules/xgetcwd (Depends-on): Likewise.
67036         * modules/xnanosleep (Depends-on): Likewise.
67037         * modules/xstrtod (Depends-on): Likewise.
67038         * modules/yesno (Depends-on): Likewise.
67039
67040 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
67041
67042         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
67043         needless checks.
67044
67045 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67046
67047         Merge from coreutils.  Among other things,
67048         add bulletproofing for cases where stdin, stdout, or stderr are closed.
67049         * lib/fd-safer.c: New file.
67050         * lib/fcntl-safer.h, open-safer.c: Remove.
67051         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
67052         * lib/dup-safer.c: Include unistd-safer.h first.
67053         Don't include errno.h.
67054         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
67055         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
67056         * lib/file-type.c: Rely on file-type.h change.
67057         * lib/getloadavg.c: Include unistd-safer.h.
67058         (getloadavg): Use safer open.
67059         * lib/getusershell.c: Include "stdio-safer.h".
67060         (getusershell): Use safer fopen.
67061         * lib/long-options.c (long_options): Use NULL rather than 0.
67062         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
67063         'free'.
67064         * lib/modechange.c: Likewise.
67065         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
67066         (MODE_DONE): New constant.
67067         (struct mode_change): Remove 'next' member.
67068         (make_node_op_equals): New function; like the old one of the
67069         same name, except it allocates an array.
67070         (mode_compile, mode_create_from_ref): Use it.
67071         (mode_compile): Allocate result as an array, not a linked list.
67072         Parse octal string ourself, so that we catch mistakes like "+0".
67073         (mode_adjust): Arg is an array, not a linked list.
67074         * lib/modechange.c: Include stat-macros.h, xalloc.h.
67075         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
67076         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
67077         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
67078         Remove.  This is now stat-macros.h's job.
67079         (talloc): Remove.  All callers replaced by xalloc, so that
67080         our invokers don't have to worry about reporting memory failures.
67081         (make_node_op_equals): Remove.
67082         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
67083         New constants.
67084         (struct mode_change): Moved here from modechange.h.
67085         (mode_append_entry): Remove.
67086         (mode_compile): Remove MASKED_OPS arg, since it encouraged
67087         apps to have incorrect behavior.  Use simpler algorithm for head
67088         and tail.  Don't futz with umask; that's now the job of mode_adjust.
67089         Detect more invalid usages rather than having somewhat-random behavior.
67090         Don't insert an "a=" action, as that leads to incorrect behavior.
67091         (mode_compile, mode_create_from_ref): Return NULL on error instead
67092         of an enum, since now there's only one way to have an error.  All
67093         callers changed.
67094         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
67095         at the correct time.  Simplify calculation of "+u" and its ilk.
67096         Don't mishandle "+X".
67097         (mode_free): Remove "register" and localize decls.
67098         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
67099         (struct mode_change): Move to modechange.c; callers don't
67100         need to see this stuff.
67101         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
67102         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
67103         (mode_change, mode_adjust): Reflect the new signatures noted above.
67104         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
67105         that might redefine system include files.
67106         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
67107         (my_usleep): Use NULL rather than (void *) 0.
67108         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
67109         Use siginterrupt to specify that system calls should be interrupted.
67110         (rpl_nanosleep): Move initialization of suspended closer to call of
67111         my_usleep.
67112         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
67113         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
67114         (desirable_utmp_entry): New function.
67115         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
67116         using x2nrealloc, to simplify logic.
67117         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
67118         size calculation.  Do not assume utmp file is a regular file.
67119         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
67120         (READ_UTMP_CHECK_PIDS): New constant.
67121         * lib/save-cwd.c: Include unistd-safer.h.
67122         (save_cwd): Use fd_safer.
67123         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
67124         [!_LIBC] Include "stat-macros.h" instead.
67125         * lib/unistd-safer.h (fd_safer): New decl.
67126
67127 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67128
67129         * modules/getloadavg (Depends-on): Add unistd-safer.
67130         * modules/getusershell (Depends-on): Add stdio-safer.
67131         * modules/lstat (Depends-on): Remove xalloc.
67132         * modules/mkstemp (Depends-on): Add stat-macros.
67133         * modules/modechange (Depends-on): Remove xstrtol.
67134         Add stat-macros, xalloc.
67135         * modules/save-cwd (Depends-on): Add unistd-safer.
67136         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
67137         * modules/unistd-safer (Files): Add lib/fd-safer.c
67138         (Makefile.am): Remove lib_SOURCES.
67139
67140         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
67141         Remove fcntl-safer; unistd-safer supersedes it.
67142
67143 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67144
67145         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
67146         AC_HEADER_STAT.
67147         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
67148         (gl_PREREQ_CHOWN): Remove.
67149         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
67150         it.  Don't require AC_HEADER_STAT.
67151         (gl_PREREQ_LSTAT): Remove.
67152         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
67153         Don't require AC_HEADER_STAT.
67154         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
67155         (gl_PREREQ_RMDIR): Remove.
67156         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
67157         mention stat-macros.h or AC_HEADER_STAT, since we'll make
67158         the stat-macros module a prerequisite.
67159         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
67160         * m4/filemode.m4 (gl_FILEMODE): Likewise.
67161         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
67162         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
67163         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
67164         variable names.
67165         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
67166         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
67167         variable prefixes.
67168         * m4/fcntl-safer.m4: Remove.
67169         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
67170         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
67171         Invoke gl_PREREQ_FD_SAFER.
67172         (gl_PREREQ_FD_SAFER): New macro.
67173         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
67174         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
67175         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
67176         Remove duplicate call to AC_LIBOBJ(readutmp).
67177         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
67178
67179         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
67180         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
67181
67182 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67183
67184         * MODULES.html.sh (Misc): Add byteswap.
67185
67186 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67187
67188         * modules/getcwd (Depends-on): Add extensions.
67189         * modules/openat (Depends-on): Likewise.
67190
67191 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67192
67193         * modules/byteswap: New file.
67194
67195 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67196
67197         * m4/byteswap.m4: New file.
67198
67199 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67200
67201         * lib/byteswap_.h: New file.
67202
67203 2005-04-25  Karl Berry  <karl@gnu.org>
67204
67205         * m4/gettext.m4: Update from GNU gettext 0.14.4.
67206
67207 2005-04-25  Albert Chin  <china@thewrittenword.com>
67208
67209         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
67210         Toolkit C bug.
67211
67212 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
67213
67214         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
67215         (func_ln_if_changed) Remove forcibly for no error message
67216         in case file does not exist.
67217
67218 2005-04-19  Simon Josefsson  <jas@extundo.com>
67219
67220         * gnulib-tool (Options): Make --symlink mean --symbolic.
67221
67222 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
67223
67224         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
67225
67226 2005-04-16  Simon Josefsson  <jas@extundo.com>
67227
67228         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
67229
67230 2005-04-15  Simon Josefsson  <jas@extundo.com>
67231
67232         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
67233
67234 2005-04-15  Simon Josefsson  <jas@extundo.com>
67235
67236         * gnulib-tool: Rename --symlink to --symbolic.
67237
67238 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
67239
67240         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
67241         symbolic links to files instead of copying/moving.  Add --aux-dir,
67242         specifying directory relative --dir where auxiliary build tools
67243         are placed.
67244
67245 2005-04-14  Bruno Haible  <bruno@clisp.org>
67246
67247         * modules/allocsa (License): Change to LGPL.
67248         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
67249
67250 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67251
67252         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
67253         that "UTC +1 second" continues to work.  Problem reported
67254         by Dmitry V. Levin.
67255         (relunit_snumber): New rule.
67256         (relunit): Use it.
67257
67258 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
67259
67260         * lib/getdate.y (universal_time_zone_table): New constant.
67261         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
67262         universal_time_zone_table.
67263         (lookup_zone): Prefer universal_time_zone_table to
67264         local_time_zone_table, so that "GMT" time stamps are allowed in
67265         London during the summer.  Problem reported by Ian Abbott.
67266
67267 2005-04-12  Jim Meyering  <jim@meyering.net>
67268
67269         * lib/human.c (humblock): Set *options even when returning due to
67270         xstrtoumax conversion failure.  Thanks to a used-uninitialized
67271         warning from gcc-4.
67272
67273 2005-04-09  Jim Meyering  <jim@meyering.net>
67274
67275         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
67276         -Wuninitialized: initialize tm0.tm_year.
67277
67278 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67279
67280         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
67281         count, since there's no maximum.  All uses changed.
67282         Add member dsts_seen.
67283         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
67284         not being INT_MAX.
67285         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
67286         Use pc_rels_seen to decide whther a date is absolute.
67287
67288         * lib/getdate.y (number): Don't overwrite year.
67289         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
67290         check.
67291
67292 2005-04-02  Simon Josefsson  <jas@extundo.com>
67293
67294         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
67295         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
67296
67297 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
67298
67299         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
67300         where no absolute path name can be longer than PATH_MAX.
67301
67302 2005-03-27  Jim Meyering  <jim@meyering.net>
67303
67304         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
67305
67306 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
67307
67308         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
67309         "one's complement" -> "ones' complement" in comment, as per Knuth.
67310         "value of type" -> "type or expression" in comment.
67311         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
67312
67313 2005-03-26  Jim Meyering  <jim@meyering.net>
67314
67315         Comment nits.
67316         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
67317         Correct typos: s/or/of/.
67318
67319 2005-03-26  Jim Meyering  <jim@meyering.net>
67320
67321         * modules/check-include-files: Move to ../ and rename to...
67322         * check-module: ...this.
67323
67324 2005-03-25  Jim Meyering  <jim@meyering.net>
67325
67326         * modules/xvasprintf (Files): Add xalloc.h.
67327
67328 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67329
67330         * modules/gettext (Files): config/config.rpath ->
67331         build-aux/config.rpath
67332         * modules/iconv (Files): Likewise.
67333         Problem reported by Oskar Liljeblad.
67334
67335 2005-03-23  Jim Meyering  <jim@meyering.net>
67336
67337         * modules/check-include-files: New script to check for
67338         missing dependencies, multiple includes, etc.
67339
67340         * modules/c-strtold (Depends-on): Add xalloc.
67341         * modules/c-strtod (Depends-on): Add xalloc.
67342         * modules/hash (Depends-on): Add xalloc.
67343         (Files): Remove lib/xalloc.h.
67344
67345         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
67346         * modules/userspec (Files): Add lib/inttostr.h.
67347
67348 2005-03-23  Jim Meyering  <jim@meyering.net>
67349
67350         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
67351
67352 2005-03-22  Jim Meyering  <jim@meyering.net>
67353
67354         * modules/stat-macros: New module.
67355         * modules/canonicalize, modules/euidaccess, modules/file-type,
67356         * modules/filemode, modules/lchown, modules/makepath,
67357         * modules/rmdir, modules/stat: Depend on new stat-macros module
67358         rather than listing lib/stat-macros.h manually.
67359         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
67360
67361 2005-03-22  Jim Meyering  <jim@meyering.net>
67362
67363         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
67364
67365 2005-03-22  Bruno Haible  <bruno@clisp.org>
67366
67367         * config/srclist.txt: Replace target directory 'config' with
67368         'build-aux'.
67369         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
67370         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
67371         ../build-aux/.
67372
67373 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
67374
67375         * modules/chdir-long (Depends-on): Add mempcpy.
67376
67377         * modules/acl, modules/backupfile, modules/c-strtod,
67378         modules/c-strtold, modules/canon-host, modules/canonicalize,
67379         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
67380         modules/exclude, modules/exitfail, modules/file-type,
67381         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
67382         modules/getdate, modules/getline, modules/getpagesize,
67383         modules/getpass, modules/getugroups, modules/group-member,
67384         modules/hard-locale, modules/hash, modules/human, modules/idcache,
67385         modules/inttostr, modules/long-options, modules/makepath,
67386         modules/md5, modules/memcasecmp, modules/memcoll,
67387         modules/modechange, modules/mountlist, modules/path-concat,
67388         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
67389         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
67390         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
67391         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
67392         modules/strftime, modules/strndup, modules/strverscmp,
67393         modules/timespec, modules/unlocked-io, modules/userspec,
67394         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
67395         modules/yesno:
67396         Remove lib_SOURCES line from Makefile.am section, as this is now
67397         done automatically by the corresponding Autoconf macro.
67398
67399 2005-03-21  Jim Meyering  <jim@meyering.net>
67400
67401         Changes imported from coreutils.
67402
67403         * lib/cycle-check.c: Don't include xalloc.h.
67404
67405         * lib/path-concat.c: Don't include assert.h.
67406         (path_concat): Remove assertion that would have triggered
67407         for ABASE starting with more than one slash.
67408         Reported by Andreas Schwab.
67409
67410         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
67411         properly when ABASE is an absolute file name.
67412         Correct the description of this function.
67413         Include <assert.h>.
67414         Add an assertion and a test driver.
67415         This fixes a bug introduced on 2004-07-02.
67416         Andreas Schwab reported the resulting failure of cp --parents:
67417         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
67418
67419 2005-03-21  Jim Meyering  <jim@meyering.net>
67420
67421         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
67422         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
67423
67424 2005-03-21  Jim Meyering  <jim@meyering.net>
67425         and  Paul Eggert  <eggert@cs.ucla.edu>
67426
67427         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
67428         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
67429         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
67430         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
67431         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
67432         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
67433         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
67434         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
67435         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
67436         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
67437         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
67438         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
67439         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
67440         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
67441         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
67442         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
67443         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
67444         for these modules.
67445
67446 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
67447
67448         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
67449         (which shouldn't happen), generate nothing instead of returning 0
67450         immediately, so that nstrftime (NULL, ...) doesn't return 0.
67451
67452 2005-03-16  Bruno Haible  <bruno@clisp.org>
67453
67454         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
67455         HAVE_LONGLONG_64BIT.
67456
67457 2005-03-16  Bruno Haible  <bruno@clisp.org>
67458
67459         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
67460         HAVE_LONGLONG_64BIT.
67461
67462 2005-03-16  Bruno Haible  <bruno@clisp.org>
67463
67464         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
67465         HAVE_LONGLONG_64BIT.
67466
67467 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67468
67469         * lib/strftime.c (my_strftime): Prepend space to format so that we can
67470         reliably distinguish strftime failure from empty output on POSIX
67471         hosts.
67472
67473 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67474
67475         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
67476         (iconv_string): Don't guess a size-zero buffer, as that might cause
67477         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
67478         result would be 'too large', where 'too large' is (heuristically)
67479         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
67480         overflow concerns.  This will prevent some unwanted malloc failures
67481         when the inputs are very large.
67482
67483 2005-03-15  Karl Berry  <karl@gnu.org>
67484
67485         * config/srclist.txt (config.rpath): from gettext.
67486         * config/config.rpath: update.
67487
67488 2005-03-15  Bruno Haible  <bruno@clisp.org>
67489
67490         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
67491         to 'negate'.
67492
67493         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
67494         variable.
67495
67496         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
67497         results.
67498
67499 2005-03-14  Simon Josefsson  <jas@extundo.com>
67500
67501         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
67502         <fx@gnu.org>.
67503
67504 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
67505
67506         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
67507         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
67508         intprops.h.
67509         * lib/strtol.c: Likewise.
67510
67511 2005-03-14  Jim Meyering  <jim@meyering.net>
67512
67513         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
67514         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
67515         to be nonzero so that we (and caller) can detect the difference
67516         between a valid zero-length expansion and an error return, even
67517         when the underlying strftime fails before writing anything into
67518         that location.
67519
67520 2005-03-14  Bruno Haible  <bruno@clisp.org>
67521
67522         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
67523         Update from GNU gettext 0.14.3.
67524
67525 2005-03-10  Jim Meyering  <jim@meyering.net>
67526
67527         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
67528
67529 2005-03-10  Jim Meyering  <jim@meyering.net>
67530
67531         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
67532         so that this module works on systems without fchdir.
67533
67534 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
67535
67536         Factor int-properties macros into a single file, except for
67537         glibc-related files.
67538         * lib/intprops.h: New file.
67539         * lib/getloadavg.c: Include it instead of limits.h.
67540         (INT_STRLEN_BOUND): Remove.
67541         * lib/human.c: Include intprops.h.
67542         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
67543         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
67544         302/1000.
67545         * lib/inttostr.h: Include intprops.h instead of limits.h.
67546         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
67547         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
67548         for consistency with intprops.h.
67549         (time_t_is_integer, twos_complement_arithmetic): Use them.
67550         * lib/sig2str.h: Include <signal.h>, intprops.h.
67551         (INT_STRLEN_BOUND): Remove.
67552         * lib/strftime.c (TYPE_SIGNED): Remove.
67553         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
67554         * lib/strtol.c: Adjust comments to match intprops.h.
67555         * lib/userspec.c: Include intprops.h.
67556         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
67557         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
67558         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
67559         instead of rolling our own expressions.
67560         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
67561
67562         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
67563         instead of int.
67564         (my_strftime): Do not mishandle years close to INT_MAX, by doing
67565         the right thing even if adding 1900 would overflow.  Similarly
67566         for tm_mon + 1 and tm_yday + 1.
67567         Make %Y always equivalent to %C%y, and similarly for %G and %g.
67568         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
67569         (DO_SIGNED_NUMBER): New macro.
67570         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
67571
67572 2005-03-07  Bruno Haible  <bruno@clisp.org>
67573
67574         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
67575
67576 2005-03-07  Bruno Haible  <bruno@clisp.org>
67577
67578         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
67579
67580 2005-03-04  Derek R. Price  <derek@ximbiot.com>
67581
67582         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
67583         (func_import): Only replace files via --import when they have actually
67584         changed.
67585
67586 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67587
67588         * m4/mmap-anon.m4: New file.
67589         * m4/pagealign_alloc.m4: New file.
67590
67591 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67592             Bruno Haible  <bruno@clisp.org>
67593
67594         * modules/pagealign_alloc: New file.
67595         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
67596
67597 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67598             Bruno Haible  <bruno@clisp.org>
67599
67600         * lib/pagealign_alloc.h: New file.
67601         * lib/pagealign_alloc.c: New file.
67602
67603 2005-03-03  Bruno Haible  <bruno@clisp.org>
67604
67605         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
67606         Use an all-permissive copyright notice, recommended by RMS.
67607
67608 2005-03-02  Bruno Haible  <bruno@clisp.org>
67609
67610         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
67611         of AIX, the replacement has to be done only after <string.h> is
67612         included, therefore not in config.h. stpncpy.h does the replacement,
67613         and stpncpy.c uses it.
67614
67615 2005-03-02  Bruno Haible  <bruno@clisp.org>
67616
67617         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
67618         stpncpy.c uses it.
67619
67620 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67621
67622         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
67623         The workaround isn't strictly needed for POSIX conformance, and
67624         it's too much of a pain to configure and maintain.  We'll ask
67625         people to fix their kernels instead.
67626         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
67627         (NANOSLEEP_BUG_WORKAROUND): Remove.
67628         (xnanosleep): Remove the workaround.
67629
67630 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67631
67632         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
67633         Reported by Derek Price.
67634         (Include): Add "timespec.h".
67635
67636         * modules/xnanosleep (Depends-on): Remove gethrxtime.
67637
67638 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67639
67640         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
67641         to detect nanosleep bug.
67642
67643 2005-03-01  Bruno Haible  <bruno@clisp.org>
67644
67645         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
67646
67647 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67648
67649         * modules/gethrxtime: New file.
67650         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
67651         (Depends-on): Add gethrxtime.
67652         (configure.ac): Add gl_XNANOSLEEP.
67653         (Makefile.am): Remove lib_SOURCES line.
67654
67655 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67656
67657         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
67658         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
67659
67660 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67661
67662         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
67663         * lib/timespec.h (gettime): Return void, since it always
67664         succeeds now.  All uses changed.
67665         * lib/gettime.c (gettime) Likewise.
67666         [HAVE_NANOTIME]: Prefer nanotime.
67667         Assume gettimeofday succeeds, as POSIX requires.
67668         Assime time () succeeds, since other code already does.
67669         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
67670         (timespec_subtract): Remove.
67671         (NANOSLEEP_BUG_WORKAROUND): New constant.
67672         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
67673         things considerably.  Use it only on GNU/Linux hosts, since the
67674         workaround shouldn't be needed elsewhere.
67675
67676 2005-02-24  Bruno Haible  <bruno@clisp.org>
67677
67678         * modules/gettext (Files): Add m4/glibc2.m4.
67679
67680 2005-02-24  Bruno Haible  <bruno@clisp.org>
67681
67682         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
67683         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
67684         * m4/progtest.m4:
67685         Update from GNU gettext 0.14.2.
67686         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
67687
67688 2005-02-24  Bruno Haible  <bruno@clisp.org>
67689
67690         * lib/localcharset.c: Update from GNU gettext 0.14.2.
67691         * lib/config.charset: Update from GNU gettext 0.14.2.
67692
67693 2005-02-24  Bruno Haible  <bruno@clisp.org>
67694
67695         * lib/gettext.h: Update from GNU gettext 0.14.2.
67696
67697 2005-02-23  Simon Josefsson  <jas@extundo.com>
67698
67699         * m4/iconvme.m4: New file.
67700
67701 2005-02-23  Jim Meyering  <jim@meyering.net>
67702
67703         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
67704         change.
67705         Thanks to Bruno Haible for catching it.
67706
67707 2005-02-22  Simon Josefsson  <jas@extundo.com>
67708
67709         * modules/iconvme: New file.
67710
67711         * MODULES.html.sh: Add iconvme.
67712
67713 2005-02-22  Simon Josefsson  <jas@extundo.com>
67714
67715         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
67716
67717 2005-02-22  Simon Josefsson  <jas@extundo.com>
67718
67719         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
67720
67721 2005-02-22  Jim Meyering  <jim@meyering.net>
67722
67723         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
67724         s/ifndef/ifdef/.
67725
67726 2005-02-20  Neil Conway  <neilc@samurai.com>
67727
67728         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
67729         returned by OSX/Darwin if the specified buffer is not large
67730         enough for the hostname.
67731
67732 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67733
67734         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
67735         pass it to _help, otherwise the latter coredumps trying to
67736         dereference state.root_argp.
67737
67738 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67739
67740         * modules/chdir-long (Depends-on): Add memrchr.
67741         * modules/memrchr (Files): Add lib/memrchr.h.
67742         (Include): "memrchr.h".
67743
67744 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67745
67746         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
67747
67748 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67749
67750         * lib/memrchr.h: New file.
67751         * lib/chdir-long.c: Include it.
67752         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
67753         Don't bother including stddef.h.
67754
67755 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67756
67757         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
67758         inclusion.
67759         Include <sys/types.h>, for dev_t.
67760         (ME_DUMMY, ME_REMOTE): Move from here....
67761         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
67762         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
67763         Dmitry V. Levin.
67764         Include mountlist.h first, to test the interface.
67765
67766 2005-01-29  Bruno Haible  <bruno@clisp.org>
67767
67768         * lib/progname.c (program_name): Initialize.
67769         Needed when linking statically on MacOS X.
67770
67771 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67772
67773         Sync from coreutils.
67774         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
67775         (Depends-on): Add c-strtod.
67776         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
67777
67778 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67779
67780         Sync from coreutils.
67781         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
67782
67783         Remove files that are specific to coreutils.
67784         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
67785
67786 2005-01-28  Bruno Haible  <bruno@clisp.org>
67787
67788         * modules/javacomp: New file.
67789         * MODULES.html.sh (Java): Add javacomp.
67790
67791 2005-01-28  Bruno Haible  <bruno@clisp.org>
67792
67793         * m4/javacomp.m4: New file, from GNU gettext.
67794
67795 2005-01-28  Bruno Haible  <bruno@clisp.org>
67796
67797         * lib/javacomp.sh.in: New file, from GNU gettext.
67798         * lib/javacomp.h: New file, from GNU gettext.
67799         * lib/javacomp.c: New file, from GNU gettext.
67800
67801 2005-01-26  Simon Josefsson  <jas@extundo.com>
67802
67803         * lib/gai_strerror.c: Use GPL in header.
67804
67805 2005-01-26  Bruno Haible  <bruno@clisp.org>
67806
67807         * modules/javaexec: New file.
67808         * MODULES.html.sh (Java): Add javaexec.
67809
67810 2005-01-26  Bruno Haible  <bruno@clisp.org>
67811
67812         * m4/javaexec.m4: New file, from GNU gettext.
67813
67814 2005-01-26  Bruno Haible  <bruno@clisp.org>
67815
67816         * lib/javaexec.sh.in: New file, from GNU gettext.
67817         * lib/javaexec.h: New file, from GNU gettext.
67818         * lib/javaexec.c: New file, from GNU gettext.
67819
67820 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67821
67822         * modules/lchown (Depends-on): Remove lchown.h
67823
67824 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67825
67826         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
67827         must be defined if the header file was not found, in order
67828         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
67829
67830 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67831
67832         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
67833         initializers for struct pentry_state.
67834         (__argp_error): Check return value of __asprintf
67835         (__argp_failure): Translate error message
67836
67837         * lib/argp-parse.c: Removed braces around the expansion of N_()
67838
67839 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67840
67841         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
67842         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
67843         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
67844         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
67845         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
67846         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
67847         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
67848         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
67849         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
67850         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
67851         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
67852         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
67853         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
67854         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
67855         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
67856         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
67857         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
67858         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
67859         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
67860         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
67861         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
67862         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
67863         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
67864         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
67865         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
67866         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
67867         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
67868         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
67869         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
67870         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
67871         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
67872         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
67873         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
67874         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
67875         xstrtol.m4, xstrtoumax.m4, yesno.m4:
67876         Use an all-permissive copyright notice, recommended by RMS.
67877
67878 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
67879
67880         * modules/chdir-long (Depends-on): Remove mempcpy.
67881
67882 2005-01-21  Jim Meyering  <jim@meyering.net>
67883
67884         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
67885         same value as for Solaris 9.
67886
67887         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
67888         component length.  This included changing the parameter to be
67889         of type `char *' rather than `char const *'.
67890         * lib/chdir-long.h (chdir_long): Update prototype.
67891
67892         * lib/openat.c (fdopendir, fstatat): New functions.
67893         * lib/openat.h: Include headers required for use of DIR and struct
67894         stat.
67895         [AT_SYMLINK_NOFOLLOW]: Define.
67896         (fdopendir, fstatat): Add prototypes.
67897
67898 2005-01-21  Bruno Haible  <bruno@clisp.org>
67899
67900         * modules/classpath: New file.
67901         * MODULES.html.sh (Java): Add classpath.
67902
67903 2005-01-21  Bruno Haible  <bruno@clisp.org>
67904
67905         * lib/classpath.h: New file, from GNU gettext.
67906         * lib/classpath.c: New file, from GNU gettext.
67907
67908 2005-01-20  Simon Josefsson  <jas@extundo.com>
67909
67910         * modules/version-etc-fsf: New file.
67911
67912 2005-01-20  Simon Josefsson  <jas@extundo.com>
67913
67914         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
67915         * lib/version-etc.c: Remove version_etc_copyright.
67916         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
67917         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
67918
67919 2005-01-20  Simon Josefsson  <jas@extundo.com>
67920
67921         * lib/base64.h (isbase64): Add.
67922
67923         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
67924         using a unsigned prototype, don't inline.
67925         (base64_decode): Use it.
67926
67927 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67928
67929         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
67930         it.
67931
67932 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67933
67934         * lib/save-cwd.c (save_cwd): Remove code to support the case
67935         where fchdir is missing or flaky.
67936
67937 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67938
67939         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
67940
67941 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67942
67943         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
67944         AC_LIBSOURCES now does this.
67945         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
67946         with new ullong_max module.
67947
67948 2005-01-19  Bruno Haible  <bruno@clisp.org>
67949
67950         * modules/sh-quote: New file.
67951         * MODULES.html.sh (Executing programs): Add sh-quote.
67952
67953 2005-01-19  Bruno Haible  <bruno@clisp.org>
67954
67955         * lib/sh-quote.h: New file, from GNU gettext.
67956         * lib/sh-quote.c: New file, from GNU gettext.
67957
67958 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67959
67960         Merge from coreutils.
67961         * m4/ullong_max.m4: New file.
67962         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
67963         (gl_MACROS): Assume localeconv exists.
67964
67965 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67966
67967         Merge changes from coreutils, as described below in several
67968         changelogs dated today.
67969
67970         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
67971         (O_DIRECTORY): Remove; not needed here, since "." must be
67972         a directory.  All uses removed.
67973         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
67974         universal on Suns, and we also need to test for IRIX.
67975         Revamp code to use 'if' rather than '#if'.
67976         Avoid unnecessary comparison of cwd->desc to 0.
67977
67978         * lib/utimens.c (futimens): Robustify the previous patch, by checking
67979         for known valid error numbers rather than observed invalid ones.
67980
67981 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67982
67983         * modules/ullong_max: New file.
67984
67985         * modules/chdir-long, modules/openat: New files.
67986         * modules/save-cwd (Depends-on): Depend on chdir-long.
67987         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
67988
67989 2005-01-18  Jim Meyering  <jim@meyering.net>
67990
67991         Merge from coreutils.
67992         * m4/chdir-long.m4, m4/openat.m4: New files.
67993         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
67994         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
67995         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
67996         is sane and DOES follow symlinks.  Besides, testing 20 different
67997         systems found no broken chown implementations.
67998         Prompted by a change in rsync's copy of this macro.
67999         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
68000
68001         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
68002
68003         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
68004         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
68005         NULL-means-set-to-current-time semantics.
68006         Remove temporary file immediately, rather than waiting
68007         for configure's at-exit trap code to do it.
68008
68009 2005-01-18  Jim Meyering  <jim@meyering.net>
68010
68011         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68012
68013         * lib/utimens.c (futimens): Account for the fact that futimes
68014         can also fail with errno == ENOSYS or errno == ENOENT.
68015         Patch from Dmitry V. Levin.
68016
68017         Change the name of the robust chdir function from chdir to chdir_long.
68018         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
68019         (restore_cwd): Use chdir_long, not chdir.
68020         * lib/chdir-long.c: Renamed from chdir.c.
68021         * lib/chdir-long.h: Renamed from chdir.h.
68022         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
68023         Hurd.
68024
68025 2005-01-18  Bruno Haible  <bruno@clisp.org>
68026
68027         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
68028         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
68029         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
68030         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
68031         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
68032         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
68033         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
68034         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
68035         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
68036         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
68037         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
68038         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
68039         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
68040         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
68041         Use an all-permissive copyright notice, recommended by RMS.
68042
68043 2005-01-18  Bob Proulx  <bob@proulx.com>
68044
68045         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
68046         simplify offsetof() macro construct to avoid compile failure with
68047         native HP-UX 11.0 ANSI C compiler.
68048
68049 2005-01-17  Bruno Haible  <bruno@clisp.org>
68050
68051         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
68052         redundant because stpncpy.m4 takes care of it.
68053
68054 2005-01-17  Bruno Haible  <bruno@clisp.org>
68055
68056         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
68057
68058 2005-01-17  Bruno Haible  <bruno@clisp.org>
68059
68060         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
68061         used.
68062
68063 2005-01-17  Bruno Haible  <bruno@clisp.org>
68064
68065         * lib/fwriteerror.h (fwriteerror): Change specification to include
68066         fclose.
68067         * lib/fwriteerror.c: Include <stdbool.h>.
68068         (fwriteerror): At the end, close the file stream. Record whether
68069         stdout was already closed.
68070
68071 2005-01-17  Bruno Haible  <bruno@clisp.org>
68072
68073         * lib/execute.c (environ): Declare if needed.
68074         * lib/pipe.c (environ): Likewise.
68075         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
68076
68077 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68078
68079         * modules/argp: Depend on vsnprintf
68080
68081 2005-01-10  Jim Meyering  <jim@meyering.net>
68082
68083         * modules/closeout (Depends-on): Add atexit.
68084
68085 2005-01-06  Bruno Haible  <bruno@clisp.org>
68086
68087         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
68088
68089 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68090
68091         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
68092         definitions to be after all include files, to avoid collisions.
68093         Problem reported by Bob Proulx.
68094
68095 2005-01-04  Jim Meyering  <jim@meyering.net>
68096
68097         Changes imported from coreutils.
68098         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
68099         as the mkstemp template, use a temporary directory and an
68100         8.3-friendly template to avoid trouble on systems like DJGPP.
68101         Reported by Juan M. Guerrero via Stepan Kasal.
68102         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
68103         close. Remove the temporary directory right away, rather than waiting
68104         for configure's at-exit trap code to do it.
68105         Suggestion from Stepan Kasal.
68106
68107 2005-01-01  Simon Josefsson  <jas@extundo.com>
68108
68109         * gnulib-tool: Print #include directives when --import'ing.
68110
68111 2004-12-28  Simon Josefsson  <jas@extundo.com>
68112
68113         * tests/test-base64.c: Include required header files.  Remove
68114         unused variables.
68115
68116 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68117
68118         * modules/error (Depends-on): Remove gettext.
68119
68120 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68121
68122         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
68123         not needed.  This removes a dependency on the gettext module.
68124         [defined _LIBC]: Do not include <libintl.h>; not needed.
68125
68126 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
68127
68128         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
68129         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
68130
68131 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
68132
68133         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
68134         HAVE_DECL_STRTOLD.
68135
68136 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68137
68138         * modules/getdate (Depends-on): Remove alloca-opt.
68139
68140 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68141
68142         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
68143
68144 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68145
68146         * lib/argp-parse.c: Include <stddef.h>.
68147         (alignof, alignto): New macros.
68148         (parser_init): Don't assume that void * is aligned sufficiently
68149         for struct option.
68150
68151         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
68152         need to extend the stack.
68153         (YYINITDEPTH): New macro, so that the initial stack isn't overly
68154         large.
68155
68156 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68157
68158         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
68159
68160 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
68161
68162         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
68163         (2004-10-24) change.  Apparently this was a false alarm.
68164
68165         * modules/getdate: Depend on alloca-opt, not alloca.
68166
68167 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
68168
68169         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
68170         Remove now-obsolete comment about AIX.
68171         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
68172         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
68173         (YYMAXDEPTH): New macro.
68174
68175 2004-12-18  Simon Josefsson  <jas@extundo.com>
68176
68177         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
68178
68179 2004-12-18  Bruno Haible  <bruno@clisp.org>
68180
68181         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
68182
68183 2004-12-18  Bruno Haible  <bruno@clisp.org>
68184
68185         * lib/fatal-signal.c (fatal_signals): Make non-const.
68186         (init_fatal_signals): New function.
68187         (uninstall_handlers, install_handlers): Ignore signals that were set to
68188         SIG_IGN.
68189         (at_fatal_signal): Call init_fatal_signals.
68190         (init_fatal_signal_set): Likewise. Ignore signals that were set to
68191         SIG_IGN.
68192         Reported by Paul Eggert.
68193
68194 2004-12-18  Bruno Haible  <bruno@clisp.org>
68195
68196         * doc/alloca.texi: New file.
68197         * doc/alloca-opt.texi: New file.
68198
68199 2004-12-17  Jim Meyering  <jim@meyering.net>
68200
68201         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
68202         Otherwise, install-sh could exit with improper exit status when
68203         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
68204
68205 2004-12-16  Simon Josefsson  <jas@extundo.com>
68206
68207         * tests/test-base64.c: Add license.
68208
68209 2004-12-15  Stepan Kasal  <address@hidden>
68210
68211         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
68212
68213 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
68214
68215         * modules/getcwd (Files): Add m4/d-ino.m4.
68216         Suggested by Mark D. Baushke.
68217
68218 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
68219
68220         * lib/getdate.y (textint): New member "negative".
68221         (time_zone_hhmm): New function.
68222         Expect 14 shift-reduce conflicts, not 13.
68223         (o_colon_minutes): New rule.
68224         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
68225         (yylex): Set the "negative" member of signed numbers.
68226
68227 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
68228
68229         * doc/getdate.texi (Time of day items, Time zone items):
68230         Describe new formats +00:00, UTC+00:00.
68231
68232 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68233
68234         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
68235         spurious "-l"s.  Problem reported by Stepan Kasal.
68236
68237 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
68238
68239         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
68240         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
68241
68242 2004-12-04  Simon Josefsson  <jas@extundo.com>
68243
68244         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
68245         Vandoorselaere <yoann@prelude-ids.org>.
68246
68247 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68248
68249         Changes imported from coreutils.
68250         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
68251         exist.
68252         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
68253
68254 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68255
68256         Changes imported from coreutils.
68257         * lib/hard-locale.c: Assume <locale.h> exists.
68258         Include "strdup.h".
68259         (GLIBC_VERSION): New macro.
68260         (hard_locale): Assume setlocale exists.
68261         Rewrite to avoid #ifdef.
68262         Use strdup rather than malloc + strcpy.
68263         * lib/human.c: Assume <locale.h> exists.
68264         (human_readable): Assume localeconv exists.
68265
68266 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68267
68268         * modules/hard-locale (Depends-on): Add strdup.
68269
68270 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68271
68272         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
68273         convert T2, not T.  (Imported from libc.)
68274
68275 2004-11-30  Simon Josefsson  <jas@extundo.com>
68276
68277         * modules/restrict (License): Change to LGPL.
68278
68279 2004-11-30  Simon Josefsson  <jas@extundo.com>
68280
68281         * m4/restrict.m4: Add copyright and copying conditions.
68282
68283 2004-11-30  Simon Josefsson  <jas@extundo.com>
68284
68285         * m4/base64.m4: New file.
68286
68287 2004-11-30  Simon Josefsson  <jas@extundo.com>
68288
68289         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
68290         base64.
68291
68292         * tests/test-base64.c: New file.
68293
68294         * modules/base64: New file.
68295
68296 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
68297
68298         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
68299         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
68300
68301         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
68302
68303 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
68304
68305         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
68306         (__getcwd.c): Don't restore errno; glibc doesn't.
68307         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
68308         first, falling back to our code only if its results look suspicious.
68309         Ensure that the resulting buffer is only as large as necessary.
68310
68311         * lib/readutmp.c: Include readutmp.h first.
68312         Include <errno.h>, since readutmp.h no longer does that.
68313         * lib/readutmp.h: Don't include <errno.h>,
68314         <sys/param.h>, <time.h>; not needed to establish interface.
68315         (errno): Remove decl.
68316         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
68317         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
68318         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
68319
68320 2004-11-28  Simon Josefsson  <jas@extundo.com>
68321
68322         * lib/base64.h, base64.c: New file.
68323
68324 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68325
68326         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
68327
68328 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68329
68330         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
68331         (Depends-on): Remove pathmax, same.  Add mempcpy.
68332         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
68333         (Makefile.am): Append getcwd.h to lib_SOURCES.
68334         (Include): Add getcwd.h.
68335         (Maintainer): Change from Jim Meyering to "all, glibc",
68336         since getdate now uses intended-for-glibc code.
68337         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
68338         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
68339
68340 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68341
68342         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
68343         HP's ANSI C compiler.
68344         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
68345         Declaring int functions causes warnings on some modern systems and
68346         shouldn't be needed to compile on ancient ones.
68347         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
68348         defined.
68349
68350         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
68351         with the following changes.
68352         (__set_errno): Parenthesize properly.
68353         Include <stdbool.h>.
68354         (MIN, MAX, MATCHING_INO): New macros.
68355         (__getcwd): Define with prototype, not K&R form.
68356         Use heuristics to allocate default buffer on stack if possible.
68357         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
68358         behavior, and to avoid the PATH_MAX limit when computing
68359         ../../../../...
68360         Use MATCHING_INO to compare inode number to file.
68361         Check for arithmetic overflow in size calculations.
68362         Fix bug in reallocation of dot array that caused getcwd to fail
68363         on directories nested deeper than 75.
68364         Be more careful about saving errno on error.
68365         Do not use realloc; use only free+malloc, as this is a bit
68366         more flexible and avoids a needless copy operation.
68367         Do not inspect st_dev and st_ino for symbolic links; POSIX
68368         doesn't specify the latter.
68369         Check for closedir errors.
68370         Avoid needless casts.
68371         Use "#ifdef weak_alias" around weak_alias, to be like other
68372         glibc code.
68373         The following changes to getcwd.c have effect only when used in
68374         gnulib; they have no effect inside glibc proper.
68375         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
68376         as alloca isn't used.
68377         (alloca, __alloca): Likewise.
68378         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
68379         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
68380         unconditionally, as gnulib assumes C89 or better.
68381         Do not include <sys/param.h>.
68382         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
68383         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
68384         better.
68385         (NULL) [!defined NULL]: Remove; we assume C89 or better.
68386         Include <dirent.h> in a way that is compatible with modern Autoconf.
68387         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
68388         New macros, if not already defined.
68389         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
68390         Use "_LIBC", not "defined _LIBC", for consistency.
68391         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
68392         a mempcpy module.
68393         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
68394         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
68395         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
68396         credit only to Jim Meyering and adjust the copyright dates.
68397         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
68398         <stdlib.h>, <unistd.h>, "pathmax.h".
68399         Instead, include "xgetcwd.h" (first) and "getcwd.h".
68400         (INITIAL_BUFFER_SIZE): Remove.
68401         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
68402
68403 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68404
68405         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
68406         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
68407         Use the _ONCE methods, for efficiency.
68408         Check for fcntl.h.  In test program, include <errno.h>
68409         and <fcntl.h> if available.  Remove old K&R cruft from
68410         test program.  Check for common errors in GNU/Linux,
68411         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
68412         don't do AC_LIBOBJ, as that's getcwd.m4's job.
68413         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
68414         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
68415         name accordingly.
68416         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
68417         accommodate new getcwd.c.
68418         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
68419         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
68420         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
68421         that's all we need now.
68422
68423 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68424
68425         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
68426         argp-parse.c depends on getopt internals, that means we should
68427         always use our getopt, to be on the safe side.
68428         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
68429         order not to spoil the result of an eventual previous invocation
68430         of gl_GETOPT_SUBSTITUTE.
68431
68432 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68433
68434         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
68435         redefinition warnings. To avoid them, include the defines
68436         in `#if !defined __need_getopt ... #endif'. The only place
68437         where __getopt_argv_const is used is in definitions
68438         of getopt_long and getopt_long_only below, which are as well
68439         protected by `#ifndef __need_getopt'.
68440         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
68441         __need_getopt after including <stdio.h> and <unistd.h> These
68442         headers might have defined it.
68443
68444 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68445
68446         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
68447
68448 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68449
68450         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
68451         (futimens): New function, which uses futimes if available.
68452         (futimens, utimens): Support timespec==NULL, with same semantics
68453         as utime and utimens.
68454         * lib/utimens.h (futimens): New decl.
68455
68456 2004-11-23  Jim Meyering  <jim@meyering.net>
68457
68458         * lib/getopt_.h: Remove trailing blanks.
68459
68460 2004-11-23  Jim Meyering  <jim@meyering.net>
68461
68462         * lib/__fpending.c: Add comment.
68463
68464 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
68465
68466         * modules/canonicalize (Depends-on): Add xreadlink.
68467         Problem reported by James Youngman.
68468
68469 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68470
68471         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
68472         New macros.
68473         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
68474         optopt): Use them instead of invoking ## directly; otherwise, the
68475         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
68476
68477 2004-11-19  Bruno Haible  <bruno@clisp.org>
68478
68479         * lib/strtok_r.c: Move comments from here...
68480         * lib/strtok_r.h: ... to here.
68481
68482 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68483
68484         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
68485         implementations that mishandle size_t overflow.
68486
68487 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68488
68489         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
68490         might fail.  Problem reported by Yoann Vandoorselaere.
68491         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
68492         implementations that mishandle size_t overflow.
68493
68494 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68495
68496         * modules/canon-host (Depends-on): Add strdup.
68497
68498 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68499
68500         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
68501
68502 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68503
68504         * lib/canon-host.c: Include "strdup.h".
68505         (canon_host): Use getaddrinfo if available, so that IPv6 works.
68506         Use strdup instead of malloc/strcpy to duplicate strings.
68507
68508         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
68509         (human_space_before_unit): New constant.
68510         * lib/human.c (human_readable): Support it.
68511
68512         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
68513         (xgetcwd): Set errno correctly when failing.
68514         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
68515         the failure is actually due to a PATH_MAX problem.
68516
68517         Further getopt changes to make it more likely that glibc will
68518         buy the changes back.
68519         * lib/getopt.c (POSIXLY_CORRECT): New constant.
68520         (getopt): Use it, so to preserve glibc semantic
68521         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
68522         when compiling for libc.
68523         * lib/getopt_.h (__getopt_argv_const): Bring it back.
68524         (getopt_long, getopt_long_only): Use it.
68525
68526         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68527         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
68528         (getopt): Argv is now char * const *, as per standard.
68529         (_getopt_internal_r, _getopt_internal): Argv is now char **,
68530         not char *__getopt_argv_const *.
68531         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68532         _getopt_long_only_r): Likewise.
68533         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
68534         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68535         _getopt_long_r, _getopt_long_only_r): Likewise.
68536         * lib/getopt_.h (__getopt_argv_const): Remove.
68537         (getopt): Argv is now char * const *, as per standard.
68538
68539         * lib/getdate.y (tORDINAL): New token.
68540         (day, relunit): Allow it for relative times.
68541         (relative_time_table): Use tORDINAL for ordinals.
68542
68543 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68544
68545         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
68546         Document that "second" isn't allowed as an ordinal number.
68547
68548 2004-11-16  Jim Meyering  <jim@meyering.net>
68549
68550         * modules/closeout (Depends-on): Add fpending.
68551
68552 2004-11-15  Jim Meyering  <jim@meyering.net>
68553
68554         * lib/closeout.c: Include "__fpending.h" once again.
68555         Include <stdbool.h>.
68556         (close_stdout): Don't fail just because stdout was closed initially,
68557         since some programs don't write to stdout in the normal course of
68558         operation (other than --version and --help), and we don't want this
68559         function to make e.g. `touch file >&-' fail.
68560         But do fail if it was closed and someone has tried to write to it.
68561         E.g., `printf foo >&-' must fail.
68562
68563 2004-11-13  Jim Meyering  <jim@meyering.net>
68564
68565         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
68566
68567 2004-11-12  Simon Josefsson  <jas@extundo.com>
68568
68569         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
68570         small doc fix is still pending.
68571
68572 2004-11-11  Simon Josefsson  <jas@extundo.com>
68573
68574         * modules/strtok_r: New file.
68575
68576         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68577         strtok_r.
68578
68579 2004-11-11  Simon Josefsson  <jas@extundo.com>
68580
68581         * m4/strtok_r.m4: New file.
68582
68583         * m4/getopt.m4: Replace opterr.
68584
68585 2004-11-11  Simon Josefsson  <jas@extundo.com>
68586
68587         * lib/strtok_r.h, strtok_r.c: New file.
68588
68589 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68590
68591         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
68592         of replacing opterr, getopt, etc.  This should handle the
68593         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
68594
68595 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68596
68597         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
68598         we can stop lying to compilers about the constness of argv when we
68599         are compiled outside glibc.
68600         (getopt, getopt_long, getopt_long_only): Use it.
68601         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68602         _getopt_internal, getopt): Likewise.
68603         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68604         _getopt_long_only_r): Likewise.
68605         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68606         _getopt_long_r, _getopt_long_only_r): Likewise.
68607
68608         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
68609         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
68610         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
68611         the other external symbols.
68612         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
68613         declaration, since the above renaming now works around collisions.
68614
68615 2004-11-11  Jim Meyering  <jim@meyering.net>
68616
68617         * lib/linebreak.c: Remove trailing blanks.
68618         * lib/alloca_.h: Likewise.
68619         * lib/acosl.c: Likewise.
68620         * lib/euidaccess.c: Likewise.
68621         * lib/allocsa.h: Likewise.
68622
68623 2004-11-10  Simon Josefsson  <jas@extundo.com>
68624
68625         * m4/getaddrinfo.m4: New file.
68626
68627 2004-11-10  Simon Josefsson  <jas@extundo.com>
68628
68629         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
68630
68631 2004-11-10  Simon Josefsson  <jas@extundo.com>
68632
68633         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68634         getaddrinfo.
68635
68636         * modules/getaddrinfo: New file.
68637
68638 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68639
68640         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
68641
68642 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68643
68644         * lib/mktime.c (SHR): New macro, which is a portable
68645         substitute for >> that should work even on Crays.
68646         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
68647         Problem reported by Mark D. Baushke in
68648         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
68649         * lib/getdate.y (SHR): Likewise.
68650         (tm_diff): Use it.
68651         * lib/strftime.c (SHR): Likewise.
68652         (tm_diff): Use it.
68653         * lib/quotearg.c (struct quoting_options): Use unsigned int for
68654         quote_these_too, so that right shifts are well defined.  All uses
68655         changed.
68656
68657 2004-11-10  Jim Meyering  <jim@meyering.net>
68658
68659         Ensure that no close failure goes unreported.
68660         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
68661         return early when it seems there's nothing to flush.
68662         Don't include __fpending.h.
68663
68664 2004-11-10  Jim Meyering  <jim@meyering.net>
68665
68666         * modules/closeout (Depends-on): Remove fpending.
68667
68668 2004-11-10  Jim Meyering  <jim@meyering.net>
68669
68670         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
68671
68672 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68673
68674         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
68675         gl_FUNC_STRFTIME.
68676         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
68677         and AC_REQUIRE when possible, to avoid duplicate checks.
68678         Check for <wchar.h>.
68679
68680 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68681
68682         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
68683
68684 2004-11-09  Bruno Haible  <bruno@clisp.org>
68685
68686         * m4/sockpfaf.m4: New file.
68687
68688 2004-11-05  Bruno Haible  <bruno@clisp.org>
68689
68690         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
68691         Reported by Mark D. Baushke <mdb@cvshome.org>.
68692
68693 2004-11-04  Bruno Haible  <bruno@clisp.org>
68694
68695         2004-09-11  Bruno Haible  <bruno@clisp.org>
68696                 * allocsa.valgrind: New file.
68697         2004-02-06  Bruno Haible  <bruno@clisp.org>
68698                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
68699                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
68700                 Reported by Christopher Seip <chris.seip@hp.com>.
68701
68702 2004-11-04  Bruno Haible  <bruno@clisp.org>
68703
68704         * modules/allocsa (Files): Add lib/allocsa.valgrind.
68705         (Makefile.am): Distribute it.
68706
68707 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68708
68709         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
68710         with errno == ERANGE if the buffer is too small.
68711         Problem reported by Mark D. Baushke.
68712
68713 2004-11-03  Albert Chin  <china@thewrittenword.com>
68714             Paul Eggert  <eggert@cs.ucla.edu>
68715
68716         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
68717         equivalent, substitute $ac_type for equivalent type rather than
68718         blindly using uint32_t *always* which won't work if uint32_t is not
68719         available.  Define _UINT32_T to work around typedef of uint32_t if
68720         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
68721         2.5.1.
68722
68723 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68724
68725         * m4/jm-macros.m4: Sync from coreutils.
68726         (gl_MACROS): Check for mbrlen, for pathchk.
68727         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
68728
68729 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68730
68731         * lib/xreadlink.c (MAXSIZE): New macro.
68732         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
68733         size does not exceed MAXSIZE.  Avoid cast.
68734         As suggested by Mark D. Baushke in
68735         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
68736         if readlink fails with buffer size just under MAXSIZE, try again
68737         with MAXSIZE.
68738
68739 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68740
68741         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
68742
68743 2004-11-02  Derek R. Price  <derek@ximbiot.com>
68744         and  Paul Eggert  <eggert@cs.ucla.edu>
68745
68746         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
68747         (get_date): Overparenthesize to avoid GCC warning.
68748
68749 2004-11-02  Bruno Haible  <bruno@clisp.org>
68750
68751         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
68752         returns void.
68753
68754 2004-11-02  Bruno Haible  <bruno@clisp.org>
68755
68756         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
68757         function returns void.
68758
68759 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68760
68761         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
68762         fflush_unlocked, flockfile, funlockfile, funlockfile,
68763         fputs_unlocked, putc_unlocked.
68764
68765 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68766
68767         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68768         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
68769         already declared.
68770
68771 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68772
68773         * modules/getdate (Files): Add doc/getdate.texi.
68774         (Depends-on): Add setenv, xalloc.
68775
68776 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68777
68778         * lib/getdate.y: Add support for TZ="foo" within a date string.
68779         Fix some bugs near time_t boundaries.  Reject dates with
68780         out-of-range components, e.g., "Sept 31".
68781         Include <stdlib.h>, "setenv.h", "xalloc.h".
68782         (ISDIGIT_LOCALE): Remove; unused.
68783         Note that the TZ and time functions used here are not reentrant.
68784         (mktime_ok, get_tz): New functions.
68785         (TZBUFSIZE): New constant.
68786         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
68787         This requires that we sometimes generate our own TZ="XXX..." setting.
68788
68789 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68790
68791         * doc/getdate.texi: New file, from coreutils with modifications for
68792         the new TZ parsing.
68793
68794 2004-10-27  Derek R. Price  <derek@ximbiot.com>
68795
68796         * lib/mktime.c (not_equal_tm): Remove redundant check.
68797
68798 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68799
68800         * modules/regex (lib_SOURCES): Add regex.c.
68801         Reported by James Youngman in
68802         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
68803
68804 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68805
68806         * lib/getdate.y: Use Bison 1.875 features, and some minor
68807         code cleanups.  This change does not affect semantics.
68808         Don't include <stdlib.h>; no longer needed.
68809         Don't include unlocked-io.h; only the "#if TEST" code uses
68810         stdio, and performance isn't crucial there.
68811         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
68812         Bison 1.875 features as described below.
68813         All uses of "PC." replaced by "pc->".
68814         (YYSTYPE): Add a forward declaration.
68815         (yylex, yyerror): Use full prototypes in forward decls.
68816         Use "%pure-parser" rather than obsolescent "%pure_parser".
68817         Use %parse-param and %lex-param instead of obsolescent
68818         YYPARSE_PARAM and YYLEX_PARAM.
68819         (meridian_table, month_and_day_table, time_units_table,
68820         relative_time_table, time_zone_table, military_table,
68821         lookup_zone, lookup_word, get_date):
68822         Use NULL instead of 0 where appropriate.
68823         (to_hour): Avoid abort (), to avoid a dependency on
68824         stdlib.h.
68825         (yyerror, yylex): Now accepts parser_control * arg.
68826         (main) [TEST]: Use '\0' rather than 0 for char.
68827
68828 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68829
68830         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
68831
68832 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68833
68834         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
68835         It's now the caller's responsibility to handle the case where
68836         !HAVE_GETPAGESIZE && !defined getpagesize.
68837
68838         * lib/mktime.c (leapyear): Arg is long int, not int.
68839
68840 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
68841
68842         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
68843
68844 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
68845
68846         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
68847         missing.  Problem reported by James Youngman.
68848
68849 2004-10-16  Simon Josefsson  <jas@extundo.com>
68850
68851         * gnulib-tool: Fix comments.  Fix parse problem.
68852         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
68853
68854 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
68855
68856         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
68857         implementation of getopt_long.  Problem reported by Alexander Taler in:
68858         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
68859
68860 2004-10-15  Bruno Haible  <bruno@clisp.org>
68861
68862         * gnulib-tool: Untabify. Initialize supplied_libname.
68863         (func_usage): More homogenous output.
68864         (func_modules_transitive_closure, func_modules_to_filelist,
68865         func_emit_lib_Makefile_am): New functions.
68866         (func_import): New function, extracted from big case statement. Use
68867         func_get_license, func_modules_transitive_closure,
68868         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
68869         opt_lgpl. Don't use test -a, as it's not portable.
68870         (func_create_testdir): Use func_modules_transitive_closure,
68871         func_modules_to_filelist, func_emit_lib_Makefile_am.
68872
68873 2004-10-15  Bruno Haible  <bruno@clisp.org>
68874
68875         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
68876
68877 2004-10-15  Bruno Haible  <bruno@clisp.org>
68878
68879         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
68880         the portions belonging to each module.
68881         Suggested by Derek Robert Price <derek@ximbiot.com>.
68882
68883 2004-10-12  Simon Josefsson  <jas@extundo.com>
68884
68885         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68886         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
68887         to real functions.
68888
68889 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68890
68891         * modules/vsnprintf: New file.
68892
68893 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68894
68895         * m4/vsnprintf.m4: New file.
68896
68897 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68898
68899         * lib/vsnprintf.h: New file.
68900         * lib/vsnprintf.c: New file.
68901
68902 2004-10-11  Bruno Haible  <bruno@clisp.org>
68903
68904         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
68905         vsnprintf.
68906
68907 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
68908
68909         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
68910
68911 2004-10-07  Bruno Haible  <bruno@clisp.org>
68912
68913         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
68914         fits into the provided buffer.
68915
68916 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
68917
68918         * lib/diacrit.c, diacrit.h: Add GPL notice.
68919
68920         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
68921         notice.
68922         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
68923         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
68924         This avoids a potential constant-folding bug.
68925
68926 2004-10-05  Bruno Haible  <bruno@clisp.org>
68927
68928         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
68929         for the declaration of strsep.
68930
68931 2004-10-05  Bruno Haible  <bruno@clisp.org>
68932
68933         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
68934
68935 2004-10-04  Simon Josefsson  <jas@extundo.com>
68936
68937         * modules/memmem: New file.
68938         * tests/test-memmem.c: New file.
68939         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
68940
68941 2004-10-04  Simon Josefsson  <jas@extundo.com>
68942
68943         * m4/memmem.m4: New file.
68944
68945 2004-10-04  Simon Josefsson  <jas@extundo.com>
68946
68947         * lib/memmem.h: New file.
68948         * lib/memmem.c: New file, taken from glibc.
68949
68950 2004-10-04  Simon Josefsson  <jas@extundo.com>
68951
68952         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
68953         '#ifdef USE_UNLOCKED_IO'.
68954
68955 2004-10-04  Simon Josefsson  <jas@extundo.com>
68956
68957         * config/srclist.txt: Add memmem from glibc.
68958
68959 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68960
68961         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
68962
68963         * modules/argmatch, modules/argp, modules/closeout, modules/error,
68964         modules/exclude, modules/getdate, modules/getline,
68965         modules/getndelim2, modules/getpass, modules/getpass-gnu,
68966         modules/getusershell, modules/linebuffer, modules/md5,
68967         modules/mountlist, modules/posixtm, modules/readtokens,
68968         modules/readutmp, modules/regex, modules/sha1,
68969         modules/version-etc, modules/yesno:
68970         Remove dependency on unlocked-io.
68971
68972 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68973
68974         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
68975
68976         * m4/unlocked-io.m4: Add copyright notice.
68977         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
68978
68979 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68980
68981         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
68982         * lib/xmalloc.c (xmemdup): Likewise.
68983         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
68984         XFREE): Remove these long-obsolescent macros.
68985         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
68986         * lib/xstrdup.c: Remove.
68987
68988         * lib/regex.c (re_comp): Cast gettext return value to char *,
68989         Problem reported by Martin Neitzel via Mark D. Baushke.
68990
68991 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68992
68993         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
68994         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
68995         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
68996         regex.c, sha1.c, version-etc.c, yesno.c:
68997         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
68998         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
68999         the includer's responsibility.
69000
69001         Sync from coreutils.
69002
69003         * lib/modechange.c (mode_compile): Don't decrement a pointer that
69004         points to the start of a string, as the C Standard says the
69005         resulting behavior is undefined.
69006
69007         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
69008         simple -> simple_backups, numbered_existing ->
69009         numbered_existing_backups, numbered -> numbered_backups
69010         to avoid shadowing problems.  All uses changed.
69011         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
69012         * lib/backupfile.c (check_extension, numbered_backup):
69013         Rename locals to avoid shadowing 'basename'.
69014         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
69015         once.
69016
69017         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
69018         * lib/.cvsignore: Add getopt.h.
69019
69020 2004-10-04  Bruno Haible  <bruno@clisp.org>
69021
69022         * modules/README: New file.
69023         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
69024         not a module.
69025
69026 2004-10-02  Jim Meyering  <jim@meyering.net>
69027
69028         * lib/dirfd.h, getpagesize.h: Add copyright notice.
69029
69030 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69031
69032         * modules/strsep: New file.
69033
69034 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69035
69036         * m4/strsep.m4: New file.
69037
69038 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69039
69040         * lib/strsep.h: New file.
69041         * lib/strsep.c: New file.
69042
69043 2004-10-01  Simon Josefsson  <jas@extundo.com>
69044
69045         * lib/snprintf.c (snprintf): Handle size==0.
69046
69047 2004-10-01  Simon Josefsson  <jas@extundo.com>
69048             Bruno Haible  <bruno@clisp.org>
69049
69050         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
69051         (snprintf): Declare 'args'.
69052
69053 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
69054
69055         * lib/snprintf.c: Remove comments as to why each header is needed.
69056
69057 2004-10-01  Bruno Haible  <bruno@clisp.org>
69058
69059         * MODULES.html.sh: Add strsep.
69060
69061 2004-09-30  Simon Josefsson  <jas@extundo.com>
69062
69063         * modules/snprintf: New file.
69064
69065 2004-09-30  Simon Josefsson  <jas@extundo.com>
69066
69067         * m4/snprintf.m4: New file.
69068
69069 2004-09-30  Simon Josefsson  <jas@extundo.com>
69070
69071         * lib/snprintf.h, lib/snprintf.c: New files.
69072
69073 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69074
69075         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
69076         (hol_entry_help): Never translate an empty string.
69077         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
69078         * lib/argp.h (OPTION_NO_TRANS): New option.
69079
69080 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69081
69082         * modules/argp (Maintainer): Replace Simon Josefsson
69083         by Sergey Poznyakoff.
69084
69085 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69086
69087         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
69088         changes merged back into glibc.
69089
69090 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69091
69092         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
69093
69094 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
69095
69096         * lib/xvasprintf.c: Include xalloc.h.
69097         (xvasprintf): Use xalloc_die, not xmalloc_die.
69098
69099 2004-09-29  Bruno Haible  <bruno@clisp.org>
69100
69101         * modules/alloca-opt: New file, derived from modules/alloca.
69102         * modules/allocsa: Depend on alloca-opt instead of alloca.
69103         * modules/setenv: Likewise.
69104         * modules/vasnprintf: Likewise.
69105         * MODULES.html.sh: Add alloca-opt.
69106
69107 2004-09-28  Simon Josefsson  <jas@extundo.com>
69108
69109         * gnulib-tool: New parameter --lgpl, to asseert that modules are
69110         LGPL, and to replace license template from GPL to LGPL.
69111
69112 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
69113
69114         * modules/dummy: Change license to LGPL.
69115
69116 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
69117
69118         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
69119
69120 2004-09-24  Simon Josefsson  <jas@extundo.com>
69121
69122         * modules/minmax (License): Change from GPL to LGPL.
69123
69124 2004-09-23  Simon Josefsson  <jas@extundo.com>
69125
69126         * gnulib-tool (--import): Typo.
69127
69128 2004-09-23  Simon Josefsson  <jas@extundo.com>
69129
69130         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
69131
69132 2004-09-22  Bruno Haible  <bruno@clisp.org>
69133
69134         * modules/*: Add 'License' field.
69135         * gnulib-tool: Accept --extract-license option.
69136         (func_get_license): New function.
69137
69138 2004-09-21  Bruno Haible  <bruno@clisp.org>
69139
69140         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
69141         Reported by Simon Josefsson.
69142
69143 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69144
69145         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
69146         gl_AC_TYPE_LONG_LONG.
69147
69148 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69149
69150         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
69151
69152 2004-09-18  Simon Josefsson  <jas@extundo.com>
69153         and  Paul Eggert  <eggert@cs.ucla.edu>
69154
69155         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
69156         calls with autoreconf.  Define GL_LIB.
69157
69158 2004-09-14  Karl Berry  <karl@gnu.org>
69159
69160         * config/srclist.txt: unsync setenv.c, sigh.
69161
69162 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69163
69164         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
69165         Problem reported by Bruno Haible in:
69166         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
69167
69168 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69169
69170         * config/srclist.txt: Comment out argp-pvh.c.
69171
69172 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
69173
69174         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
69175         in case some system header has #define'd it.  Problem reported by
69176         Soeren D. Schulze in
69177         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
69178
69179 2004-09-09  Karl Berry  <karl@gnu.org>
69180
69181         * regex.[ch]: delete from the root.  These were supposed to be
69182                 synced with emacs cvs, but this has not happened for about
69183                 a year, and anyway nothing else uses emacs regex.[ch].
69184                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
69185                 lib/regex[.ch] is untouched.
69186
69187 2004-09-09  Bruno Haible  <bruno@clisp.org>
69188
69189         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
69190
69191 2004-09-09  Bruno Haible  <bruno@clisp.org>
69192
69193         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
69194         modifications.
69195         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
69196
69197 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
69198
69199         * modules/xvasprintf: New file.
69200         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
69201
69202 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
69203
69204         * lib/xvasprintf.h: New file.
69205         * lib/xvasprintf.c: New file.
69206         * lib/xasprintf.c: New file.
69207
69208 2004-09-08  Bruno Haible  <bruno@clisp.org>
69209
69210         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
69211
69212 2004-09-08  Bruno Haible  <bruno@clisp.org>
69213
69214         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
69215         length is > INT_MAX.
69216         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
69217         more.
69218
69219 2004-09-08  Bruno Haible  <bruno@clisp.org>
69220
69221         * lib/stdint_.h: New file, taken from GNU clisp.
69222
69223 2004-09-08  Bruno Haible  <bruno@clisp.org>
69224             Oskar Liljeblad  <oskar@osk.mine.nu>
69225
69226         * modules/stdint: New file.
69227         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
69228
69229 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69230
69231         Import from coreutils.
69232         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
69233         strings on unbounded length.  alloca's performance benefits aren't
69234         that important here.
69235         (V_STRDUP): Remove.
69236         (parse_with_separator): New function, with most of the internals
69237         of the old parse_user_spec.  Allow user to omit both user and group,
69238         for compatibility with FreeBSD.
69239         Clone only the user name, not the entire spec.
69240         Do not set *uid, *gid unless entirely successful.
69241         Avoid memory leak in some failing cases.
69242         Fix regression for USER.GROUP reported by Dmitry V. Levin in
69243         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
69244         (parse_user_spec): Rewrite to use parse_with_separator.
69245
69246 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69247
69248         * modules/userspec: Don't depend on alloca.
69249
69250 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69251
69252         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
69253
69254 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69255
69256         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
69257         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
69258         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
69259
69260 2004-08-16  Simon Josefsson  <jas@extundo.com>
69261
69262         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
69263         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
69264         Add --dry-run for --import.
69265         Let user provided command line parameters override configure.ac
69266         settings.
69267
69268 2004-08-12  Simon Josefsson  <jas@extundo.com>
69269
69270         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
69271         as discussed with Paul Eggert in threads rooted at
69272         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
69273         and
69274         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
69275         Before, the test was empty, and relied on ELIDE_CODE in source
69276         code.)
69277         (gl_PREREQ_GETOPT): New macro.
69278         (gl_GETOPT): Use them.
69279
69280 2004-08-12  Simon Josefsson  <jas@extundo.com>
69281
69282         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
69283         * lib/getopt_.h: Renamed from getopt.h.
69284
69285 2004-08-12  Simon Josefsson  <jas@extundo.com>
69286
69287         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
69288         Change default library name from libfoo to libgnu.
69289         Now, if you have a configure.ac that says:
69290                 gl_SOURCE_BASE(gl)
69291                 gl_M4_BASE(gl/m4)
69292                 gl_MODULES(error getopt etcetera)
69293                 gl_INIT
69294         you can import all you need by running:
69295                 ../gnulib/gnulib-tool --import
69296
69297         * modules/getopt (Files): Rename getopt.h to getopt_.h.
69298         (Makefile.am): Rewrite, use logic from argz.
69299         (Include): Use <getopt.h> instead of "getopt.h".
69300
69301 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69302
69303         * modules/argp (Files): Add m4/unlocked-io.m4.
69304         (Depends-on): Add extensions.
69305
69306 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69307
69308         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
69309         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
69310         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
69311         Check for program_invocation_name, program_invocation_short_name,
69312         flockfile, funlockfile, features.h, _getopt_long_only_r.
69313
69314 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69315
69316         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
69317         its complicated substitute.
69318         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
69319         and program_invocation_name.
69320         (__argp_basename) [!_LIBC]: Remove; the only use was
69321         replaced by its body.
69322         (__argp_short_program_name): Change condition from
69323         !defined __argp_short_program_name to
69324         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
69325         to match argp-namefrob.h.
69326         (__argp_failure): Don't assume strerror_r returns char *.
69327         * lib/argp-parse.c (N_): Define unconditionally.
69328         (argp_default_options): Fill out initializers with 0 to avoid
69329         gcc warnings.
69330
69331 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69332
69333         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
69334         getopt1.c.
69335
69336 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69337
69338         Merge from coreutils.
69339
69340         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
69341
69342         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
69343         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
69344
69345 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69346
69347         Merge from coreutils.
69348
69349         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
69350         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
69351         for Reliant Unix 5.43.
69352
69353         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
69354         (union fooround): Use uintmax_t, not long int.
69355         The rest is a merge from libc:
69356         [defined _LIBC]: Include <shlib-compat.h>.
69357         (_obstack) [defined _LIBC]: Remove after 2.3.4.
69358
69359         * lib/settime.c (settime): Recode to avoid warning with
69360         Sun Forte C 6U2.
69361
69362         * lib/strverscmp.c: Convert to UTF-8.
69363
69364 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69365
69366         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
69367         m4/uintmax_t.m4.
69368
69369 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69370
69371         * modules/xalloc-die: New file.
69372         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
69373
69374         * modules/md5 (Files): Add m4/uint32_t.m4.
69375         * modules/sha1: Renamed from modules/sha.
69376         (Files):
69377         Rename lib/sha.h to lib/sha1.h.
69378         Rename lib/sha.c to lib/sha1.c.
69379         Rename m4/sha.m4 to m4/sha1.m4.
69380         (lib_SOURCES): Likewise.
69381         (configure.ac): Rename gl_SHA to gl_SHA1.
69382         (Include): sha.h -> sha1.h.
69383
69384 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69385
69386         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
69387         * m4/sha1.m4: Renamed from sha.m4.
69388         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
69389
69390 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69391
69392         * lib/obstack.h (obstack_empty_p):
69393         Don't assume that chunk->contents is suitably aligned.
69394         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
69395         Likewise. Problem reported by Benno in
69396         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
69397
69398         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
69399         readable.  This could be improved further but it'd take some work.
69400
69401 2004-08-08  Simon Josefsson  <jas@extundo.com>
69402
69403         * modules/xgethostname (Depends-on): Remove exit and error (not
69404         used).
69405
69406         * modules/getpass-gnu: Add getpass.h.
69407         (Depends-on): Add stdbool.
69408         * modules/getpass: Add getpass.h.
69409
69410 2004-08-08  Simon Josefsson  <jas@extundo.com>
69411
69412         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
69413         Check getpass declaration.
69414
69415 2004-08-08  Simon Josefsson  <jas@extundo.com>
69416
69417         * lib/xgethostname.c: Don't include error.h (not used).
69418
69419         * lib/getpass.h: Add.
69420         * lib/getpass.c: Include getpass.h first.
69421
69422 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
69423
69424         * lib/xalloc-die.c: New file.
69425         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
69426         All uses removed.
69427         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
69428         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
69429         xalloc-die.c.
69430         (_, N_, xalloc_die): Move to xalloc-die.c.
69431         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
69432         so that we needn't mess with xalloc_msg_memory_exhausted.
69433
69434         * lib/sha1.h: Renamed from sha.h.
69435         (SHA1_H): Renamed from _SHA_H.
69436         (sha1_ctx): Renamed from sha_ctx.
69437         (sha1_init_ctx): Renamed from sha_init_ctx.
69438         (sha1_process_block): Renamed from sha_process_block.
69439         (sha1_process_bytes): Renamed from sha_process_bytes.
69440         (sha1_finish_ctx): Renamed from sha_finish_ctx.
69441         (sha1_read_ctx): Renamed from sha_read_ctx.
69442         (sha1_stream): Renamed from sha_stream.
69443         (sha1_buffer): Renamed from sha_buffer.
69444         * lib/sha1.c: Likewise; renamed from sha.c.
69445         Do not include <sys/types.h>.
69446         Include <stddef.h> rather than <stdlib.h>.
69447
69448 2004-08-08  Bruno Haible  <bruno@clisp.org>
69449
69450         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
69451         FILESYSTEM_PREFIX_LEN.
69452         * lib/progreloc.c: Likewise.
69453         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
69454
69455 2004-08-06  Simon Josefsson  <jas@extundo.com>
69456
69457         * modules/progname (Depends-on): Don't depend on stdbool.
69458
69459 2004-08-06  Simon Josefsson  <jas@extundo.com>
69460
69461         * modules/getsubopt: New file.
69462         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69463         getsubopt.
69464
69465 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69466
69467         More merge from coreutils.
69468
69469         * m4/utimens.m4, m4/utimecmp.m4: New files.
69470         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
69471         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
69472         prereq.m4, sha.m4: Import changes from coreutils.
69473
69474 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69475
69476         More merge from coreutils.
69477         * modules/raise, modules/readtokens0, modules/utimens:
69478         * modules/utimecmp, module/xnanosleep: New files.
69479         * modules/strftime: Add lib/strftime.h.
69480         Change include from <time.h> to "strftime.h".
69481         * modules/yesno: Add lib/yesno.h.
69482         * modules/backupfile: Remove lib/addext.c.
69483         * modules/euidaccess: Add stat-macros.h.
69484         * modules/canonicalize, modules/euidaccess,
69485         modules/filemode, modules/lchown, modules/makepath,
69486         modules/rmdir, modules/stat: Likewise.
69487
69488 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69489
69490         Merge from tar.
69491         * lib/argp-help.c (make_hol, hol_append): Don't assume that
69492         SIZE_MAX is a valid preprocessor constant.
69493         (__argp_basename): Change from "#ifndef _LIBC"
69494         to "#ifndef __argp_short_program_name", so that
69495         we don't compile these functions for tar.
69496
69497         More merges from coreutils.
69498         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
69499         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
69500         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
69501         * lib/addext.c: Remove; no longer needed.
69502         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
69503         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
69504         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
69505         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
69506         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
69507         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
69508         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
69509         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
69510         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
69511         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
69512         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
69513         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
69514         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
69515         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
69516         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
69517         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
69518         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
69519         Import changes from coreutils.
69520
69521 2004-08-05  Simon Josefsson  <jas@extundo.com>
69522
69523         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
69524
69525 2004-08-05  Simon Josefsson  <jas@extundo.com>
69526
69527         * m4/getsubopt.m4: New file.
69528
69529 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69530
69531         Merge from coreutils.
69532
69533         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
69534         * m4/getcwd-path-max.m4: New files.
69535
69536         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
69537         FILESYSTEM_PREFIX_LEN ->
69538         FILE_SYSTEM_PREFIX_LEN.
69539         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
69540         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
69541         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
69542         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
69543
69544         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
69545         prerequisite modules now handle the DOS stuff.
69546         Don't check for unistd.h.
69547
69548 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69549
69550         Merge from coreutils.
69551
69552         * lib/.gdb-history: Remove; this doesn't belong here.
69553
69554         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
69555         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
69556         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
69557         * lib/getcwd.c: New files.
69558
69559         * lib/dirname.h: Include <stdbool.h>.
69560         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
69561         for consistency with POSIX terminology.  All uses changed.
69562         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
69563         (strip_trailing_slashes): Use bool for booleans.
69564         * lib/stripslash.c (strip_trailing_slashes): Likewise.
69565
69566         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
69567         sometimes returns a positive errno value even when it succeeds.
69568         (print_errno_message) [!LIBC]: Fall back on strerror if
69569         __strerror_r fails.
69570
69571         * lib/path-concat.c (mempcpy): Don't define if a system header defines
69572         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
69573         (longest_relative_suffix): New function.
69574         (path_concat): Use it.  Assume first argument is not NULL.
69575         Port to DOS.  Omit redundant separators.
69576         Report an error instead of returning NULL.
69577         Use mempcpy instead of memcpy.
69578         (xpath_concat): Remove: not declared or used.
69579
69580         * lib/same.h: Include <stdbool.h>
69581         (same_name): Return bool, not int.
69582         * lib/same.c (same_name): Likewise.
69583         (errno): Don't declare; we assume C89 or better now.
69584
69585         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
69586         if not already defined.
69587
69588         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
69589         * lib/dup-safer.c (errno): Likewise.
69590
69591 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69592
69593         Merge from coreutils.
69594         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
69595         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
69596         * modules/path-concat: Don't depend on strdup.
69597
69598 2004-08-03  Simon Josefsson  <jas@extundo.com>
69599
69600         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
69601         * lib/progname.h: Don't include stdbool.h.
69602
69603 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69604
69605         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
69606         * MODULES.html.sh (func_all_modules): Remove fatal.
69607
69608 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69609
69610         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
69611
69612 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69613
69614         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
69615         working.
69616
69617 2004-08-02  Simon Josefsson  <jas@extundo.com>
69618
69619         * lib/getsubopt.h: New file, with comments from Bruno Haible.
69620         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
69621         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
69622
69623 2004-08-01  Simon Josefsson  <jas@extundo.com>
69624
69625         * lib/xgetdomainname.c: Include stdlib.h, for free().
69626
69627 2004-07-19  Bruno Haible  <bruno@clisp.org>
69628
69629         * MODULES.html.sh (func_all_modules): Add dummy.
69630
69631 2004-07-16  Simon Josefsson  <jas@extundo.com>
69632
69633         * modules/dummy: New file.
69634
69635 2004-07-16  Simon Josefsson  <jas@extundo.com>
69636
69637         * lib/dummy.c: New file.
69638
69639 2004-07-16  Bruno Haible  <bruno@clisp.org>
69640
69641         * lib/backupfile.h: Add extern "C" for C++.
69642         * lib/closeout.h: Likewise.
69643         * lib/copy-file.h: Likewise.
69644         * lib/findprog.h: Likewise.
69645         * lib/full-write.h: Likewise.
69646         * lib/pathname.h: Likewise.
69647         * lib/progname.h: Likewise.
69648         * lib/stpcpy.h: Likewise.
69649         * lib/stpncpy.h: Likewise.
69650         * lib/strcase.h: Likewise.
69651         * lib/strstr.h: Likewise.
69652         * lib/xalloc.h: Likewise.
69653
69654         * lib/mbswidth.h: Add extern "C" for C++.
69655         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
69656
69657 2004-07-13  Robert Millan  <robertmh@gnu.org>
69658
69659         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
69660
69661 2004-07-09  Simon Josefsson  <jas@extundo.com>
69662
69663         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
69664         failed without this.)
69665
69666 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69667
69668         * modules/chown (Files): Add lib/fchown-stub.c, since
69669         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
69670
69671 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69672
69673         * lib/fchown-stub.c: New file.
69674
69675 2004-06-24  Jim Meyering  <jim@meyering.net>
69676
69677         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
69678
69679 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69680
69681         * modules/argz: Omit "#include".
69682
69683         * MODULES.html.sh (func_all_modules): Add calloc, to match
69684         2004-06-01 addition of calloc module.
69685
69686 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69687
69688         * m4/argz.m4: New file, which is autoupdated from libtool.
69689
69690 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69691
69692         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
69693         libtool.
69694
69695 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69696
69697         * config/srclist-update: Don't insist on "USA." before the
69698         close-comment, as libtool omits the period and puts the */ on a
69699         separate line.
69700         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
69701         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
69702
69703 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
69704
69705         * modules/argz: New file.
69706         * MODULES.html.sh (func_all_modules): Add argz.
69707
69708 2004-06-12  Jim Meyering  <jim@meyering.net>
69709         and  Paul Eggert  <eggert@cs.ucla.edu>
69710
69711         * modules/hash (Files): Add lib/xalloc.h.
69712         * modules/pipe (Depends-on): Add wait-process.
69713         * modules/stat (Depends-on): Add xalloc.
69714         * modules/userspec (Files): Add lib/userspec.h.
69715         * modules/xstrto
69716
69717         Upgrade from gettext-0.13.
69718         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
69719         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
69720         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
69721
69722 2004-06-10  Jim Meyering  <jim@meyering.net>
69723
69724         * lib/calloc.c: New file.
69725
69726 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69727
69728         * lib/getdate.y (yylex): Allow space between sign and number.
69729         Problem reported by Dan Jacobson.
69730
69731 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69732
69733         Merge from coreutils CVS.
69734
69735         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
69736         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
69737         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
69738         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
69739         xstrtol.m4: Fix copyright date and/or serial number.
69740
69741         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
69742         See if we need an fchown replacement.
69743         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
69744         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
69745         and use the replacement function if we detect either defect.
69746
69747         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
69748         gl_UTIMECMP.
69749
69750 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69751         and  Jim Meyering  <jim@meyering.net>
69752
69753         Merge from coreutils CVS.
69754
69755         * lib/stat-macros.h: New file, with contents from file-type.h
69756         and coreutils' system.h.
69757         * lib/file-type.c: Include "stat-macros.h".
69758         * lib/file-type.h (file_type): Move all macro definitions to new file,
69759         stat-macros.h.
69760
69761         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
69762         Wrap old code with this conditional.
69763         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
69764         function that does not dereference symlinks.
69765         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
69766
69767         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
69768         dependency problems.
69769         (xreadlink): Accept new arg SIZE, for efficiency.
69770         All decls and uses changed.
69771         * lib/xreadlink.h: Include <stddef.h>, for size_t.
69772
69773         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
69774         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
69775
69776         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
69777         sysexits.h.
69778
69779 2004-06-01  Jim Meyering  <jim@meyering.net>
69780
69781         * m4/calloc.m4: New file.
69782
69783 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
69784
69785         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
69786         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
69787         Also, fix a typo in a diagnostic.
69788
69789 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69790
69791         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
69792         or AC_FUNC_REALLOC.
69793
69794 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69795
69796         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
69797         macros to be defined.
69798         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
69799         the allocator returns NULL because the requested size is zero.
69800
69801 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69802
69803         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
69804         var.  Add comment explaining why libc still defines it.  This
69805         merges the following patch from glibc:
69806         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
69807
69808 2004-05-20  Andreas Schwab  <schwab@suse.de>
69809
69810         * m4/free.m4: Replace free if it not known to work, not the other
69811         way round.
69812
69813 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69814
69815         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
69816         present in glibc since revision 1.1 of this file.
69817         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
69818         obstack_alignment_mask, obstack_alloc, obstack_base,
69819         obstack_blank, obstack_blank_fast, obstack_chunk_size,
69820         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
69821         obstack_grow0, obstack_init, obstack_int_grow,
69822         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
69823         obstack_next_free, obstack_object_size, obstack_ptr_grow,
69824         obstack_ptr_grow_fast, obstack_room): Remove declarations of
69825         nonexistent functions.
69826
69827 2004-05-18  Karl Berry  <karl@gnu.org>
69828
69829         * config/srclist.txt: break link for vasnprintf.c.
69830
69831 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69832
69833         Port obstack to the AS/400, where pointers are 16 bytes wide and
69834         you cannot cast an integer to a valid pointer.  This patch is
69835         currently waiting to be integrated into glibc; see
69836         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
69837
69838         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
69839         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
69840         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
69841         (struct obstack): temp member is now a union of a pointer and
69842         an integer, instead of an integer.  All integer uses changed.
69843         This does not affect the physical layout of struct obstack,
69844         except on hosts (like the AS/400) where the size or alignment of
69845         void * is greater than that of ptrdiff_t.
69846         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
69847         __STDC__)]: Store temporary in pointer member of union, not
69848         integer member.
69849         * lib/obstack.c: Include <stddef.h>, for offsetof.
69850         (struct fooalign): Remove; it doesn't need a name.
69851         (union fooround): Change double to long double, and add void *.
69852         (DEFAULT_ALIGNMENT): Use offsetof to compute.
69853         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
69854         not a macro.  Hence the values are always int; so remove all
69855         casts-to-int in uses.
69856
69857 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69858
69859         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
69860         we can get this patch merged into glibc.
69861
69862 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69863             Paul Eggert  <eggert@cs.ucla.edu>
69864
69865         * m4/argp: Depend on alloca.
69866
69867 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69868             Paul Eggert  <eggert@cs.ucla.edu>
69869
69870         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
69871         freecoding.
69872
69873 2004-05-17  Bruno Haible  <bruno@clisp.org>
69874
69875         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
69876         precision that consists of a '.' followed by an empty digit string.
69877         Patch by Tor Lillqvist <tml@iki.fi>.
69878
69879 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69880
69881         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
69882         for backward compatibility with older code.  We need our own
69883         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
69884         it under some other name, and our alloca.h will define it.
69885
69886 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69887             Derek Price  <derek@ximbiot.com>
69888
69889         * lib/alloca.c: Include <alloca.h>, to get our interface.
69890         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
69891         include <alloca.h> first.  Use C89 prototype for alloca; this
69892         requires including <stddef.h> for size_t.  Use extern "C" if C++.
69893         Use #elif for simplicity, since we can assume C89 now.
69894         Don't try to source the system alloca.h since it will not be found
69895         and to prevent recursively including its replacement.
69896         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
69897         * lib/regex.c: Likewise.
69898
69899 2004-05-16  Derek Price  <derek@ximbiot.com>
69900             Paul Eggert  <eggert@cs.ucla.edu>
69901
69902         getline cleanup.  This changes the getndelim2 API: both order of
69903         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
69904         no delimiter).
69905
69906         * lib/getline.c: Don't include stddef.h or stdio.h, since our
69907         interface does that.
69908         (getline): Always use getdelim, so that we don't have two
69909         copies of this code.
69910         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
69911         if available.
69912         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
69913         (GETNDELIM2_MAXIMUM): New macro.
69914         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
69915         instead of the old practice of delim2==0.  All callers changed.
69916         Return -1 on overflow, instead of returning junk.
69917         Do not set *linesize unless allocation succeeds.
69918         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
69919         that we include sys/types.h.
69920         * lib/getnline.h: Likewise.
69921         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
69922         (getndelim2): Reorder arguments.
69923         * lib/getnline.c (getnline, getndelim):
69924         Don't discard the NMAX argument.
69925         (getnline): Invoke getndelim, to avoid code duplication.
69926         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
69927         of (size_t) -1 by callers of the getnline family.
69928
69929 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69930
69931         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
69932         Check for gettimeofday.
69933         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
69934         Check for settimeofday, stime.
69935
69936 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69937
69938         * lib/nanosleep.c (suspended): Change its type from int to
69939         sig_atomic_t volatile.
69940         (first_call): Make it private to rpl_nanosleep, and have it
69941         be zero initially as that's a bit faster.
69942         (my_usleep): Round up fractional times instead of truncating them,
69943         as this is the usual meaning for 'sleep'.
69944
69945         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
69946         doesn't work.
69947         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
69948         (ENOSYS): Define if not defined.
69949         (settime): Fall back on stime if it exists and settimeofday fails.
69950         But don't bother with fallbacks if a method fails with errno == EPERM.
69951
69952 2004-05-11  Jim Meyering  <jim@meyering.net>
69953
69954         Prior to this change, the save_cwd caller required read access to the
69955         current directory on most systems (ones with the fchdir function).
69956
69957         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
69958         fails, try write-only, and finally, resort to using xgetcwd.
69959
69960 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
69961
69962         * lib/obstack.c, obstack.h: Import changes from libc.
69963
69964 2004-04-28  Bruno Haible  <bruno@clisp.org>
69965
69966         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
69967         also implicitly appends .exe to executables.
69968         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
69969         accepts Windows pathnames.
69970         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69971         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69972         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69973         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69974         Reported by Derek Robert Price <derek@ximbiot.com>.
69975
69976 2004-04-21  Karl Berry  <karl@gnu.org>
69977
69978         * config/srclist.txt (localcharset.c): break sync.
69979
69980 2004-04-20  Paul Eggert  <eggert@twinsun.com>
69981
69982         * m4/host-os.m4: Add a copyright notice.
69983
69984 2004-04-20  Jim Meyering  <jim@meyering.net>
69985
69986         Change UTILS_ to gl_ in AC_DEFINE'd names.
69987         Change utils_- and jm_-prefixed variables, too.
69988         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
69989         UTILS_FUNC_MKDIR_TRAILING_SLASH.
69990         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
69991
69992         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
69993         Don't emit trailing blanks.
69994         Also rename jm_-prefixed variables to have gl_ prefix.
69995
69996         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
69997         Also rename jm_-prefixed variables to have gl_ prefix.
69998
69999         * m4/jm-macros.m4: Reflect the renamings.
70000         * m4/prereq.m4: Likewise.
70001
70002 2004-04-20  Jim Meyering  <jim@meyering.net>
70003
70004         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
70005         memory.
70006
70007 2004-04-20  Jim Meyering  <jim@meyering.net>
70008             Bruno Haible  <bruno@clisp.org>
70009
70010         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
70011         memory when realloc fails.
70012
70013 2004-04-19  Jim Meyering  <jim@meyering.net>
70014
70015         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
70016         now that readutmp.c may call `free (0)'.
70017
70018 2004-04-19  Bruno Haible  <bruno@clisp.org>
70019
70020         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
70021         * m4/inttypes_h.m4: Likewise.
70022         * m4/stdint_h.m4: Likewise.
70023         * m4/intmax_t.m4: Likewise.
70024         * m4/uintmax_t.m4: Likewise.
70025
70026 2004-04-18  Jim Meyering  <jim@meyering.net>
70027
70028         * m4/prereq.m4: Don't forbid jm_ prefix.
70029
70030         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
70031         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
70032         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
70033         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
70034         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
70035         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
70036         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
70037         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
70038         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
70039         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
70040         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
70041         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
70042         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
70043         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
70044         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
70045         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
70046         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
70047         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
70048         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
70049
70050 2004-04-18  Jim Meyering  <jim@meyering.net>
70051
70052         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
70053         failure, don't leak memory and do call END_UTMP_ENT.
70054
70055 2004-04-16  Jim Meyering  <jim@meyering.net>
70056
70057         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
70058         coreutils' stat program.
70059         (gl_PREREQ): Don't require jm_PREREQ_STAT.
70060
70061 2004-04-11  Paul Eggert  <eggert@twinsun.com>
70062
70063         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
70064         C89.
70065         (CHAR_BIT): Remove, since we assume C89.
70066         Include <stdint.h> if available, as per current Autoconf CVS advice.
70067
70068 2004-03-31  Jim Meyering  <jim@meyering.net>
70069
70070         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
70071         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
70072         * m4/xalloc.m4: Likewise.
70073
70074 2004-03-30  Paul Eggert  <eggert@twinsun.com>
70075
70076         Merge from coreutils.
70077
70078         * m4/inttostr.m4: New file.
70079         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
70080         Require AM_STDBOOL_H and gl_TIMESPEC instead.
70081         Require gl_CLOCK_TIME.
70082         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
70083
70084 2004-03-30  Paul Eggert  <eggert@twinsun.com>
70085
70086         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
70087         not bool, to be more consistent with Unix conventions.
70088         Suggested by Bruno Haible.
70089
70090         Merge from coreutils.
70091
70092         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
70093         * lib/umaxtostr.c: New files.
70094
70095         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
70096         the usual <time.h> dance.
70097         (get_date): Change signature to support fractional time stamps.
70098         All callers changed.
70099         * lib/getdate.y: Include "getdate.h" first, as we can now
70100         assume C89 and don't need to worry about 'const'.
70101         Similarly, include "unlocked-io.h" near start, not in middle.
70102         Include <limits.h>.
70103         (textint.value): Use long int rather than int.
70104         (textint.digits): Use size_t rather than int.
70105         (BILLION, LOG10_BILLION): New constants.
70106         (parser_control): New member rel_ns.  Members day_ordinal,
70107         time_zone, month, day, hour, minutes, rel_year, rel_month,
70108         rel_day, rel_hour, rel_minutes, rel_seconds
70109         are now long int, not int.  Member seconds is now struct timespec,
70110         not int.  New member timespec_seen.  Members dates_seen, days_seen,
70111         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
70112         not int.
70113         (%union.intval): Now long int, not int.
70114         New member timespec.
70115         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
70116         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
70117         (spec): Now is a timespec or an item list.
70118         (timespec, items): New nonterminals.
70119         (time, rel, relunit, number, get_date):
70120         Add support for fractional seconds.
70121         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
70122         (gmtime, localtime, mktime): Remove decls; not needed with C89.
70123         (to_hour): First arg is now long int, not int.
70124         (to_year): Returns long int, not int.
70125         Don't treat year -70 like 70.
70126         (tm_diff): Returns long int, not int.
70127         (lookup_word): Use bool instead of int when appropriate.
70128         (yylex): Use size_t for count, not int.
70129         Detect overflow when parsing large integer constants.
70130         Add support for fractions.
70131         (get_date): Make pointers 'const' if possible.
70132         Use more-portable code to detect integer overflow.
70133         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
70134         Don't use ctime; it's not reliable if the year has >4 digits.
70135
70136         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
70137         This is for compatibility with BSD.
70138
70139         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
70140         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
70141         From coreutils' system.h.
70142
70143         * lib/userspec.c: Don't include "posixver.h".
70144         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
70145         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
70146         compatible extension.  Simplify code by removing a boolean int
70147         that was always nonzero if a string was nonnull.
70148
70149 2004-03-30  Jim Meyering  <jim@meyering.net>
70150
70151         Merge from coreutils.
70152
70153         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
70154         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
70155         on some systems one must include <grp.h> before it.
70156         Reported by Christian Krackowizer.
70157
70158 2004-03-30  Jim Meyering  <jim@meyering.net>
70159
70160         Merge from coreutils.
70161
70162         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
70163
70164         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
70165         an empty input stream.
70166
70167         * lib/readtokens.c: Include <stdbool.h>.
70168         (readtoken): Use `size_t' rather than int/long.
70169         All callers adjusted.
70170         Use `bool' rather than `int' where appropriate.
70171         Use memset rather than an explicit loop.
70172         Use x2nrealloc rather than xrealloc.
70173         Allow the use of `\0' as a delimiter.
70174         (readtokens): Likewise.
70175         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
70176
70177 2004-03-30  Jim Meyering  <jim@meyering.net>
70178
70179         * m4/realloc.m4: Remove file, since now it does no more than
70180         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
70181         the `configure.ac' section of module/realloc.
70182         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
70183
70184 2004-03-30  Bruno Haible  <bruno@clisp.org>
70185
70186         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
70187         nonnull.
70188
70189 2004-03-29  Paul Eggert  <eggert@twinsun.com>
70190
70191         Merge changes to getloadavg.c from coreutils and Emacs.
70192
70193         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
70194         Define to an expression, not to the empty string.
70195         Include cloexec.h and xalloc.h.
70196         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
70197         Use set_cloexec_flag rather than rolling our own.
70198         * lib/cloexec.c, lib/cloexec.h: New files.
70199
70200 2004-03-29  Paul Eggert  <eggert@twinsun.com>
70201
70202         * m4/cloexec.m4: New file.
70203
70204 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70205
70206         * lib/getopt.h: Sync with libc CVS.
70207
70208 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70209             Bruno Haible  <bruno@clisp.org>
70210
70211         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
70212         mbswidth.
70213
70214 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70215             Bruno Haible  <bruno@clisp.org>
70216
70217         * lib/mbswidth.h: Include <wchar.h> only if
70218         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
70219         <wchar.h>.
70220         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
70221
70222 2004-03-09  Paul Eggert  <eggert@twinsun.com>
70223
70224         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
70225         Sync with libc CVS.
70226         * lib/getopt_int.h: New file, also synced from libc.
70227
70228 2004-03-09  Paul Eggert  <eggert@twinsun.com>
70229
70230         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
70231         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
70232         Bring back getopt.c, getopt.h, getopt1.c.
70233
70234 2004-03-07  Paul Eggert  <eggert@twinsun.com>
70235
70236         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
70237         All uses changed.  Check for sa_sigaction member; this fixes
70238         a bug first reported by Jason Andrade in
70239         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
70240
70241 2004-03-07  Paul Eggert  <eggert@twinsun.com>
70242
70243         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
70244         '#if' expressions.  Unlike the code it replaces, it does not
70245         depend on (defined _SC_PAGESIZE).  However, it does depend on
70246         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
70247         first reported by Jason Andrade in
70248         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
70249
70250 2004-02-25  Simon Josefsson  <jas@extundo.com>
70251
70252         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
70253
70254 2004-02-25  Simon Josefsson  <jas@extundo.com>
70255
70256         * lib/strdup.h: New file.
70257         * lib/strdup.c: Include it.
70258         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
70259         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
70260
70261 2004-02-23  Karl Berry  <karl@gnu.org>
70262
70263         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
70264         (from fencepost.gnu.org:/gd/gnuorg).
70265
70266 2004-02-23  Karl Berry  <karl@gnu.org>
70267
70268         * config/srclistvars.sh (GNUORG) [karl]: redefine.
70269         * config/srclist.txt: add maintain/standards documents.
70270
70271 2004-02-18  Bruno Haible  <bruno@clisp.org>
70272
70273         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
70274         Reported by Derek Robert Price <derek@ximbiot.com>.
70275
70276 2004-02-16  Karl Berry  <karl@gnu.org>
70277
70278         * config/mkinstalldirs, install-sh: update from automake.
70279
70280 2004-02-06  Karl Berry  <karl@gnu.org>
70281
70282         * m4/po.m4: update from gettext 0.14.1.
70283
70284 2004-02-06  Karl Berry  <karl@gnu.org>
70285
70286         * lib/config.charset: update from gettext 0.14.1.
70287
70288 2004-02-05  Paul Eggert  <eggert@twinsun.com>
70289
70290         Add comments and code, prompted by suggestions from Bruno Haible
70291         for sh-quote.
70292         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
70293         describing the enum quoting_style values.
70294         * lib/quotearg.c (quotearg_alloc): New function.
70295         (quotearg_buffer_restyled): Treat lone { and } as special.
70296         Treat = as special.  Work around bug with older shells
70297         that "see" a '\' that is really the 2nd byte of a multibyte char.
70298         Quote empty string with shell_quoting_style.
70299
70300 2004-02-03  Bruno Haible  <bruno@clisp.org>
70301
70302         * m4/pipe.m4: New file, from GNU gettext.
70303
70304 2004-02-03  Bruno Haible  <bruno@clisp.org>
70305
70306         * lib/pipe.h: New file, from GNU gettext.
70307         * lib/pipe.c: New file, from GNU gettext.
70308
70309 2004-01-27  Bruno Haible  <bruno@clisp.org>
70310
70311         * m4/execute.m4: New file, from GNU gettext.
70312
70313 2004-01-27  Bruno Haible  <bruno@clisp.org>
70314
70315         * lib/execute.h: New file, from GNU gettext.
70316         * lib/execute.c: New file, from GNU gettext.
70317         * lib/w32spawn.h: New file, from GNU gettext.
70318
70319 2004-01-24  Paul Eggert  <eggert@twinsun.com>
70320
70321         Merge from diffutils.
70322
70323         * lib/file-type.c (file_type): Add typed memory objects.
70324         * lib/file-type.h (S_TYPEISTMO): New macro.
70325
70326         * lib/c-stack.h (c_stack_action): Remove argv argument.
70327         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
70328         (die): Don't calculate message unless segv_action returns.
70329         (get_stack_location, min_address_from_argv, max_address_from_argv,
70330         volatile stack_base, volatile_stack_size): Remove.
70331         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
70332         that every segmentation violation is a stack overflow.  (Ouch!)
70333         See Debian bug 136249 (still outstanding) for more info about why
70334         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
70335
70336 2004-01-24  Paul Eggert  <eggert@twinsun.com>
70337
70338         Exit-status fix from coreutils.
70339
70340         Use exit_failure consistently in place of EXIT_FAILURE,
70341         so that program exit statuses are consistent on failure.
70342
70343         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
70344         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
70345         * lib/argmatch.h: Comment fix to match the above.
70346         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
70347         Now a macro referring to exit_failure, instead of a separate
70348         variable.  Include "exitfail.h" to get it.
70349         * lib/xstrtol.h: Include "exitfail.h".
70350         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
70351
70352         * lib/long-options.c (parse_long_options): Use prototype
70353         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
70354         for clarity.
70355
70356 2004-01-21  Jim Meyering  <jim@meyering.net>
70357
70358         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
70359         so as not to conflict with a different-sized __mktime_internal
70360         function in GNU libc.
70361         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
70362         Problem building statically-linked `ls' reported by Michael Brunnbauer.
70363
70364 2004-01-20  Karl Berry  <karl@gnu.org>
70365
70366         * config/config.guess: update from config.
70367
70368         * config/srclistvars.sh: GNUWWWLICENSES for karl.
70369
70370 2004-01-20  Bruno Haible  <bruno@clisp.org>
70371
70372         Safer stack allocation.
70373         * lib/setenv.c: Include allocsa.h.
70374         (alloca): Remove fallback definition.
70375         (freea): Remove macro.
70376         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
70377         instead of freea.
70378
70379 2004-01-20  Bruno Haible  <bruno@clisp.org>
70380
70381         * m4/eealloc.m4: New file, from GNU gettext.
70382
70383 2004-01-20  Bruno Haible  <bruno@clisp.org>
70384
70385         * m4/allocsa.m4: New file, from GNU gettext.
70386
70387 2004-01-20  Bruno Haible  <bruno@clisp.org>
70388
70389         * lib/xallocsa.h: New file, from GNU gettext.
70390         * lib/xallocsa.c: New file, from GNU gettext.
70391
70392 2004-01-20  Bruno Haible  <bruno@clisp.org>
70393
70394         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
70395
70396 2004-01-20  Bruno Haible  <bruno@clisp.org>
70397
70398         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
70399         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
70400         specially.
70401
70402 2004-01-20  Bruno Haible  <bruno@clisp.org>
70403
70404         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
70405         patch.
70406
70407 2004-01-20  Bruno Haible  <bruno@clisp.org>
70408
70409         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
70410
70411 2004-01-20  Bruno Haible  <bruno@clisp.org>
70412
70413         * lib/eealloc.h: New file.
70414
70415 2004-01-20  Bruno Haible  <bruno@clisp.org>
70416
70417         * lib/binary-io.h: Avoid warnings on Cygwin.
70418
70419 2004-01-20  Bruno Haible  <bruno@clisp.org>
70420
70421         * lib/allocsa.h: New file, from GNU gettext.
70422         * lib/allocsa.c: New file, from GNU gettext.
70423
70424 2004-01-18  Karl Berry  <karl@gnu.org>
70425
70426         * doc/gpl.texi, doc/lgpl.texi: new files.
70427
70428 2004-01-18  Karl Berry  <karl@gnu.org>
70429
70430         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
70431         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
70432
70433 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70434
70435         Merge from coreutils.
70436
70437         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
70438         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
70439         (gl_DEFAULT_POSIX2_VERSION): Move
70440         the documentation from 'configure' into 'config.hin',
70441         so that 'configure --help' isn't burdened by it and
70442         we don't have to worry about its formatting there.
70443         Reword the documentation so that it's more succinct
70444         and can be run together into a single paragraph.
70445         * m4/same.m4 (gl_SAME): Check for pathconf.
70446
70447 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70448
70449         Merge from coreutils.
70450
70451         * lib/posixver.c: Include posixver.h.
70452
70453         * lib/same.c: Include <stdbool.h>, <limits.h>.
70454         (_POSIX_NAME_MAX): Define if not defined.
70455         (MIN): New macro.
70456         (same_name): If file names are silently truncated, report
70457         that the file names are the same if they are the same after
70458         the silent truncation.
70459
70460         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
70461         conversion function.
70462         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
70463         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
70464         longer needed.
70465
70466 2004-01-15  Jim Meyering  <jim@meyering.net>
70467
70468         Merge from coreutils.
70469
70470         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
70471         if no library is required.
70472         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
70473         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
70474         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
70475         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
70476         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
70477         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
70478         value, $ac_cv_search_crypt, if it's "none required".
70479         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
70480         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
70481         not gl_FUNC_GETLOADAVG.
70482         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
70483         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
70484
70485 2004-01-15  Jim Meyering  <jim@meyering.net>
70486
70487         Merge from coreutils.
70488
70489         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
70490         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
70491         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
70492
70493         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
70494         optional configure-time default.
70495
70496         * lib/version-etc.c (version_etc_copyright): Update copyright date.
70497
70498         * lib/xreadlink.c (xreadlink): Correct outdated comment.
70499
70500 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
70501
70502         Merge from coreutils.
70503
70504         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
70505         value, $ac_cv_search_nanosleep, if it's "none required".
70506
70507 2004-01-14  Paul Eggert  <eggert@twinsun.com>
70508
70509         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
70510         with like-named macro in fnmatch.c.
70511         (EXT): Use an internal constant instead.
70512
70513         Merge fnmatch patches from glibc.
70514         * lib/fnmatch.c (mbsinit): Remove define.
70515         Add libc_hidden_ver (__fnmatch, fnmatch).
70516         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
70517         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
70518
70519 2004-01-14  Karl Berry  <karl@gnu.org>
70520
70521         * config/install-sh: update from automake.
70522
70523 2004-01-13  Karl Berry  <karl@gnu.org>
70524
70525         * config/install-sh: update from automake.
70526
70527 2004-01-09  Karl Berry  <karl@gnu.org>
70528
70529         * config/install-sh: update from automake.
70530
70531 2004-01-05  Karl Berry  <karl@gnu.org>
70532
70533         * config/config.{sub,guess}: update from config.
70534
70535 2003-12-31  Karl Berry  <karl@gnu.org>
70536
70537         * config/depcomp: update from automake.
70538
70539 2003-12-14  Karl Berry  <karl@gnu.org>
70540
70541         * lib/config.charset: update from gettext-runtime.
70542
70543 2003-12-03  Paul Eggert  <eggert@twinsun.com>
70544
70545         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
70546         Bug reported by Alfred M. Szmidt.
70547
70548 2003-12-03  Bruno Haible  <bruno@clisp.org>
70549
70550         * m4/gettext.m4: Upgrade from gettext-0.13.
70551         * m4/po.m4: Upgrade from gettext-0.13.
70552         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
70553         * m4/intmax.m4: New file, from gettext-0.13.
70554         * m4/printf-posix.m4: New file, from gettext-0.13.
70555
70556 2003-11-29  Karl Berry  <karl@gnu.org>
70557
70558         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
70559
70560 2003-11-25  Paul Eggert  <eggert@twinsun.com>
70561             Bruno Haible  <bruno@clisp.org>
70562
70563         * lib/printf-parse.h: Don't include sys/types.h.
70564         (ARG_NONE): New macro.
70565         (char_directive): Change type of *arg_index fields to size_t.
70566         * lib/printf-parse.c: Don't include sys/types.h.
70567         (SSIZE_MAX): Remove macro.
70568         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
70569         Remove unnecessary overflow check.
70570         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
70571         fields.
70572
70573 2003-11-25  Bruno Haible  <bruno@clisp.org>
70574
70575         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
70576
70577 2003-11-25  Bruno Haible  <bruno@clisp.org>
70578
70579         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
70580         gt_TYPE_SSIZE_T.
70581
70582 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70583
70584         * modules/alloca: Remove dependency on xalloc.
70585
70586 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70587
70588         * lib/alloca.c: Remove dependency on xalloc module.
70589         (xalloc_die): Remove.
70590         (memory_full) [!defined emacs]: New macro.
70591         [!defined emacs]: Don't include xalloc.h.
70592         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
70593         address arithmetic overflows.  Change datatypes a bit to avoid
70594         unnecessary casts.
70595
70596 2003-11-22  Jim Meyering  <jim@meyering.net>
70597
70598         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
70599         s/size/size_t/.
70600
70601 2003-11-21  Karl Berry  <karl@gnu.org>
70602
70603         * config/config.{sub,guess}: update from config.
70604
70605 2003-11-18  Karl Berry  <karl@gnu.org>
70606
70607         * config/config.{sub,guess}: update from config.
70608
70609         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
70610
70611 2003-11-17  Paul Eggert  <eggert@twinsun.com>
70612
70613         * README: Mention that S+T cannot overflow if S is the size of
70614         an existing object and T is sufficiently small.
70615
70616 2003-11-17  Jim Meyering  <jim@meyering.net>
70617
70618         On systems without utime and without a utimes function capable of
70619         dealing with a NULL struct utimbuf* argument, this utime replacement
70620         could -- in unusual circumstances -- leak a file descriptor.
70621         * lib/utime.c: Include <unistd.h> and <errno.h>.
70622         (utime_null): Be sure to close `fd' and to preserve errno.
70623         Reported by Geoff Collyer via Arnold Robbins.
70624
70625 2003-11-17  Bruno Haible  <bruno@clisp.org>
70626
70627         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
70628         (Depends-on): Add xsize.
70629
70630 2003-11-17  Bruno Haible  <bruno@clisp.org>
70631
70632         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
70633
70634 2003-11-17  Bruno Haible  <bruno@clisp.org>
70635
70636         * lib/vasnprintf.c (alloca): Remove fallback definition.
70637         (freea): Remove definition.
70638         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
70639         Reported by Paul Eggert.
70640
70641 2003-11-16  Paul Eggert  <eggert@twinsun.com>
70642             Bruno Haible  <bruno@clisp.org>
70643
70644         Protect against address arithmetic overflow.
70645         * lib/printf-args.h: Include stddef.h.
70646         (arguments): Change type of field 'count' to size_t.
70647         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
70648         'unsigned int' where appropriate.
70649         * lib/printf-parse.h: Include sys/types.h.
70650         (char_directive): Change type of *arg_index fields to ssize_t.
70651         (char_directives): Change type of fields 'count', max_*_length to
70652         size_t.
70653         * lib/printf-parse.c: Include sys/types.h and xsize.h.
70654         (SSIZE_MAX): Define fallback value.
70655         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
70656         instead of 'int' where appropriate. Check a_allocated, d_allocated
70657         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
70658         * lib/vasnprintf.c: Include xsize.h.
70659         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
70660         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
70661         overflow. Avoid wraparound when converting a width or precision from
70662         decimal to binary.
70663
70664 2003-11-16  Bruno Haible  <bruno@clisp.org>
70665
70666         Update from GNU gettext.
70667         * lib/printf-parse.c: Generalize to it can be compiled for wide
70668         strings.
70669         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
70670         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
70671         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
70672         SNPRINTF): New macros.
70673         Don't include <alloca.h> if the file is used inside libintl.
70674         (local_wcslen): New function, for Solaris 2.5.1.
70675         (VASNPRINTF): Use it instead of wcslen.
70676
70677 2003-11-16  Bruno Haible  <bruno@clisp.org>
70678
70679         * lib/xsize.h (xmax): New function.
70680         (xsum, xsum3, xsum4): Declare as "pure" functions.
70681
70682 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70683
70684         * modules/xalloc (Files): Undo latest change, since xalloc.h
70685         no longer needs SIZE_MAX or PTRDIFF_MAX.
70686
70687 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70688
70689         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
70690         gl_PTRDIFF_MAX.
70691
70692 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70693
70694         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
70695         "return", to pacify some unknown compiler.  Problem reported
70696         by Joerg Schilling.
70697
70698 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70699
70700         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
70701         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
70702         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
70703         heuristic is just as accurate as far as we know, and it removes a
70704         dependency on size_max.m4 and ptrdiff_max.m4.
70705
70706 2003-11-11  Bruno Haible  <bruno@clisp.org>
70707
70708         * modules/xsize (Files): Add m4/size_max.m4.
70709         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
70710
70711 2003-11-11  Bruno Haible  <bruno@clisp.org>
70712
70713         * m4/size_max.m4: New file.
70714         * m4/ptrdiff_max.m4: New file.
70715         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
70716         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
70717         (gl_XALLOC): Invoke it.
70718
70719 2003-11-11  Bruno Haible  <bruno@clisp.org>
70720
70721         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
70722         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
70723         defined.
70724
70725 2003-11-10  Paul Eggert  <eggert@twinsun.com>
70726
70727         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
70728         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
70729         rejected some allocations of exactly SIZE_MAX - 2 bytes.
70730         From Bruno Haible.
70731         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
70732         not (size_t) -1, since it's defined here.
70733
70734 2003-11-09  Karl Berry  <karl@gnu.org>
70735
70736         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
70737
70738 2003-11-06  Paul Eggert  <eggert@twinsun.com>
70739
70740         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
70741         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
70742         Reject sizes of exactly SIZE_MAX bytes.
70743         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
70744         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
70745
70746 2003-11-05  Bruno Haible  <bruno@clisp.org>
70747
70748         * lib/xsize.h: Include limits.h, to avoid a possible collision with
70749         SIZE_MAX defined in <limits.h> on Solaris.
70750
70751 2003-11-04  Jim Meyering  <jim@meyering.net>
70752
70753         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
70754         variable names, rather than @VAR@.
70755         * modules/poll: Likewise.
70756
70757 2003-11-04  Bruno Haible  <bruno@clisp.org>
70758
70759         * modules/xsize: New file.
70760         * modules/linebreak: Depend on xsize.
70761         * MODULES.html.sh (func_all_modules): Add xsize.
70762
70763 2003-11-04  Bruno Haible  <bruno@clisp.org>
70764
70765         * m4/xsize.m4: New file.
70766
70767 2003-11-04  Bruno Haible  <bruno@clisp.org>
70768
70769         * lib/xsize.h: New file.
70770         * lib/linebreak.c: Include xsize.h.
70771         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
70772         argument for overflow.
70773         Suggested by Paul Eggert.
70774
70775 2003-11-03  Karl Berry  <karl@gnu.org>
70776
70777         * config/config.{guess,sub}: update from config.
70778
70779 2003-11-03  Jim Meyering  <jim@meyering.net>
70780
70781         * modules/userspec (lib_SOURCES): Add userspec.h.
70782         (Include): Add "userspec.h".
70783         Improve description.
70784
70785 2003-11-03  Jim Meyering  <jim@meyering.net>
70786
70787         * lib/userspec.c: Include "userspec.h".
70788         * lib/userspec.h: New file.
70789
70790 2003-11-03  Bruno Haible  <bruno@clisp.org>
70791
70792         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
70793
70794 2003-11-03  Bruno Haible  <bruno@clisp.org>
70795
70796         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
70797         available, to avoid (extremely rare) race condition.
70798         Suggested by Paul Eggert.
70799
70800 2003-11-02  Karl Berry  <karl@gnu.org>
70801
70802         * config/srclist.txt (vasprintf.c): sync broken, sigh.
70803
70804 2003-10-31  Paul Eggert  <eggert@twinsun.com>
70805
70806         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
70807         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
70808         (read_filesystem_list): Set and use me_type_malloced.
70809         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
70810         whatever the type happens to be), for brevity and consistency.
70811         Check for size calculation overflow on Alphas running OSF/1.
70812
70813 2003-10-31  Jim Meyering  <jim@meyering.net>
70814
70815         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
70816
70817         * lib/linebuffer.c: Include <string.h> for declaration of memset.
70818
70819 2003-10-30  Paul Eggert  <eggert@twinsun.com>
70820             Bruno Haible  <bruno@clisp.org>
70821
70822         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
70823         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
70824
70825 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70826
70827         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
70828         netbsd*-gnu*.  Suggested by Robert Millan.
70829
70830 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70831
70832         * modules/group-member: Depend on stdbool.
70833
70834 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70835
70836         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
70837
70838 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70839
70840         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
70841         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
70842         after the 'gnu' in these cases.  This fixes some bugs in the
70843         previous change, and is based on suggestions by Robert Millan.
70844
70845 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70846
70847         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
70848         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
70849         no longer needed.
70850         * lib/quotearg.c (quotearg_n_options): Use it.
70851         * lib/group-member.c: Include <stdbool.h>.
70852         (free_group_info): Arg is now const *; don't free arg.
70853         (get_group_info): Now returns bool and accepts struct group_info *,
70854         rather than returning a malloc'ed struct group_info *.
70855         All uses changed.  Check for overflow in internal size calculation.
70856
70857         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
70858         rather than xmalloc/xrealloc.
70859         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
70860         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
70861         conformance bug: the old code used a pointer after freeing the
70862         storage that it addressed.
70863         * lib/hash.c (hash_initialize): Simplify the code by using
70864         xalloc_oversized rather than doing it by hand.
70865         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
70866         the buffer preserved.  Use free and xmalloc instead.
70867         * lib/quotearg.c (quotearg_n_options): Likewise.
70868         Use a simpler test for size overflow.  Don't use xalloc_oversized
70869         because unsigned int might be wider than size_t (!); this suggests
70870         that we should switch from unsigned int to size_t for slot numbers.
70871
70872 2003-10-28  Paul Eggert  <eggert@twinsun.com>
70873
70874         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
70875         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
70876         NetBSD kernels.  Requested by Richard Stallman.
70877
70878 2003-10-27  Paul Eggert  <eggert@twinsun.com>
70879
70880         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
70881         to allocate the returned structure.  Do not allocate a subarray,
70882         as x2nrealloc will do that.
70883         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
70884         instead of xnrealloc.
70885         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
70886
70887 2003-10-27  Bruno Haible  <bruno@clisp.org>
70888
70889         * lib/stdbool_.h: Better support for BeOS.
70890
70891 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70892
70893         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
70894         now uses inline.
70895
70896 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70897
70898         * lib/xalloc.h (xalloc_oversized): New static inline function, for
70899         callers that want to do their own size-overflow checking.  Include
70900         <stdbool.h>, since xalloc_oversized returns bool.
70901         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
70902         to use xalloc_oversized.
70903
70904         Add two functions x2realloc, x2nrealloc, for programs that grow
70905         arrays dynamically by doubling their sizes.
70906         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
70907         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
70908         New functions.
70909
70910         Port to C99 semantics for 'inline' of external functions.
70911         Bug reported by Bruno Haible.
70912         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
70913         with the old contents of xnmalloc.
70914         (xnmalloc, xmalloc): Use it.
70915         (xnrealloc_inline): New static inline function,
70916         with the old contents of xnrealloc.
70917         (xnrealloc, xrealloc): Use it.
70918
70919         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
70920         that.
70921
70922 2003-10-26  Karl Berry  <karl@gnu.org>
70923
70924         * config/srclist.txt (COPYING.DOC): no longer available from
70925         /gd/gnuorg; don't know where the ultimate source is.
70926
70927 2003-10-25  Paul Eggert  <eggert@twinsun.com>
70928
70929         Fix several address-calculation bugs in the hash modules,
70930         plus some minor code cleanup.
70931
70932         * lib/hash.h: Include <stdbool.h>, for bool.
70933         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
70934         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
70935         hash_get_n_entries, hash_get_max_bucket_length,
70936         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
70937         hash_rehash): Use size_t rather than unsigned.
70938         * lib/hash.c (struct hash_table, hash_get_n_buckets,
70939         hash_get_n_buckets_used, hash_get_n_entries,
70940         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
70941         hash_get_entries, hash_do_for_each, hash_string, is_prime,
70942         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
70943         Likewise.
70944         (SIZE_MAX): Define if not defined.
70945         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
70946         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
70947         hash_print):
70948         Use const * when possible.
70949         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
70950         (check_tuning): Fix bug: if tuning parameters were very close to
70951         0 or 1, rounding errors could have caused subscript violations.
70952         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
70953         (hash_initialize): Add 'fail:' label
70954         to free table and return NULL, and use it to simplify code.
70955         Use calloc rather than clearing the storage ourself.
70956         (hash_initialize, hash_rehash): Check for arithmetic overflow in
70957         buffer size calculations.
70958         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
70959         Include <stddef.h>, for size_t.
70960         * lib/hash-pjw.c (hash_pjw): Likewise.
70961         Switch to method described by Bruno Haible.
70962         Include <limits.h>, for CHAR_BIT.
70963         (SIZE_BITS): New macro.
70964
70965 2003-10-23  Paul Eggert  <eggert@twinsun.com>
70966
70967         * m4/getline.m4 (AM_FUNC_GETLINE):
70968         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
70969         hosts.  Problem reported by Derek Robert Price in
70970         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
70971         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
70972         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
70973
70974 2003-10-21  Paul Eggert  <eggert@twinsun.com>
70975
70976         * lib/getndelim2.c (getndelim2): When size calculation overflows,
70977         ceiling the allocation at NMAX bytes rather than silently
70978         discarding input bytes before NMAX is reached.  This makes
70979         a difference only if NMAX exceeds SIZE_MAX / 2.
70980
70981         * lib/obstack.c: Merge from glibc.
70982         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
70983         Add libc_hidden_def (_obstack_newchunk).
70984         (_obstack_free) [! defined _LIBC]: Remove.
70985         [defined _LIBC]: Make a strong alias from obstack_free, rather than
70986         a clone of the function body.
70987         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
70988         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
70989
70990         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
70991         glibc.
70992         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
70993         arg to memcpy.
70994
70995         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
70996         (obstack_ptr_grow_fast, obstack_int_grow_fast):
70997         Don't use lvalue casts, as GCC plans to remove support for them
70998         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
70999         was also present in the non-GCC version, indicating that this
71000         code had always been buggy and had never been widely used.
71001         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
71002         Use the fast variant of each macro, rather than copying the
71003         definiens of the fast variant; that way, we'll be more likely to
71004         catch future bugs in the fast variants.
71005
71006 2003-10-20  Bruno Haible  <bruno@clisp.org>
71007
71008         * modules/wait-process: New file.
71009         * MODULES.html.sh (func_all_modules): Add wait-process.
71010
71011 2003-10-20  Bruno Haible  <bruno@clisp.org>
71012
71013         * m4/wait-process.m4: New file.
71014
71015 2003-10-20  Bruno Haible  <bruno@clisp.org>
71016
71017         * lib/wait-process.h: New file, from GNU gettext.
71018         * lib/wait-process.c: New file, from GNU gettext.
71019
71020 2003-10-19  Jim Meyering  <jim@meyering.net>
71021
71022         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
71023         HPUX 10.20.
71024
71025 2003-10-18  Karl Berry  <karl@gnu.org>
71026
71027         * config/config.guess: update from config.
71028
71029 2003-10-16  Paul Eggert  <eggert@twinsun.com>
71030
71031         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
71032         (getgroups): First arg is int, not size_t.
71033         Don't let 'free' mangle errno.
71034
71035 2003-10-16  Paul Eggert  <eggert@twinsun.com>
71036
71037         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
71038
71039 2003-10-16  Karl Berry  <karl@gnu.org>
71040
71041         * config/config.{guess,sub}: update from config.
71042
71043 2003-10-16  Jim Meyering  <jim@meyering.net>
71044
71045         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
71046         memcpy.
71047
71048 2003-10-15  Paul Eggert  <eggert@twinsun.com>
71049
71050         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
71051         (SIZE_MAX): Remove.
71052         (new_exclude, add_exclude_file): Initial size no longer needs to
71053         be a power of 2.
71054         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
71055         our own address arithmetic overflow checking.
71056
71057         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
71058         (fnmatch): Do not alloca more than 2000 wide characters;
71059         instead, use malloc for large buffers.
71060         Check for address arithmetic overflow, and return -1
71061         with errno set to ENOMEM in that case.
71062         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
71063         (NEW_PATTERN): Do not alloca more than 8000 bytes;
71064         instead, return -1.  Check for address arithmetic overflow.
71065
71066 2003-10-14  Paul Eggert  <eggert@twinsun.com>
71067
71068         Handle invalid suffixes and overflow independently, so that
71069         callers can treat them independently as needed.  Fix some bugs in
71070         suffix handling, e.g., "100k@" was not diagnosed as an invalid
71071         suffix for a human-readable blocksize.  The major caller-visible
71072         change is the addition of a new
71073         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
71074         that both overflow and suffix chars were found.
71075
71076         * lib/human.c (humblock): Don't check separately for invalid suffix
71077         char; that is xstrtoumax's job (now that its bug is fixed).
71078         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
71079         INTMAX_MAX]: New macros.
71080         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
71081         TYPE_MAXIMUM): New macros.
71082         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
71083         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
71084         if overflow occurs, as it's what __strtol does and it's more useful
71085         in practice.
71086         (__xstrtol): If __strtol reports some error other than ERANGE,
71087         reflect it to the caller as LONGINT_INVALID.  If it reports
71088         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
71089         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
71090         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
71091         value.
71092         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
71093         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
71094         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
71095         [defined UINTMAX_MAX]: New macros.
71096
71097 2003-10-14  Bruno Haible  <bruno@clisp.org>
71098
71099         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
71100
71101 2003-10-14  Bruno Haible  <bruno@clisp.org>
71102
71103         * m4/sig_atomic_t: New file, from GNU gettext.
71104         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
71105
71106 2003-10-14  Bruno Haible  <bruno@clisp.org>
71107
71108         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
71109         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
71110         Also use volatile where needed.
71111
71112 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71113
71114         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
71115         Change maintainer from Bruno Haible to 'all'.
71116
71117 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71118
71119         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
71120
71121 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71122
71123         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
71124         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
71125         and define in terms of the other primitives.
71126         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
71127         (SIZE_MAX): Define if not already defined.
71128         (array_size_overflow): New function.
71129         (xalloc_die): Abort instead of exiting if 'error' returns.
71130         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
71131         (xmalloc, xrealloc): Use them.
71132         (xcalloc): Check for address arithmetic overflow.
71133         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
71134         a bit faster than strcpy.
71135
71136 2003-10-10  Simon Josefsson  <jas@extundo.com>
71137
71138         * modules/argp (Depends-on): Add restrict and strcase.
71139
71140 2003-10-10  Simon Josefsson  <jas@extundo.com>
71141
71142         * m4/argp.m4: Add AC_C_INLINE.
71143
71144 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71145
71146         Merge getpass from libc, plus a few fixes.
71147
71148         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
71149         Include <stdbool.h>.
71150         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
71151         __fsetlocking to empty.
71152         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
71153         do include <bits/libc-lock.h>.
71154         Do not include <fcntl.h>; not needed.
71155         [_LIBC]: Include <wchar.h>.
71156         (NOTCANCEL_MODE): New macro.
71157         (flockfile, funlockfile) [_LIBC]: New macros.
71158         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
71159         [!_LIBC]: New macros.
71160         (call_fclose): New function.
71161         (getpass): Use it.  Save tty stream separately; this simplifies the
71162         code and makes it more reliable if stdin happens to equal stdout.
71163         Invoke __fsetlocking on tty.
71164         Handle thread cancellation if needed.
71165         Namespace cleanup (use __tcgetattr, __getline).
71166         Use bool for Booleans.
71167         [USE_IN_LIBIO]: Handle wide streams.
71168         [!_LIBC]: Unconditionally do the fseek, since we don't know what
71169         stream might go where.
71170
71171         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
71172         doesn't have to include <stdio.h> before us.
71173         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
71174         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
71175         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
71176         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
71177         if not declared, so that we can use getpass.c code from libc without
71178         rewriting it.
71179         (flockfile, ftrylockfile, funlockfile): New macros.
71180
71181 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71182
71183         * modules/getpass: Depend on stdbool.
71184
71185 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71186
71187         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
71188
71189 2003-10-07  Karl Berry  <karl@gnu.org>
71190
71191         * config/config.{guess,sub}: update from config.
71192
71193 2003-10-06  Jim Meyering  <jim@meyering.net>
71194             Bruno Haible  <bruno@clisp.org>
71195
71196         This lets translators provide better translations for the
71197         "Written by ..." part of --version output.
71198         * lib/version-etc.h: Include stdarg.h.
71199         (version_etc_copyright): Declare as readonly.
71200         (version_etc): Make this function variadic with a NULL-terminated list
71201         of author name strings.
71202         (version_etc_va): New declaration.
71203         * lib/version-etc.c: Include stdarg.h, stdlib.h.
71204         (version_etc_copyright): Declare as readonly.
71205         (version_etc_va): New function. Provide a different translatable string
71206         for each possible number of authors < 10. Abbreviate when there are 10
71207         authors or more.
71208         (version_etc): Make this function variadic. Call version_etc_va.
71209         Suggestion from Gary V. Vaughan.
71210
71211         * lib/long-options.h (parse_long_options): Change prototype: the
71212         authors string is moved to the end and becomes variadic.
71213         * lib/long-options.c: Include stdarg.h.
71214         (parse_long_options): Make this function variadic, too.
71215         Call version_etc_va, not version_etc.
71216
71217 2003-10-06  Bruno Haible  <bruno@clisp.org>
71218
71219         * modules/version-etc-2: Remove file.
71220         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
71221
71222 2003-10-06  Bruno Haible  <bruno@clisp.org>
71223
71224         * modules/fatal-signal: New file.
71225         * MODULES.html.sh (func_all_modules): Add fatal-signal.
71226
71227 2003-10-06  Bruno Haible  <bruno@clisp.org>
71228
71229         * m4/fatal-signal.m4: New file.
71230         * m4/signalblocking.m4: New file, from GNU gettext.
71231
71232 2003-10-06  Bruno Haible  <bruno@clisp.org>
71233
71234         * lib/version-etc-2.h: Remove file.
71235         * lib/version-etc-2.c: Remove file.
71236
71237 2003-10-06  Bruno Haible  <bruno@clisp.org>
71238
71239         * lib/fatal-signal.h: New file, from GNU gettext.
71240         * lib/fatal-signal.c: New file, from GNU gettext.
71241
71242 2003-10-05  Paul Eggert  <eggert@twinsun.com>
71243
71244         * README: Rework advice for preventing empty .o files.
71245         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
71246         not <sys/types.h>.
71247
71248 2003-10-04  Karl Berry  <karl@gnu.org>
71249
71250         * lib/argp*: update from libc.
71251
71252 2003-10-04  Karl Berry  <karl@gnu.org>
71253
71254         * config/config.{guess,sub}: update from config.
71255
71256 2003-10-02  Bruno Haible  <bruno@clisp.org>
71257
71258         * modules/lchown (Include): Add lchown.h.
71259         * modules/time_r (Include): Use "..." syntax.
71260         * modules/xgetdomainname (Include): Add xgetdomainname.h.
71261
71262 2003-10-01  Simon Josefsson  <jas@extundo.com>
71263
71264         * MODULES.html.sh (func_all_modules): Move gethostname from section
71265         'based on' to section 'lacking' POSIX:2001.
71266
71267 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
71268
71269         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
71270         to output mode on the same stream.
71271
71272 2003-09-29  Paul Eggert  <eggert@twinsun.com>
71273
71274         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
71275         Fix arg typo in previous patch.
71276
71277 2003-09-28  Jim Meyering  <jim@meyering.net>
71278
71279         * lib/error.c: Correct cpp indentation.
71280
71281 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71282
71283         * modules/free: New file.
71284
71285 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71286
71287         * m4/free.m4: New file.
71288
71289 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71290
71291         * lib/minmax.h (MIN, MAX)
71292         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
71293         Omit the special code that used __typeof__, since we worry that
71294         it could be more trouble than it's worth.  See:
71295         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
71296         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
71297
71298         * lib/free.c: New file.
71299
71300 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
71301
71302         Trivial fixes to Makefile.am parts of module listings.
71303         * modules/strstr: Append strstr.h to lib_SOURCES.
71304         * modules/strcase: Likewise, for strcase.h.
71305
71306 2003-09-27  Karl Berry  <karl@gnu.org>
71307
71308         * config/mkinstalldirs: update from automake.
71309
71310 2003-09-26  Paul Eggert  <eggert@twinsun.com>
71311
71312         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
71313         (error_tail): Do not loop, reallocating temporary buffer, since
71314         the output cannot contain more wide characters than the input
71315         contains bytes, the size must be big enough already.  This avoids
71316         one potential size overflow calculation.  Check for size overflow
71317         when calculating temporary buffer size.  Free temporary buffer
71318         when done, if it was allocated with malloc; this plugs a memory
71319         leak.  Remove casts from void * to pointers, that are no longer
71320         needed now that we're assuming C89 or better.
71321
71322         Merge error changes from glibc.
71323
71324         * lib/error.c, error.h: Update copyright notice header to match glibc.
71325         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
71326         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
71327         Disable cancellation while printing error.
71328         * lib/error.h: Prepend __ to parameter names.
71329
71330 2003-09-26  Jim Meyering  <jim@meyering.net>
71331
71332         * lib/error.c (error_tail): Move some declarations
71333         into inner scope where the local variables are used.
71334
71335 2003-09-26  Bruno Haible  <bruno@clisp.org>
71336
71337         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
71338         stpncpy().
71339         Don't define stpncpy through config.h; it's now done through stpncpy.h.
71340
71341 2003-09-26  Bruno Haible  <bruno@clisp.org>
71342
71343         * lib/stpncpy.h (gnu_stpncpy): New declaration.
71344         (stpncpy): Define as alias for gnu_stpncpy.
71345         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
71346
71347 2003-09-25  Simon Josefsson  <jas@extundo.com>
71348
71349         * lib/xgetdomainname.h: New file.
71350         * lib/xgetdomainname.c: New file.
71351
71352 2003-09-25  Simon Josefsson  <jas@extundo.com>
71353             Bruno Haible  <bruno@clisp.org>
71354
71355         * modules/getdomainname: New file.
71356         * modules/xgetdomainname: New file.
71357         * MODULES.html.sh (func_all_modules): Add getdomainname,
71358         xgetdomainname.
71359
71360 2003-09-25  Simon Josefsson  <jas@extundo.com>
71361             Bruno Haible  <bruno@clisp.org>
71362
71363         * m4/getdomainname.m4: New file.
71364
71365 2003-09-25  Simon Josefsson  <jas@extundo.com>
71366             Bruno Haible  <bruno@clisp.org>
71367
71368         * lib/getdomainname.h: New file.
71369         * lib/getdomainname.c: New file.
71370
71371 2003-09-25  Karl Berry  <karl@gnu.org>
71372
71373         * lib/argp-fmtstream.c, argp-help.c: update from libc.
71374
71375 2003-09-25  Karl Berry  <karl@gnu.org>
71376
71377         * config/install-sh: update from automake.
71378
71379 2003-09-25  Bruno Haible  <bruno@clisp.org>
71380
71381         * modules/version-etc-2: New file, from modules/version-etc with
71382         modifications.
71383         * MODULES.html.sh (func_all_modules): Add version-etc-2.
71384
71385 2003-09-25  Bruno Haible  <bruno@clisp.org>
71386
71387         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
71388         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
71389
71390 2003-09-24  Simon Josefsson  <jas@extundo.com>
71391
71392         * modules/xgethostname: Add xgethostname.h.
71393
71394 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71395
71396         * lib/linebuffer.c (freebuffer): Don't free the argument, just
71397         the buffer associated with the argument.  Bug reported by
71398         Simon Josefsson.
71399
71400 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71401
71402         * README: Document assumptions that 'int' is at least 32 bits
71403         wide, that integer arithmetic is 2's complement without overflow,
71404         that there are no holes in integer values, that adding sizes of
71405         two nonoverlapping objects can't overflow, and that all-bits-zero
71406         yields scalar zero.  Fix spelling and capitalization typos.
71407
71408 2003-09-19  Karl Berry  <karl@gnu.org>
71409
71410         * lib/argp.h: update from libc.
71411
71412 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71413
71414         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
71415         to avoid spurious warnings like "AC_RUN_IFELSE was called before
71416         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
71417
71418 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71419
71420         * gnulib-tool: Use "test -h", not "test -L", for portability
71421         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
71422         (tags_regexp): Remove, since \| doesn't conform to POSIX.
71423         (sed_extract_prog): Issue s commands one-by-one, rather than
71424         using \| in one s command.
71425
71426 2003-09-16  Paul Eggert  <eggert@twinsun.com>
71427
71428         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
71429         input error, instead of returning NULL the next time we are called
71430         (and therefore losing track of errno).
71431
71432 2003-09-16  Bruno Haible  <bruno@clisp.org>
71433
71434         * gnulib-tool (func_create_testdir): Warn about duplicated
71435         dependencies.
71436
71437 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71438
71439         * modules/argmatch, modules/fatal, modules/obstack,
71440         modules/xalloc, modules/xgethostname: Sort dependencies by
71441         importance, not alphabetically.
71442
71443 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71444
71445         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
71446         fails, so that the caller gets the proper errno.
71447
71448         * lib/readutmp.c (read_utmp): Likewise.
71449         Check for fstat error.  Close stream and free storage
71450         when failing.
71451
71452 2003-09-14  Karl Berry  <karl@gnu.org>
71453
71454         * config/srclist.txt (strdup.c): disable for c89 changes.
71455
71456 2003-09-14  Jim Meyering  <jim@meyering.net>
71457
71458         * lib/getloadavg.c: Correct cpp indentation.
71459         * lib/strdup.c: Likewise.
71460         * lib/vasnprintf.c: Likewise.
71461
71462 2003-09-14  Bruno Haible  <bruno@clisp.org>
71463
71464         * modules/fwriteerror: New file.
71465         * MODULES.html.sh (func_all_modules): Add fwriteerror.
71466
71467 2003-09-14  Bruno Haible  <bruno@clisp.org>
71468
71469         * lib/fwriteerror.h: New file.
71470         * lib/fwriteerror.c: New file.
71471
71472 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71473
71474         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
71475         modules/xgethostname, modules/xalloc: Depend on exit.
71476
71477 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71478
71479         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
71480
71481         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
71482         and AC_MINIX, too, so that their extensions are available.
71483
71484         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
71485         This macro has been superseded by gl_BACKUPFILE.
71486
71487         More patches to assume C89 or better.
71488
71489         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
71490
71491         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
71492         unconditionally.
71493         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
71494         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
71495         Include <string.h>, <stdlib.h> unconditionally.
71496         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
71497         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
71498         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
71499         headers or for string.h.
71500         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
71501         or strtoul.
71502
71503         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
71504         headers.
71505         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
71506         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71507         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
71508         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
71509         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71510         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
71511         memcpy, memset.
71512         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
71513         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
71514         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
71515         strtol.
71516         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
71517         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
71518         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
71519         strtoul.
71520
71521 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71522
71523         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
71524         * lib/obstack.c [!defined _LIBC]: Likewise.
71525         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
71526         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
71527         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
71528
71529         More changes to assume C89 or better.
71530
71531         * lib/error.c (error_tail): Assume vprintf.
71532
71533         * lib/argmatch.c (getenv): Remove decl.
71534         * lib/progreloc.c (get_full_program_name): Define via prototype.
71535         * lib/setenv.c (clearenv): Likewise.
71536         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
71537         needed.
71538         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
71539         (malloc, memcpy): Remove decls.
71540         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
71541         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
71542         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71543         (memcpy): Remove macro.
71544         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
71545         (__P): Remove.  All uses removed.
71546         (PTR): Remove.  All uses changed to void *.
71547         (CHAR_BIT, NULL): Remove.
71548         (spaces, zeros, memset_space, memset_zero)
71549         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
71550         Remove.
71551         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
71552         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
71553         Define with prototype.
71554         Remove now-unnecessary prototype decl.
71555         (extra_args_spec): Assume ANSI C.  All uses changed.
71556         (extra_args_spec_iso): Remove.
71557         (my_strftime, emacs_strftimeu): Define via prototype.
71558         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
71559         unconditionally.
71560         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
71561         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
71562         (strtoul, strtol): Remove decls.
71563         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
71564         LONG_MAX): Remove.
71565         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71566         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
71567         (LOCALE_PARAM_PROTO): New macro.
71568         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
71569         (INTERNAL (strtol), strtol): Define with a prototype.
71570         (PARAMS): Remove.  All uses removed.
71571         * lib/tempname.c: Include <string.h> unconditionally.
71572         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
71573         * lib/xgethostname.c (main): Define with a prototype.
71574         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
71575         Include <stdlib.h> unconditionally.
71576         (calloc, malloc, realloc, free): Remove decls.
71577         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
71578         Include <stdlib.h> unconditionally.  Sort include file names.
71579         (strtod): Remove.
71580         (xstrtod): Define with a prototype.
71581         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
71582         (strtol, strtoul): Remove decls.
71583
71584 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71585
71586         More patches to assume C89 or better.
71587         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
71588         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
71589         string.h, memchr, STDC_HEADERS.
71590
71591 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71592
71593         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
71594         Include <stdlib.h>, <string.h> unconditionally.
71595         Remove now-unnecessary cast to char *.
71596         * lib/strnlen.c: Include <string.h> unconditionally.
71597         * lib/yesno.c (yesno): Define with a prototype.
71598
71599 2003-09-11  Bruno Haible  <bruno@clisp.org>
71600
71601         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
71602
71603 2003-09-10  Jim Meyering  <jim@meyering.net>
71604
71605         * lib/error.c: Correct indentation of cpp directives.
71606
71607 2003-09-10  Bruno Haible  <bruno@clisp.org>
71608
71609         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
71610         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
71611         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
71612         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
71613         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
71614         <stdlib.h> and <string.h> checks.
71615         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
71616         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
71617
71618 2003-09-10  Bruno Haible  <bruno@clisp.org>
71619
71620         * lib/strcspn.c: Include <string.h> unconditionally.
71621         * lib/strpbrk.c: Include <string.h> unconditionally.
71622         * lib/strstr.c: Include <string.h> unconditionally.
71623         * lib/unicodeio.c: Include <string.h> unconditionally.
71624         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
71625         * lib/unsetenv.c: Likewise.
71626         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
71627         * lib/yesno.c: Include <stdlib.h> unconditionally.
71628         (rpmatch): Add prototype.
71629
71630 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71631
71632         More patches to assume C89 or better.
71633         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
71634         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
71635         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
71636         or for string.h.
71637         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
71638         stdlib.h.
71639         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
71640         C headers.
71641         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
71642         string.h.
71643         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
71644         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
71645         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
71646         or for string.h.
71647         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
71648         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
71649         C headers.
71650         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
71651         memcpy.
71652         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
71653         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
71654         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
71655         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
71656         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
71657         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
71658         string.h, free.
71659         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
71660         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
71661         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
71662         C headers, or for string.h.
71663         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
71664         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
71665         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
71666         headers, memory.h, stdlib.h, string.h, strings.h.
71667         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
71668         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
71669         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
71670         strchr.
71671         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
71672         headers, memory.h, string.h.
71673         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
71674         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
71675         free.
71676         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
71677         headers.
71678         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
71679         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
71680         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
71681         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
71682         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
71683
71684 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71685
71686         More K&R removal.
71687
71688         * lib/acosl.c (main): Use a prototype.
71689         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
71690         tanl.c: Likewise.
71691
71692         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
71693
71694         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
71695         (getopt, etopt_long, getopt_long_only, _getopt_internal)
71696         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
71697         with a prototype.
71698         * lib/getopt.c (const): Remove macro.
71699         Include <string.h> unconditionally.
71700         (my_index): Remove; all uses changed to strchr.
71701         (strlen): Remove decl.
71702         (exchange): Remove forward decl; no longer needed.
71703         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
71704         Define with prototype.
71705         * lib/getopt1.c (const): Remove macro.
71706         (getopt_long, getopt_long_only, main): Define with prototype.
71707
71708         * lib/getugroups.c: Include <string.h> unconditionally.
71709
71710         * lib/getusershell.c: Include <stdlib.h> unconditionally.
71711         (getusershell, setusershell, endusershell, readname, main):
71712         Define with prototypes.
71713
71714         * lib/group-member.c: Include group-member.h first.
71715         Include <stdlib.h> unconditionally.
71716
71717         * lib/hard-locale.c: Include hard-locale.h first.
71718         Include <stdlib.h>, <string.h> unconditionally.
71719
71720         * lib/hash.c (free, malloc): Remove decls.
71721         Include <stdlib.h> unconditionally.
71722
71723         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
71724         (getenv): Do not declare.
71725
71726         * lib/idcache.c: Include <string.h> unconditionally.
71727
71728         * lib/long-options.c: Include long-options.h first, to test interface.
71729         Include <stdlib.h> unconditionally.
71730
71731         * lib/makepath.c: Include makepath.h first, to test interface.
71732         Include <stdlib.h> and <string.h> unconditionally.
71733
71734         * lib/linebuffer.c: Include <stdlib.h>.
71735         (free): Remove decl.
71736
71737         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
71738         stddef.h. rpl_malloc returns void *, not char *.
71739         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
71740         prototype.
71741
71742         * lib/md5.h: Include <limits.h> unconditionally.
71743         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
71744         (__P): Remove; all uses removed.
71745         * lib/md5.c: Include "md5.h" first.
71746         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
71747         md5_buffer, md5_process_bytes, md5_process_block):
71748         Define with prototypes.
71749         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
71750         * lib/sha.c: Include "sha.h" first.
71751         Include <stdlib.h>, <string.h> unconditionally.
71752
71753         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
71754         * lib/memcmp.c (__ptr_t): Likewise.
71755         * lib/memrchr.c (__ptr_t): Likewise.
71756         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
71757         Include <string.h> unconditionally.
71758         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
71759         * lib/memchr.c: Include <stdlib.h> unconditionally.
71760         * lib/memchr.c (LONG_MAX): Remove.
71761         * lib/memrchr.c (LONG_MAX): Likewise.
71762         * lib/memchr.c (__memchr): Define via a prototype.
71763         * lib/memrchr.c (__memrchr): Likewise.
71764         * lib/memcmp.c (__P): Remove, and remove all uses.
71765         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
71766         Remove forward decls; no longer needed.
71767         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
71768         Use types required by C89 in prototype.
71769
71770         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
71771         * lib/savedir.c: Likewise.
71772         * lib/mkdir.c (free): Remove decl.
71773         * lib/rmdir.c (rmdir): Define with a prototype.
71774         * lib/savedir.c: Include savedir.h first, to test interface.
71775
71776         * lib/mktime.c (STDC_HEADERS): Remove.
71777         Include <stdlib.h>, <string.h> unconditionally.
71778
71779         * lib/modechange.c: Include <stdlib.h> unconditionally.
71780         (malloc): Remove decl.
71781
71782         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
71783         (free): Remove decl.
71784
71785         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
71786         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
71787         (This type really should be intptr_t, but that's a C99ism.)
71788         (_obstack_memcpy): Remove: all uses changed to memcpy.
71789         Include <string.h> unconditionally.
71790         (struct obstack): Assume __STDC__ for types of members
71791         chunkfun, freefun, extra_arg.
71792         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
71793         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
71794         obstack_begin, obstack_specify_allocation,
71795         obstack_specify_allocation_with_arg, obstack_chunkfun,
71796         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
71797         Remove unprototyped decls and the macros that use them.
71798         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
71799         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
71800         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
71801         (defined __STDC__ && __STDC__)]:
71802         Remove nonprototyped code.
71803         Include <stdlib.h> unconditionally.
71804         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
71805         _obstack_allocated_p, _obstack_free, obstack_free,
71806         _obstack_memory_used, print_and_abort):
71807         Define using prototypes.
71808         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
71809         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
71810         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
71811         obstack_next_free, obstack_object_size, obstack_room) [0]:
71812         Remove unused, unprototyped code.
71813
71814         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
71815
71816         * lib/physmem.c (physmem_total, physmem_available, main): Define
71817         with prototypes.
71818
71819         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
71820         (main): Define with a prototype.
71821
71822         * lib/posixver.c (getenv): Remove decl.
71823
71824         * lib/putenv.c (malloc): Returns void *, not char *.
71825         Include <string.h> unconditionally.
71826         (strchr, memcpy, NULL): Do not define.
71827
71828         * lib/readtokens.c: Include readtokens.h first, to test interface.
71829         Include <stdlib.h>, <string.h> unconditionally.
71830         (init_tokenbuffer): Define with a prototype.
71831
71832         * lib/regex.c (PARAMS): Remove.  All uses removed.
71833         All uses of _RE_ARGS removed, too.
71834         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71835         unconditionally.
71836         (bzero): Assume memset exists.
71837         (memcmp, memcpy, NULL): Remove.
71838         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
71839         char, or assignments to local vars of type signed char.
71840         (init_syntax_once, PREFIX(extract_number_and_incr),
71841         PREFIX(print_partial_compiled_pattern),
71842         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
71843         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
71844         PREFIX(regex_grow_registers), PREFIX(regex_compile),
71845         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
71846         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
71847         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
71848         wcs_compile_range, byte_compile_range, truncate_wchar,
71849         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
71850         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
71851         count_mbs_length, wcs_re_match_2_internal,
71852         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
71853         PREFIX(alt_match_null_string_p),
71854         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
71855         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
71856         regfree, PREFIX(extract_number)): Define with prototype.  Remove
71857         now-unnecessary declaration, if any.
71858         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
71859         regcomp, regexec):
71860         Remove now-unnecessary casts among pointer types.
71861         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
71862
71863         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
71864         (free): Remove decl.
71865
71866         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
71867
71868         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
71869         (free): Remove decl.
71870
71871         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
71872         * lib/xgetcwd.c: Likewise.
71873
71874         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
71875         (free): Remove decl.
71876
71877         * lib/strchrnul.c (strchrnul): Define with a prototype.
71878         Fix bug: c_in was not converted to char before searching.
71879
71880         The following changes are not K&R related:
71881
71882         * lib/group-member.h: Include <sys/types.h>, so that this file is
71883         self-contained.
71884         * lib/makepath.h: Likewise.
71885
71886         * lib/getusershell.c (readname, default_index, line_size, readname):
71887         Use size_t, not int, for sizes.
71888         (readname): If the size overflows, report an error instead of
71889         looping forever.
71890
71891 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71892
71893         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
71894         libc.
71895
71896 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71897
71898         * README: New section: portability guidelines.
71899
71900 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71901
71902         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
71903         C89 spec.
71904
71905 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71906
71907         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
71908
71909 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71910
71911         Assume C89 or better; remove K&R cruft.
71912         A few of these changes were first proposed by Derek Robert Price
71913         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
71914
71915         * lib/addext.c: Include <string.h> unconditionally.
71916         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
71917         Don't declare getenv or malloc.
71918
71919         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
71920         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
71921         (NULL): Remove.
71922         (find_stack_direction, alloca): Use prototypes.
71923
71924         * lib/atexit.c (atexit): Define using a prototype.
71925
71926         * lib/basename.c, dirname.c, stripslash.c:
71927         Include <string.h> unconditionally.
71928
71929         * lib/bcopy.c: Include <stddef.h>.
71930         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
71931
71932         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
71933
71934         * lib/error.h (error, error_at_line, error_print_progname)
71935         [! (defined (__STDC__) && __STDC__)]: Remove decls.
71936         * lib/error.c: Include error.h first, to check interface.
71937         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71938         (VA_START): Remove; all uses changeed to va_start.
71939         (exit, strerror): Remove decls.
71940         (error_print_progname): Prototype uncondionally.
71941         Don't include <errno.h>; no longer needed.
71942         (private_strerror): Remove.
71943         (error_tail): Always define.
71944         (error, error_at_line): Assume C89 or better; always use prototypes.
71945         * lib/fatal.c: Include "fatal.h" first, to test interface.
71946         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71947         (VA_START): Remove; all uses changed to va_start.
71948         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
71949         this case.
71950         (exit): Remove decl.
71951         (fatal): Prototype unconditionally.  Assume va_start works.
71952         Abort at end, to pacify gcc.
71953
71954         * lib/euidaccess.c (main): Define with a prototype.
71955
71956         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
71957
71958         * lib/exitfail.c: Include <stdlib.h> unconditionally.
71959
71960         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
71961         prototypes.
71962         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
71963         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
71964         (getenv): Remove decl.
71965         (fnmatch): Define using a prototype.
71966         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
71967         (FCT): Define using a prototype.
71968
71969         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
71970
71971         * lib/gethostname.c: Include <stddef.h>.
71972         (gethostname): Define with prototype.  Length is size_t, not int.
71973
71974 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71975
71976         Assume C89 or better; remove K&R cruft.
71977         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
71978         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
71979         string.h, getenv, malloc.
71980         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
71981         headers.
71982         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
71983         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
71984         do not check for strerror.
71985         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
71986         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
71987         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
71988         do not check for doprnt or vprintf.
71989         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
71990         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
71991
71992 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71993
71994         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
71995         getversion.c should have been removed then, but was accidentally
71996         preserved.
71997
71998         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
71999         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
72000
72001 2003-09-08  Karl Berry  <karl@gnu.org>
72002
72003         * config/config.sub, config.guess, srclistvars.sh: update from savannah
72004                 config, forget about prep.
72005
72006         * config/depcomp, missing: update from automake.
72007
72008 2003-09-07  Paul Eggert  <eggert@twinsun.com>
72009
72010         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
72011         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
72012
72013 2003-09-07  Paul Eggert  <eggert@twinsun.com>
72014
72015         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
72016         copy_tm_result.  Bug reported by Simon Josefsson in
72017         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
72018
72019 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72020
72021         * m4/time_r.m4: New file.
72022         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
72023         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
72024         is. Check for timegm declaration.
72025         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
72026         Do not check for gmtime_r.
72027         Replace mktime if __mktime_internal does not exist and if mktime
72028         hasn't been replaced already.
72029
72030 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72031
72032         * lib/time_r.c, lib/time_r.h: New files.
72033
72034         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
72035         __localtime_r.
72036         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
72037         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
72038
72039         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
72040         __gmtime_r.
72041         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
72042         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
72043         Include <time_r.h>.
72044
72045         * lib/timegm.c: Switch to glibc implementation, with the following
72046         changes:
72047         [defined HAVE_CONFIG_H]: Include <config.h>.
72048         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
72049         (__mktime_internal) [!defined _LIBC]: New decl.
72050         (__gmtime_r) [!defined _LIBC]: New macro and function.
72051         (timegm): Use a prototype, since gnulib assumes C89.
72052         Do not bother declaring tmp to be const, as it's not really usefu.
72053         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
72054         (timegm): Declare only if HAVE_DECL_TIMEGM.
72055
72056 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72057
72058         * MODULES.html.sh (func_all_modules): Add time_r.
72059         * modules/time_r: New file.
72060         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
72061         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
72062
72063 2003-09-03  Paul Eggert  <eggert@twinsun.com>
72064
72065         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
72066         Bug reported by Lute Kamstra in
72067         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
72068
72069         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
72070         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
72071         course with correspondingly smaller numbers for tomorrow and
72072         yesterday.  From Tadayoshi Funaba.  Originally installed into
72073         sh-utils on 1999-08-07, but the patch got lost (I guess during the
72074         coreutils merge?).
72075
72076 2003-08-31  Simon Josefsson  <jas@extundo.com>
72077
72078         * modules/timegm: New file.
72079         * MODULES.html.sh (func_all_modules): Add timegm.
72080
72081 2003-08-31  Simon Josefsson  <jas@extundo.com>
72082
72083         * m4/timegm.m4: New file.
72084
72085 2003-08-31  Simon Josefsson  <jas@extundo.com>
72086
72087         * lib/timegm.h: New file.
72088         * lib/timegm.c: New file.  Based on
72089         wget-1.8.2/src/http.c:mktime_from_utc.
72090
72091 2003-08-31  Karl Berry  <karl@gnu.org>
72092
72093         * lib/argp.h: update from libc.
72094
72095 2003-08-28  Bruno Haible  <bruno@clisp.org>
72096
72097         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
72098         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
72099         followed by '#define fnmatch fnmatch_posix' gives an error.
72100
72101 2003-08-28  Bruno Haible  <bruno@clisp.org>
72102
72103         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
72104         warning on QNX, which defines O_BINARY to 000000.
72105
72106 2003-08-27  Jim Meyering  <jim@meyering.net>
72107
72108         * m4/mkstemp.m4: Require that the system mkstemp be able to create
72109         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
72110         would fail after 32.  Reported by Danny Levinson.  Details here:
72111         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
72112
72113 2003-08-24  Bruno Haible  <bruno@clisp.org>
72114
72115         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
72116         MSVC7 <stdio.h> is included later.
72117
72118 2003-08-22  Simon Josefsson  <jas@extundo.com>
72119
72120         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
72121
72122 2003-08-20  Karl Berry  <karl@gnu.org>
72123
72124         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
72125
72126 2003-08-20  Bruno Haible  <bruno@clisp.org>
72127
72128         * modules/progname: New file.
72129         * MODULES.html.sh (func_all_modules): Add progname.
72130
72131 2003-08-20  Bruno Haible  <bruno@clisp.org>
72132
72133         * lib/progname.h: New file, from GNU gettext.
72134         * lib/progname.c: New file, from GNU gettext.
72135         * lib/progreloc.c: New file, from GNU gettext.
72136
72137 2003-08-19  Jim Meyering  <jim@meyering.net>
72138
72139         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
72140         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
72141
72142 2003-08-19  Bruno Haible  <bruno@clisp.org>
72143
72144         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
72145         more.
72146
72147 2003-08-19  Bruno Haible  <bruno@clisp.org>
72148
72149         * lib/xstrdup.c: Assume <string.h> exists.
72150
72151 2003-08-18  Paul Eggert  <eggert@twinsun.com>
72152
72153         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
72154         in makefile rules.
72155
72156 2003-08-18  Jim Meyering  <jim@meyering.net>
72157
72158         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
72159         * m4/lib-ld.m4: Likewise.
72160
72161 2003-08-18  Jim Meyering  <jim@meyering.net>
72162
72163         * lib/setenv.h: Indent nested cpp directive.
72164         * lib/vasnprintf.c: Remove trailing blanks.
72165
72166 2003-08-17  Simon Josefsson  <jas@extundo.com>
72167
72168         * modules/xstrndup: New file.
72169         * MODULES.html.sh (func_all_modules): Add xstrndup.
72170
72171 2003-08-17  Simon Josefsson  <jas@extundo.com>
72172
72173         * modules/argp: Fix autoconf macro name. Add more dependencies.
72174
72175 2003-08-17  Simon Josefsson  <jas@extundo.com>
72176
72177         * m4/xstrndup.m4: New file.
72178
72179 2003-08-17  Simon Josefsson  <jas@extundo.com>
72180
72181         * m4/argp.m4: New file.
72182
72183 2003-08-17  Simon Josefsson  <jas@extundo.com>
72184             Bruno Haible  <bruno@clisp.org>
72185
72186         * lib/xstrndup.h: New file.
72187         * lib/xstrndup.c: New file.
72188
72189 2003-08-17  Bruno Haible  <bruno@clisp.org>
72190
72191         * modules/strndup (Files, Include): Add lib/strndup.h.
72192
72193 2003-08-17  Bruno Haible  <bruno@clisp.org>
72194
72195         * modules/euidaccess (Files): Add lib/euidaccess.h.
72196
72197 2003-08-17  Bruno Haible  <bruno@clisp.org>
72198
72199         * lib/strndup.h: New file.
72200
72201 2003-08-17  Bruno Haible  <bruno@clisp.org>
72202
72203         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
72204         like AC_GNU_SOURCE.
72205         * modules/extensions (configure.ac): Comment out the invocation of
72206         gl_USE_SYSTEM_EXTENSIONS.
72207
72208 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72209
72210         Merges from coreutils, etc.
72211         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
72212         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
72213         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
72214         fixing a typo.
72215         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
72216         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
72217
72218 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72219
72220         Document merge from coreutils.
72221         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
72222         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
72223         * modules/utime: Add m4/utimes-null.m4.
72224
72225 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72226
72227         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
72228         space, undoing this 2003-08-12 change:
72229         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
72230
72231 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72232
72233         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
72234         strtoul.c from libc, undoing this 2003-08-12 change:
72235         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
72236
72237 2003-08-16  Jim Meyering  <jim@meyering.net>
72238
72239         Merges from coreutils.
72240         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
72241         prefix.  Adjust cache variables similarly.  Create 500 rather than
72242         just 300 files, to exercise bug on Darwin6.5, too.
72243         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
72244         $missing_dir.
72245         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
72246         AM_SYS_POSIX_TERMIOS.
72247         Reported by mkc@mathdogs.com.
72248         Also change use of $am_cv_sys_posix_termios
72249         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
72250         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
72251         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
72252         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
72253         in /proc/mounts until it finds one with matching device number.  This
72254         is unnecessary when the FILE argument *is* a mount point.  No stat call
72255         is necessary in that case.  So, disable the statvfs-testing code on
72256         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
72257         as RedHat bug# 84846.
72258         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
72259         to 1MB, so as not to render systems with no stack size limit (e.g.,
72260         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
72261         Include <unistd.h>.  On some systems,
72262         it is required for the definition of _SC_PAGESIZE.
72263
72264 2003-08-16  Jim Meyering  <jim@meyering.net>
72265
72266         Merge from coreutils.
72267         * lib/xstrtoimax.c: #else #if -> #elif.
72268         * lib/xstrtoumax.c: Likewise.
72269
72270 2003-08-16  Jim Meyering  <jim@meyering.net>
72271
72272         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
72273         * m4/utimes.m4: Removed.
72274         * m4/utimes-null.m4: Renamed from utimes.m4.
72275
72276         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
72277         to 1MB, so as not to render systems with no stack size limit (e.g.,
72278         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
72279         Include <unistd.h>.  On some systems,
72280         it is required for the definition of _SC_PAGESIZE.
72281
72282 2003-08-16  Jim Meyering  <jim@meyering.net>
72283         and Paul Eggert  <eggert@cs.ucla.edu>
72284
72285         Merges from coreutils, etc.
72286
72287         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
72288         using the latest version from cvs.  This avoids problems with #line
72289         directives using a vendor (Sun) compiler.
72290         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
72291         Don't set GETGROUPS_LIB here; now it's
72292         done via getgroups.m4's wrapper function.
72293         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
72294         rather than just in sh-util/configure.in, so that the
72295         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
72296         same.
72297         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
72298         AC_FUNC_GETLOADAVG where to find getloadavg.c.
72299         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
72300         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
72301         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
72302         Remove code that is now done by the newly-required macros.
72303         Append $(EXEEXT) to DF_PROG.
72304         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
72305         Do not invoke or require the following here,
72306         since prereq.m4 or some gnulib .m4 now does this for us:
72307         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
72308         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
72309         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
72310         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
72311         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
72312         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
72313         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
72314         AC_FUNC_OBSTACK.
72315         Do not replace the following functions, as this is now the job
72316         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
72317         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
72318         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
72319         atexit getpass, strdup, getpagesize.
72320         Replace 'raise'.
72321         Do not check for the following functions, as this is now the job
72322         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
72323         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
72324         setregid.
72325         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
72326         Check for sys/sysctl.h.
72327         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
72328         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
72329         of checking for ssize_t ourselves.
72330
72331         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
72332         Require every macro that gnulib/modules/* suggests for us.
72333         (jm_PREREQ_ADDEXT): New macro.
72334         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
72335         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
72336
72337         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
72338         (gl_PHYSMEM): Use it.
72339         Also check for `table' function.
72340         Check for new headers and functions.
72341         Add check for sys/sysmp.h.
72342         With suggestions from Kaveh Ghazi.
72343         Ignore headers that are present but cannot be compiled.  This
72344         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
72345         C 5.4.
72346
72347 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72348
72349         Document merge from coreutils.
72350         * modules/userspec: Depend on posixver.
72351         * modules/strftime: Depend on tzset.
72352
72353 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72354
72355         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
72356         rather than tab, after '#' in shell-script copyright notices.
72357         Suggested by Bruno Haible.
72358
72359 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72360
72361         * config/srclist-update: Use three spaces, rather than tab, after '#'
72362         in shell-script copyright notices.  Suggested by Bruno Haible.
72363         Remove unnecessary parenthesization in regular expression.
72364
72365 2003-08-15  Jim Meyering  <jim@meyering.net>
72366
72367         Merge from coreutils.
72368         * lib/xgethostname.c: Include <stdlib.h>.
72369         (xghostname): Don't exit for anything other than memory-related
72370         failure; just return NULL.
72371         * lib/userspec.c: Include "posixver.h".
72372         (parse_user_spec): Accept `.' as a separator only
72373         in pre-POSIX-200112 mode.
72374         * lib/strtoimax.c: Use #elif rather than #else #if.
72375         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
72376         Remove function, now that we can rely on a working tzset function.
72377         [!_LIBC]: Ensure that the required autoconf test has been run.
72378         [!defined _NL_CURRENT && HAVE_STRFTIME]:
72379         Use underlying_strftime for %r.
72380         * lib/sha.c: Merge in some clean-up and optimization changes from
72381         glibc.
72382         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
72383         Ensure that it is a multiple of 64.
72384         Rearrange loop exit tests so as to avoid performing an
72385         additional fread after encountering an error or EOF.
72386         * lib/realloc.c: Update copyright date.
72387
72388 2003-08-15  Jim Meyering  <jim@meyering.net>
72389         and Paul Eggert  <eggert@twinsun.com>
72390
72391         Merge from coreutils.
72392         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
72393         member but strut utmpx does not.  Needed for AIX 4.3.3.
72394         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
72395
72396 2003-08-15  Jim Meyering  <jim@meyering.net>
72397         and Paul Eggert  <eggert@cs.ucla.edu>
72398
72399         Merges from coreutils, etc.
72400         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
72401         Require gl_FUNC_TZSET_CLOBBER.
72402         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
72403         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
72404         members.
72405
72406 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72407
72408         Help the merge from coreutils.
72409         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
72410         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
72411         * m4/tzset.m4: Use it too.
72412
72413 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72414
72415         * modules/tzset: New file.
72416
72417 2003-08-14  Jim Meyering  <jim@meyering.net>
72418
72419         Merges from coreutils.
72420         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
72421         variable names, rather than @FNMATCH_H@.
72422         * modules/alloca: Likewise for $(ALLOCA_H).
72423
72424         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
72425         the three copies of the literal target, `fnmatch.h'.
72426         * modules/alloca (alloca.h): Likewise.
72427
72428 2003-08-14  Jim Meyering  <jim@meyering.net>
72429
72430         Merge from coreutils.
72431         * m4/tzset.m4: New file.
72432         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
72433         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
72434         otherwise, AIX 5.1 systems would end up using the latter.
72435         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
72436         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
72437         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
72438         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
72439
72440 2003-08-14  Jim Meyering  <jim@meyering.net>
72441
72442         Merge from coreutils.
72443         * lib/obstack.h: Whitespace changes.
72444         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
72445         and xcalloc return values.
72446         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
72447         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
72448         hang on OSF/1 5.1 for DIR on both local and remote file systems.
72449         Reported by (and fix confirmed by) Nelson H. F. Beebe.
72450         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72451         error from mntctl.
72452         Use mntctl's return value to drive the entry-processing loop, since
72453         we can't rely on the value of the vmt_length member in the last
72454         entry.  On some systems doing so could result in exhausting
72455         virtual memory.  Based in part on a patch from Mike Jetzer.
72456
72457 2003-08-14  Jim Meyering  <jim@meyering.net>
72458         and Paul Eggert  <eggert@twinsun.com>
72459
72460         Merges from coreutils, plus other fixes.
72461         * lib/physmem.c: Merge in portability changes from gcc/libiberty
72462         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
72463         for credits and details.  Thanks to Kaveh Ghazi for helping
72464         to keep these files in sync.
72465         (ARRAY_SIZE): Define it.
72466         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
72467         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
72468         (memcasecmp): Don't assume size_t fits in unsigned int.
72469         Remove casts and duplicate code.
72470         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
72471         (memcpy): Remove definition.
72472         Merge in some clean-up and optimization changes from glibc.
72473         [BLOCKSIZE]: Move definition to top of file.
72474         Ensure that it is a multiple of 64.
72475         Rearrange loop exit tests so as to avoid performing an
72476         additional fread after encountering an error or EOF.
72477         * lib/md5.h (md5_uintptr): Define.
72478         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
72479         return to the initial working directory.  Preserve errno
72480         for caller.
72481         * lib/idcache.c: Include "xalloc.h".
72482         (xmalloc, xrealloc): Remove decls.
72483         (getuser): Remove casts no longer required in C89.
72484         * lib/human.c: Include stdio.h, for sprintf.
72485         * lib/group-member.c: Include "xalloc.h".
72486         (xmalloc, xrealloc): Remove decls.
72487         (get_group_info): Remove casts no longer required in C89.
72488         * lib/getusershell.c (readname): Remove casts no longer required in
72489         C89.
72490         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
72491         * lib/getline.c: Whitespace fix, from coreutils.
72492
72493 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72494
72495         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
72496         Check for isascii.
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         Undo previous (whitespace-only) change.
72501
72502 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72503
72504         * lib/exclude.c: Include <ctype.h>
72505         (IN_CTYPE_DOMAIN): New macro.
72506         (is_space): New fn.
72507         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
72508         and empty lines.
72509
72510         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72511         Undo previous (whitespace-only) change.
72512
72513 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72514
72515         * config/srclist-update: Change update back to the old behavior,
72516         leaving whitespace alone.  Use one 'sed' command rather than a
72517         pipeline.
72518         (fixlicense): Now a variable, not a function.
72519         (remove_trailing_blanks): Remove.
72520         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
72521         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72522         Undo previous (whitespace-only) change.
72523
72524 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72525
72526         Merge from coreutils.
72527         * modules/euidaccess: Add lib_SOURCES, include for new
72528         file euidaccess.h
72529
72530 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72531
72532         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72533         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72534         Normalize leading white space and remove trailing white space.
72535
72536         Merge from coreutils
72537         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
72538
72539         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
72540         0.12.1.  These files are now being upgraded automatically by
72541         ../config/srclist-update.
72542
72543 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72544
72545         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72546         Normalize leading white space and remove trailing white space.
72547         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
72548         notice, as per ../config/srclist-update.
72549
72550         Merge from coreutils.
72551         * lib/euidaccess.h: New file.
72552         * lib/euidaccess.c: Include it.
72553         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
72554         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
72555         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
72556
72557 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72558
72559         * config/srclist-update: Add copyright notice.
72560         (remove_id_lines, remove_trailing_blanks): New constants.
72561         (fixfile): Use them to normalize spacing a bit in copied files.
72562         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72563         Normalize leading white space and remove trailing white space.
72564
72565         * config/texinfo.tex: Sync with texinfo.
72566
72567         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
72568         strtoul.c from libc, to merge coreutils whitespace changes.
72569
72570         * config/srclist.txt: Get the following m4 files from gettext:
72571         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
72572         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
72573         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
72574         wint_t.m4.
72575
72576 2003-08-12  Karl Berry  <karl@gnu.org>
72577
72578         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
72579         been made.
72580
72581 2003-08-11  Paul Eggert  <eggert@twinsun.com>
72582
72583         * modules/gnu-source, m4/gnu-source.m4:
72584         Remove; we're assuming Autoconf 2.54 or later now.
72585         Suggested by Bruno Haible.
72586         * MODULES.html.sh (func_all_modules): Remove gnu-source.
72587
72588 2003-08-11  Bruno Haible  <bruno@clisp.org>
72589
72590         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
72591
72592 2003-08-11  Bruno Haible  <bruno@clisp.org>
72593
72594         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
72595         (vasnprintf): Use it instead of wcslen.
72596
72597 2003-08-11  Bruno Haible  <bruno@clisp.org>
72598
72599         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
72600         value to ensure that _Bool promotes to int. Use #define for _Bool when
72601         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
72602
72603 2003-08-10  Karl Berry  <karl@gnu.org>
72604
72605         * lib/regex.h: update from libc (whitespace fix).
72606
72607 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72608
72609         Merge some files from coreutils.  These changes were
72610         originally made by Jim Meyering.
72611         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
72612         many older Unixes require this.
72613         * lib/alloca.c (alloca): Remove cast to argument of free;
72614         no longer needed in C89.
72615         * lib/alloca_.h, regex.h: Fix white space to match
72616         what GNU indent does.
72617
72618 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72619
72620         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
72621         apparently Emacs's Unicode mode got confused before my 2003-08-05
72622         checkin.
72623
72624 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72625
72626         * m4/extensions.m4: New file.
72627         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
72628         Require gl_USE_SYSTEM_EXTENSIONS.
72629         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
72630         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
72631
72632 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72633
72634         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
72635         * modules/extensions, modules/gnu-source: New files.
72636         * modules/timespec, modules/unlocked-io: Depend on extensions.
72637
72638 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72639
72640         * modules/restrict: New file.
72641         * MODULES.html.sh (func_all_modules): Add restrict.
72642         * modules/regex: Depend on restrict.
72643
72644 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72645
72646         * m4/restrict.m4: New file.
72647         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
72648
72649 2003-08-07  Bruno Haible  <bruno@clisp.org>
72650
72651         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
72652         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
72653
72654 2003-08-07  Bruno Haible  <bruno@clisp.org>
72655
72656         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
72657         makes the module 'getndelim2' compatible with the module 'getline'.
72658
72659 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72660
72661         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
72662         byte with "\201" to avoid glitches when editing that source file
72663         with multi-gnome-terminal.
72664
72665 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72666
72667         * lib/bumpalloc.h: Remove.
72668
72669 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72670
72671         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
72672         * modules/bumpalloc: Remove.
72673
72674 2003-08-04  Paul Eggert  <eggert@twinsun.com>
72675
72676         * lib/getloadavg.c: Change copyright notice and spacing to conform to
72677         GNU coding style.
72678
72679         Merge from coreutils.
72680         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
72681         1. From glibc.
72682         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
72683         from Karl Berry, implemented by Jim Meyering.
72684         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
72685         from Dmitry V. Levin.
72686         Remove anachronistic cast of xrealloc.
72687         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
72688         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
72689         type. Otherwise, it wouldn't compile with at least /bin/cc on
72690         ymp-cray-unicos9.0.2.X.
72691         Combine two mostly-identical uses of alloca into one.
72692         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
72693
72694 2003-08-04  Dave Love  <d.love@dl.ac.uk>
72695
72696         [From Emacs.]
72697
72698         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
72699         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
72700         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
72701         obsolete NLIST_NAME_UNION.
72702         [__GNU__]: Undef BSD and FSCALE.
72703         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
72704
72705 2003-08-03  Paul Eggert  <eggert@twinsun.com>
72706
72707         * lib/stdbool_.h (_Bool): Make it signed char, instead of
72708         an enum type, so that it's guaranteed to promote to int.  See:
72709         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
72710
72711 2003-08-03  Karl Berry  <karl@gnu.org>
72712
72713         * config/depcomp: update from automake.
72714
72715 2003-07-31  Paul Eggert  <eggert@twinsun.com>
72716
72717         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
72718         (strerror): Don't assume that a printable int fits in 14 bytes.
72719
72720 2003-07-31  Bruno Haible  <bruno@clisp.org>
72721
72722         * modules/getpass-gnu: New file.
72723         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
72724
72725 2003-07-31  Bruno Haible  <bruno@clisp.org>
72726
72727         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
72728
72729 2003-07-24  Karl Berry  <karl@gnu.org>
72730
72731         * config/missing: update from automake.
72732
72733 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
72734             Bruno Haible  <bruno@clisp.org>
72735
72736         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
72737         * lib/getline.c (getline, getdelim): Likewise.
72738         Remove _GNU_SOURCE define; now it's defined in config.h through
72739         m4/getline.m4.
72740
72741 2003-07-23  Karl Berry  <karl@gnu.org>
72742
72743         * config/config.sub: update from prep.
72744
72745 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72746
72747         * modules/xalloc (Depends-on): Add exitfail.
72748         * modules/xmemcoll: Likewise.
72749
72750 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72751
72752         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
72753         over-parenthesization in macros.
72754
72755         Sync with coreutils.
72756
72757         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
72758         required by C99.
72759
72760         Use `exit_failure' for xalloc and xmemcoll instead of their own
72761         private exit-failure variables.
72762         * lib/xalloc.h (xalloc_exit_failure): Remove.
72763         * lib/xmalloc.c: Likewise.  Include exitfail.h.
72764         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
72765         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
72766         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
72767         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
72768
72769 2003-07-20  Jim Meyering  <jim@meyering.net>
72770
72771         * modules/closeout (Depends-on): Add exitfail.
72772         Suggestion from Bruno Haible.
72773
72774 2003-07-19  Karl Berry  <karl@gnu.org>
72775
72776         * config/config.sub: update from prep.
72777
72778 2003-07-18  Paul Eggert  <eggert@twinsun.com>
72779
72780         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
72781         Remove.
72782         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
72783         to test that it can stand by itself.  Include "exitfail.h".
72784         Clients should set exit_failure instead.
72785         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
72786
72787 2003-07-18  Bruno Haible  <bruno@clisp.org>
72788
72789         * modules/getndelim2: New file.
72790         * modules/getline: Share files with module getndelim2.
72791         * modules/getnline: Depend on getndelim2 instead of sharing files with
72792         it. Add getnline.c to lib_SOURCES.
72793         * MODULES.html.sh (func_all_modules): Add getndelim2.
72794
72795 2003-07-18  Bruno Haible  <bruno@clisp.org>
72796
72797         * m4/getndelim2.m4: New file.
72798         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
72799         invoke gl_PREREQ_GETNDELIM2.
72800         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
72801         gl_PREREQ_GETNDELIM2.
72802         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
72803         gl_GETNDELIM2.
72804
72805 2003-07-18  Bruno Haible  <bruno@clisp.org>
72806
72807         * lib/getndelim2.h: New file.
72808         * lib/getndelim2.c: Make into a module of its own. Include config.h,
72809         getndelim2.h.
72810         (getndelim2): Make non-static. Change return type to ssize_t.
72811         * lib/getline.h: Change argument names.
72812         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
72813         * lib/getnline.c: Include getndelim2.h.
72814
72815 2003-07-18  Andreas Schwab  <schwab@suse.de>
72816
72817         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
72818
72819 2003-07-17  Karl Berry  <karl@gnu.org>
72820
72821         * config/config.sub: update from prep.
72822
72823 2003-07-17  Bruno Haible  <bruno@clisp.org>
72824
72825         * modules/getnline: New file.
72826         * modules/getline: Add lib/getndelim2.c to source file list.
72827         * MODULES.html.sh (func_all_modules): Add getnline.
72828
72829 2003-07-17  Bruno Haible  <bruno@clisp.org>
72830
72831         * m4/getnline.m4: New file.
72832
72833 2003-07-17  Bruno Haible  <bruno@clisp.org>
72834
72835         * m4/Makefile.am.in: Remove file.
72836         * m4/Makefile.am: Remove file.
72837         * m4/Makefile.in: Remove file.
72838
72839 2003-07-17  Bruno Haible  <bruno@clisp.org>
72840
72841         * lib/getnline.h: New file.
72842         * lib/getnline.c: New file.
72843         * lib/getndelim2.c: New file, extracted from getline.c.
72844         (getndelim2): Renamed from getdelim2, with added nmax argument.
72845         * lib/getline.c: Include getndelim2.c.
72846         (getdelim2): Moved out to getndelim2.c.
72847         (getline, getdelim): Update.
72848
72849 2003-07-17  Bruno Haible  <bruno@clisp.org>
72850
72851         * lib/Makefile.am: Remove file.
72852         * lib/Makefile.in: Remove file.
72853
72854 2003-07-17  Bruno Haible  <bruno@clisp.org>
72855
72856         * configure.in: Remove file.
72857         * Makefile.in: Remove file.
72858
72859 2003-07-17  Bruno Haible  <bruno@clisp.org>
72860
72861         * MODULES.html.sh: Put the </BODY> right before </HTML>.
72862
72863 2003-07-16  Karl Berry  <karl@gnu.org>
72864
72865         * config/srclist-update: was running fixlicense twice, which caused
72866                 texinfo.tex to be nullified for some reason.  Simplify,
72867                 $gplsrc is no longer needed as far as I can see?
72868
72869 2003-07-16  Jim Meyering  <jim@meyering.net>
72870
72871         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
72872
72873 2003-07-15  Paul Eggert  <eggert@twinsun.com>
72874
72875         * config/srclist.txt: Get the following files from gettext-runtime/intl
72876         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
72877         ref-del.sin.  From Bruno Haible.
72878         * config/srclist-update (fixfile): Change grep pattern again, since the
72879         previous fix didn't work (there was another trailing $).  Use
72880         '[$]' to escape the $s.
72881
72882 2003-07-15  Karl Berry  <karl@gnu.org>
72883
72884         * lib/vasnprintf.c: update from gettext.
72885
72886 2003-07-15  Karl Berry  <karl@gnu.org>
72887
72888         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
72889         gets expanded when surrounded by '$'.
72890
72891 2003-07-15  Jim Meyering  <jim@meyering.net>
72892
72893         * modules/save-cwd: Don't depend on error.  From Derek Price.
72894
72895 2003-07-15  Jim Meyering  <jim@meyering.net>
72896
72897         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
72898
72899 2003-07-14  Simon Josefsson  <jas@extundo.com>
72900
72901         * modules/mempcpy: New file.
72902         * MODULES.html.sh (func_all_modules): Add mempcpy.
72903
72904 2003-07-14  Simon Josefsson  <jas@extundo.com>
72905
72906         * m4/mempcpy.m4: New file.
72907
72908 2003-07-14  Simon Josefsson  <jas@extundo.com>
72909
72910         * lib/mempcpy.h: New file.
72911         * lib/mempcpy.c: New file.
72912
72913 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72914
72915         * modules/getdate, modules/posixtm: Depend on mktime.
72916
72917 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72918
72919         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
72920         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
72921         unicodeio.c, unicodeio.h, unlocked-io.h:
72922         Switch from LGPL to GPL.
72923
72924 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72925
72926         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
72927         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
72928         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
72929         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
72930         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
72931         updated automatically by ../config/srclist-update.  This changes
72932         their license from LPGL to GPL.
72933
72934 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72935
72936         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
72937         assumed to refer to the root of the most recent stable gettext version.
72938         * config/srclistvars.sh: Add defaults for eggert.
72939         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
72940         Match "This program" as well as "The program".  This is needed
72941         for gettext.
72942
72943 2003-07-14  Jim Meyering  <jim@meyering.net>
72944
72945         Don't emit diagnostics.  Let callers do that.
72946         * lib/save-cwd.c: Don't include "error.h".
72947         (save_cwd): Don't call error.  Ensure that errno is valid
72948         when returning nonzero.
72949
72950         * lib/save-cwd.h (restore_cwd): Update prototype.
72951         * lib/save-cwd.c (restore_cwd): Remove two parameters.
72952         Simplify.  Don't call error upon failure.  Let callers do that.
72953         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
72954         when auditing is enabled.  But don't bother updating the #if.
72955
72956 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
72957
72958         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
72959         it breaks C++ compilation.
72960         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
72961
72962 2003-07-10  Simon Josefsson  <jas@extundo.com>
72963
72964         * modules/strchrnul (Makefile.am): Add strchrnul.h.
72965
72966 2003-07-10  Jim Meyering  <jim@meyering.net>
72967
72968         * m4/clock_time.m4: Remove trailing blank.
72969         * m4/intmax_t.m4: Likewise.
72970
72971 2003-07-10  Jim Meyering  <jim@meyering.net>
72972
72973         * lib/vasnprintf.c: Remove trailing blanks.
72974         Make cpp indentation consistent.
72975
72976 2003-07-09  Paul Eggert  <eggert@twinsun.com>
72977
72978         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
72979         posixver.c, strftime.c, strnlen.c, strverscmp.c:
72980         Switch from LGPL to GPL.
72981
72982 2003-07-09  Paul Eggert  <eggert@twinsun.com>
72983
72984         * config/srclist.txt: Sort sublists.  Add
72985         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
72986         that differ from gnulib for one reason or another; we'd like this list
72987         to be smaller but for now let's document what we have.
72988
72989 2003-07-08  Paul Eggert  <eggert@twinsun.com>
72990
72991         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
72992         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
72993         and sweeter "eval x=$x".
72994         * config/srclist.txt: Get lib/argp* from glibc.
72995
72996 2003-07-07  Paul Eggert  <eggert@twinsun.com>
72997
72998         * lib/mktime.c: Fix some boundary cases and remove need for floating
72999         point.
73000
73001         Issue a compile-time diagnostic if time_t is floating point, or if
73002         two's complement arithmetic is not in effect, or if arithmetic
73003         right shift does not propagate the sign.  These assumptions were
73004         all in the original code but they weren't checked.
73005
73006         (TIME_T_MIDPOINT, verify): New macros.
73007         (__isleap): Remove; it has integer overflow problems.
73008         (leapyear): New function, without those problems.
73009         (ydhms_tm_diff): Remove; splitting into two parts.
73010         (ydhms_diff): New function, containing the arithmetic part of
73011         the old ydhms_tm_diff function.  Issue a compile-time
73012         diagnostic if we are not using C99 integer division.
73013         Avoid casts when possible.
73014         (guess_time_tm): New function, containing the checking part of
73015         the old ydhms_tm_diff function.  Return the new value, rather than
73016         the difference between it and the old.  Accept a new argument T
73017         so that *T specifies the old value.  Check for overflow in the result.
73018
73019         (__mktime_internal): Use a time_t offset, not a long int offset.
73020         This undoes the 2003-06-04 change, which is no longer needed now
73021         that we have better overflow checking.
73022         (localtime_offset): Likewise.
73023
73024         (__mktime_internal): Avoid harmful overflow on hosts where time_t
73025         and long are 64-bit but int is only 32-bit.
73026         (ydhms_diff): Use long int to store year1 and yday1.
73027         Issue a compile-time diagnostic if long int is not wide enough.
73028
73029         (__mktime_internal): Use long int to store adjusted year and yday.
73030         Use plain C rather than preprocessor commands, if that doesn't
73031         affect efficiency.
73032         Check for overflow (and try to repair) after each probe
73033         rather than checking only at the very end.  This avoids some bugs
73034         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
73035         does not equal GMT offset at maximum time).
73036         Use integer to check for overflow rather than floating point; this
73037         is more portable to non-IEEE hosts, and is a tad faster.
73038         When we detect that we are oscillating between two values,
73039         don't check whether tm_isdst has the requested value, since
73040         we already know the answer.  When tm_isdst has the wrong value,
73041         use a different heuristic to find the right one, based on the
73042         extreme values actually observed in practice in tz2003a,
73043         rather than the (overly optimistic) "previous 3 calendar quarters".
73044
73045         (not_equal_tm, print_tm, check_result): Use "const T" rather than
73046         "T const" to accommodate glibc style.
73047         (check_result): Use less-confusing report format.  "long" -> "long int.
73048         (main): Likewise.
73049         Don't loop if the iteration overflows time_t.
73050         Allow a negative step in the iteration.
73051
73052 2003-07-06  Karl Berry  <karl@gnu.org>
73053
73054         * config/depcomp: update from automake.
73055         * config/config.sub: update from prep.
73056
73057 2003-07-03  Karl Berry  <karl@gnu.org>
73058
73059         * config/config.guess: update from prep.
73060
73061 2003-07-01  Paul Eggert  <eggert@twinsun.com>
73062
73063         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
73064         xreadlink.c now includes it unconditionally.
73065
73066 2003-07-01  Paul Eggert  <eggert@twinsun.com>
73067
73068         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
73069         having it depend on HAVE_SYS_TYPES_H.
73070
73071 2003-07-01  Bruno Haible  <bruno@clisp.org>
73072
73073         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
73074         <sys/types.h> should be sufficient.
73075         Reported by Paul Eggert.
73076
73077 2003-06-26  Karl Berry  <karl@gnu.org>
73078
73079         * config/depcomp: update from automake.
73080
73081 2003-06-26  Bruno Haible  <bruno@clisp.org>
73082
73083         * modules/human: Depend on module stdbool.
73084
73085 2003-06-25  Bruno Haible  <bruno@clisp.org>
73086
73087         * modules/readlink: New file.
73088         * modules/xreadlink: Depend on it.
73089         * MODULES.html.sh (func_all_modules): Add readlink.
73090
73091 2003-06-25  Bruno Haible  <bruno@clisp.org>
73092
73093         * m4/readlink.m4: New file.
73094
73095 2003-06-25  Bruno Haible  <bruno@clisp.org>
73096
73097         * lib/readlink.c: New file.
73098
73099 2003-06-22  Karl Berry  <karl@gnu.org>
73100
73101         * config/srclist.txt: update mkinstalldirs from automake.
73102         * config/mkinstalldirs: update.
73103
73104 2003-06-22  Bruno Haible  <bruno@clisp.org>
73105
73106         Portability to mingw32.
73107         * m4/ssize_t.m4: New file, from GNU gettext.
73108         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
73109         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
73110
73111 2003-06-22  Bruno Haible  <bruno@clisp.org>
73112
73113         * modules/safe-read: Add m4/ssize_t.m4.
73114         * modules/xreadlink: Add m4/ssize_t.m4.
73115
73116 2003-06-20  Bruno Haible  <bruno@clisp.org>
73117
73118         Assume C89, so PARAMS isn't needed.
73119         * lib/unicodeio.h (PARAMS): Remove.
73120         * lib/unicodeio.c: Don't use PARAMS.
73121
73122 2003-06-18  Karl Berry  <karl@gnu.org>
73123
73124         * config/config.{guess,sub}: update from prep.
73125
73126 2003-06-18  Jim Meyering  <jim@meyering.net>
73127
73128         Merge changes from coreutils.
73129         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
73130         Remove explicit declarations of xmalloc and realloc.
73131         Include xalloc.h.
73132         (read_utmp): Remove anachronistic cast of xmalloc.
73133
73134 2003-06-17  Paul Eggert  <eggert@twinsun.com>
73135
73136         Assume C89, so PARAMS isn't needed.
73137         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
73138         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
73139         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
73140         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
73141         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
73142         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
73143         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
73144         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
73145         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
73146         lib/xstrtod.h, lib/xstrtol.h: Likewise.
73147         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
73148         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
73149         no longer needed. Anyway, config.h should always be included before any
73150         other file.
73151
73152 2003-06-11  Simon Josefsson  <jas@extundo.com>
73153
73154         * modules/sysexits: New file.
73155         * MODULES.html.sh (func_all_modules): Add sysexits.
73156
73157 2003-06-11  Simon Josefsson  <jas@extundo.com>
73158
73159         * lib/sysexit_.h: New file.
73160
73161 2003-06-11  Derek Price  <derek@ximbiot.com>
73162
73163         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
73164         necessary.
73165
73166 2003-06-11  Bruno Haible  <bruno@clisp.org>
73167
73168         * m4/sysexits.m4: New file.
73169
73170 2003-06-10  Simon Josefsson  <jas@extundo.com>
73171
73172         * lib/argp.h: New file, from glibc.
73173         * lib/argp-ba.c: New file, from glibc.
73174         * lib/argp-eexst.c: New file, from glibc.
73175         * lib/argp-fmtstream.c: New file, from glibc.
73176         * lib/argp-fmtstream.h: New file, from glibc.
73177         * lib/argp-fs-xinl.c: New file, from glibc.
73178         * lib/argp-help.c: New file, from glibc.
73179         * lib/argp-namefrob.h: New file, from glibc.
73180         * lib/argp-parse.c: New file, from glibc.
73181         * lib/argp-pv.c: New file, from glibc.
73182         * lib/argp-pvh.c: New file, from glibc.
73183         * lib/argp-xinl.c: New file, from glibc.
73184
73185 2003-06-10  Simon Josefsson  <jas@extundo.com>
73186
73187         * modules/strchrnul: New file.
73188
73189 2003-06-10  Simon Josefsson  <jas@extundo.com>
73190
73191         * modules/argp: New file.
73192
73193 2003-06-10  Simon Josefsson  <jas@extundo.com>
73194
73195         * m4/strchrnul.m4: New file.
73196
73197 2003-06-10  Simon Josefsson  <jas@extundo.com>
73198
73199         * lib/strchrnul.h: New file.
73200         * lib/strchrnul.c: New file.
73201
73202 2003-06-10  Bruno Haible  <bruno@clisp.org>
73203
73204         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
73205
73206 2003-06-07  Karl Berry  <karl@gnu.org>
73207
73208         * config/config.{guess,sub}: update from prep.
73209
73210 2003-06-07  Jim Meyering  <jim@meyering.net>
73211
73212         * modules/strtod: Use $(...) notation, not @...@ for
73213         AC_REPLACE'd variables.
73214         * modules/localcharset: Likewise.
73215
73216 2003-06-07  Jim Meyering  <jim@meyering.net>
73217
73218         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
73219         in place of my name in the copyright comment.
73220         Remove definition and uses of __P.
73221
73222         From coreutils.
73223         * lib/stat.c: Don't declare xmalloc explicitly.
73224         Instead, include "xalloc.h".
73225         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
73226         xrealloc, and xcalloc return values.
73227         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
73228         Improve comment.
73229         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
73230
73231 2003-06-07  Bruno Haible  <bruno@clisp.org>
73232
73233         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
73234         avoid AC_CONFIG_LINKS.
73235         * modules/fnmatch (Makefile.am): Use explicit creation rule for
73236         fnmatch.h, to avoid AC_CONFIG_LINKS.
73237         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
73238
73239 2003-06-07  Bruno Haible  <bruno@clisp.org>
73240
73241         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
73242         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
73243         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
73244         directory.
73245         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
73246         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
73247         directory.
73248
73249 2003-06-06  Jim Meyering  <jim@meyering.net>
73250
73251         Merge from coreutils.
73252         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
73253         Consolidate declarations and initializations of *_base* locals.
73254
73255         Merge from coreutils.
73256         This avoids a core dump on systems without GNU putenv,
73257         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
73258         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
73259         (unsetenv): New static function, from GNU libc.
73260         (rpl_putenv): Use it.
73261
73262         * lib/modechange.c: Remove trailing blanks.
73263
73264         Merge from coreutils.
73265         * lib/fsusage.c: Remove declaration of statfs.
73266         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
73267
73268         * lib/posixtm.c: Include <stdbool.h> unconditionally.
73269
73270 2003-06-06  Jim Meyering  <jim@meyering.net>
73271
73272         * lib/stdbool_.h: Renamed from stdbool.h.in.
73273
73274 2003-06-06  Jim Meyering  <jim@meyering.net>
73275             Bruno Haible  <bruno@clisp.org>
73276
73277         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
73278         Adjust Makefile.am snippet not to redirect directly to target.
73279         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
73280
73281 2003-06-05  Paul Eggert  <eggert@twinsun.com>
73282
73283         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
73284         mismatch, look in future quarters as well as past.  This fixes a
73285         bug when processing fall-backwards gaps immediately after a long
73286         period of daylight-saving time.
73287
73288         * lib/mktime.c: Assume freestanding C89 or better.
73289         (HAVE_LIMITS_H): Remove.  Assume it's 1.
73290         (__P): Remove; not used.
73291         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
73292         (mktime, not_equal_tm, print_tm, check_result,
73293         main): Use prototypes.  Use const * where appropriate.
73294         (main): Fix typo in testing code that uncovered by above changes.
73295         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
73296
73297 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73298
73299         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
73300         locale.h, localeconv.  This merges changes from coreutils.
73301
73302         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
73303         It can be removed after the next Autoconf is released.
73304         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
73305         needed.
73306
73307 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73308
73309         * lib/mktime.c: Fix Debian bug 177940
73310         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
73311         (localtime_offset): Now long int, not time_t, because we want it
73312         to be guaranteed to be signed.  All uses changed.
73313         (__mktime_internal): If overflow would occur when adding offset,
73314         don't add it.
73315
73316         Merge 'human' changes from coreutils.  Rewrite to support
73317         locale-specific notations like thousands separators.
73318         * lib/human.c: Simplify authorship notice.
73319         Include human.h immediately after config.h.
73320         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
73321         <limits.h>: Do not include, since human.h does.
73322         (SIZE_MAX, UINTMAX_MAX): New macros.
73323         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
73324         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
73325         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
73326         (power_letter): Renamed from suffixes.
73327         (generate_suffix_backwards): Remove.
73328         (adjust_value): Now takes int style (because of human.h changes)
73329         and long double value (for greater precision on some platforms).
73330         (group_number): New function.
73331         (human_readable): Use it.  Use integer options, not enum.
73332         Put the options before the sizes in the arg list.
73333         Support all the new options.
73334         The old human_readable function has been removed;
73335         use inttostr.h instead.
73336         (human_readable, default_block_size, humblock):
73337         Use uintmax_t, not int, for block sizes.
73338         (human_readable_inexact, block_size_types): Remove.
73339         (block_size_opts): New constant.
73340         (human_options): Renamed from human_block_size, with new signature
73341         that allows block sizes up to UINTMAX_MAX.  All callers changed.
73342         * lib/human.h: Add copyright and authorship notice.
73343         Include <limits.h> and <stdbool.h> unconditionally.
73344         (PARAMS): Remove.  All uses removed.
73345         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
73346         (enum human_inexact_style): Remove tag; now a nameless enum.
73347         (human_floor, human_ceiling, human_round_to_even): Now have
73348         values 2, 0, 1 rather than -1, 1, 0.
73349         (human_group_digits, human_suppress_point_zero, human_autoscale,
73350         human_base_1024, human_SI, human_B): New constants.
73351         (human_readable_inexact, human_block_size): Remove.
73352         (human_readable): Size args are now uintmax_t, not int.
73353         (human_options): New decl.
73354
73355         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
73356         unnecessary now that we assume C89 or better.  This change
73357         imported from coreutils.
73358
73359         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73360         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
73361         in the 2003-05-30 sync from glibc.
73362
73363         .h files should stand alone, but we shouldn't include <sys/types.h>
73364         if we can get away with just <stddef.h>.
73365
73366         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
73367         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
73368         rather than <sys/types.h>, as we merely need size_t.
73369         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
73370         to get size_t.
73371         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
73372         Include <stdio.h>, to get FILE.
73373         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
73374         memcasecmp.h has included <stddef.h> and all we need is size_t.
73375         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
73376         our interface, instead of including <sys/types.h>
73377
73378 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73379
73380         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
73381         now, as glibc mktime is buggy on non-glibc systems.
73382
73383 2003-06-03  Karl Berry  <karl@gnu.org>
73384
73385         * config/config.sub: update from prep.
73386
73387 2003-06-02  Paul Eggert  <eggert@twinsun.com>
73388
73389         [from coreutils]
73390         Fix some minor time-related bugs with POSIX time arguments.
73391         Some valid time stamps were being rejected (notably -1, and
73392         time stamps before 1900 on 64-bit hosts).  And some invalid
73393         time stamps were being accepted, e.g. September 31.
73394
73395         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
73396         that we can return (time_t) -1 successfully.
73397         * lib/posixtm.c: Likewise.
73398         [HAVE_STDBOOL_H]: Include <stdbool.h>.
73399         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
73400         (t): Remove static var.
73401         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
73402         of static var.  All uses changed.
73403         (year): Do not reject years before 1900; they can occur with
73404         64-bit time_t.
73405         (posix_time_parse): Do not check for out-of-range components;
73406         that is now the caller's responsibility, since our checks were
73407         only approximations.
73408         (posixtime): Use mktime to check for out-of-range components,
73409         since it knows them exactly.
73410         If mktime returns (time_t) -1, check whether an error actually occurred
73411         by invoking localtime on -1.
73412         (main) [TEST_POSIXTIME]: Check for input data errors, and report
73413         posixtime failures better.
73414         Improve the test data (in comments only).
73415
73416 2003-06-02  Karl Berry  <karl@gnu.org>
73417
73418         * config/mkinstalldirs (version): new variable.
73419         (--version): new option.
73420         (usage): improve message.
73421
73422 2003-05-30  Karl Berry  <karl@gnu.org>
73423
73424         * lib/mktime.c: update from libc.
73425
73426 2003-05-30  Bruno Haible  <bruno@clisp.org>
73427
73428         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
73429         * config/config.rpath: Upgrade to gettext-0.12.1.
73430
73431 2003-05-30  Bruno Haible  <bruno@clisp.org>
73432
73433         * m4/gettext.m4: Upgrade to gettext-0.12.1.
73434         * m4/nls.m4: New file, from gettext-0.12.1.
73435         * m4/po.m4: New file, from gettext-0.12.1.
73436         * m4/progtest.m4: Upgrade to gettext-0.12.1.
73437
73438 2003-05-30  Bruno Haible  <bruno@clisp.org>
73439
73440         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
73441         * lib/localcharset.h: Likewise.
73442         * lib/localcharset.c: Likewise.
73443
73444 2003-05-29  Karl Berry  <karl@gnu.org>
73445
73446         * config/config.rpath: update from gettext.
73447
73448 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73449
73450         Assume the headers required for C89 freestanding compilers.
73451         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
73452         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
73453         * m4/human.m4 (gl_HUMAN): Likewise.
73454         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
73455         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
73456         * m4/userspec.m4 (gl_USERSPEC): Likewise.
73457         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
73458         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73459         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
73460
73461 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73462
73463         Assume the headers required for C89 freestanding compilers.
73464         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
73465         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
73466         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
73467         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
73468         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
73469         define, since <limits.h> is guaranteed to do that.
73470         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
73471         * lib/exclude.c: Include <stdbool.h> unconditionally.
73472         * lib/tempname.c: Include <stddef.h> unconditionally.
73473         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
73474         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
73475         <stddef.h> does that.
73476         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
73477         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
73478         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
73479         needed.
73480         * lib/xstrtol.c: Likewise.
73481         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
73482         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
73483
73484         * lib/addext.c (addext): Use assignment rather than cast, to avoid
73485         warnings on some platforms.
73486
73487         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73488         arbitrarily.
73489
73490 2003-05-26  Jim Meyering  <jim@meyering.net>
73491
73492         Merge in a change from coreutils:
73493         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
73494         that is guaranteed to be `no'.  Use `no_such_member' to indicate
73495         that condition, rather than `-1' which is slightly misleading.
73496         Change the name of the cache variable to have the gl_ prefix.
73497         Prompted by a patch from Richard Dawe for DJGPP.
73498
73499 2003-05-24  Karl Berry  <karl@gnu.org>
73500
73501         * config/config.guess: update from prep.
73502
73503 2003-05-22  Karl Berry  <karl@gnu.org>
73504
73505         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
73506
73507 2003-05-20  Karl Berry  <karl@gnu.org>
73508
73509         * config/config.guess: update from prep.
73510
73511 2003-05-18  Karl Berry  <karl@gnu.org>
73512
73513         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
73514         might actually be set by the user.
73515
73516         * config/depcomp, install-sh, mdate-sh: update from automake.
73517
73518 2003-05-17  Bruno Haible  <bruno@clisp.org>
73519
73520         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
73521         invalid expansion for AC_EGREP_CPP.
73522         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
73523         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
73524         Suggested by Akim Demaille <akim@epita.fr> in
73525         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
73526
73527 2003-05-12  Jim Meyering  <jim@meyering.net>
73528
73529         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
73530         the space-padded-by-default conversion specifiers, %e, %k, %l.
73531
73532 2003-05-12  Bruno Haible  <bruno@clisp.org>
73533
73534         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
73535         the string is longer than 4 KB.
73536
73537 2003-05-11  Karl Berry  <karl@gnu.org>
73538
73539         * config/config.{guess,sub}: update from prep.
73540
73541 2003-05-09  Bruno Haible  <bruno@clisp.org>
73542
73543         * modules/error: Add m4/strerror_r.m4 to file list.
73544
73545 2003-05-03  Bruno Haible  <bruno@clisp.org>
73546
73547         Upgrade to Unicode-4.0.
73548         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
73549         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
73550         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
73551         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
73552         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
73553         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
73554         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
73555         Change width of U+E0100..U+E01EF from 1 to 0.
73556
73557 2003-04-25  Jim Meyering  <jim@meyering.net>
73558
73559         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
73560         of type size_t, not int.
73561
73562 2003-04-25  Bruno Haible  <bruno@clisp.org>
73563
73564         * lib/copy-file.c: Include <stddef.h>, for size_t.
73565
73566 2003-04-21  Paul Eggert  <eggert@twinsun.com>
73567
73568         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
73569         code which expansion is under static control.  Patch imported from
73570         Akim Demaille's patch to Bison; see
73571         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
73572
73573 2003-04-14  Bruno Haible  <bruno@clisp.org>
73574
73575         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
73576
73577 2003-04-11  Jim Meyering  <jim@meyering.net>
73578
73579         Merge changes from Coreutils.
73580
73581         2003-03-22  Jim Meyering  <jim@meyering.net>
73582
73583         * lib/strftime.c (widen): Cast alloca return value to proper type.
73584
73585         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
73586
73587         From GNU libc.
73588         * lib/strftime.c (my_strftime): Handle very large width
73589         specifications for numeric values correctly.  Improve checks for
73590         overflow.
73591
73592         2003-01-19  Jim Meyering  <jim@meyering.net>
73593
73594         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
73595         definitions.
73596         (nl_get_alt_digit) [! defined my_strftime]: Define.
73597         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
73598         _nl_get_alt_digit and _nl_get_walt_digit.
73599
73600         * lib/strftime.c (my_strftime): Merge in locale-related changes from
73601         libc. These changes have no effect outside of _LIBC.
73602
73603 2003-04-10  Bruno Haible  <bruno@clisp.org>
73604
73605         * modules/findprog: New file.
73606         * MODULES.html.sh (func_all_modules): Add it.
73607
73608 2003-04-10  Bruno Haible  <bruno@clisp.org>
73609
73610         * m4/findprog.m4: New file.
73611         * m4/eaccess.m4: New file.
73612
73613 2003-04-10  Bruno Haible  <bruno@clisp.org>
73614
73615         * lib/findprog.h: New file, from GNU gettext.
73616         * lib/findprog.c: New file, from GNU gettext.
73617
73618 2003-04-05  Jim Meyering  <jim@meyering.net>
73619
73620         Merge changes from Coreutils.
73621
73622         * lib/exclude.h (PARAMS): Remove definition and uses.
73623         * lib/exclude.c: Remove uses of `PARAMS'.
73624
73625         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
73626         Add test-cases for DOS filenames. Declare program_name.
73627         (main): Set up program_name.  Patch by Rich Dawe.
73628
73629         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73630         error from mntctl.
73631         Use mntctl's return value to drive the entry-processing loop, since
73632         we can't rely on the value of the vmt_length member in the last
73633         entry.  On some systems doing so could result in exhausting
73634         virtual memory.  Based in part on a patch from Mike Jetzer.
73635
73636 2003-04-04  Bruno Haible  <bruno@clisp.org>
73637
73638         * modules/linebreak: New file.
73639         * MODULES.html.sh (func_all_modules): Add it.
73640
73641 2003-04-04  Bruno Haible  <bruno@clisp.org>
73642
73643         * m4/linebreak.m4: New file.
73644
73645 2003-04-04  Bruno Haible  <bruno@clisp.org>
73646
73647         * lib/linebreak.h: New file, from GNU gettext.
73648         * lib/linebreak.c: New file, from GNU gettext with slight
73649         modifications.
73650         * lib/lbrkprop.h: New file, from GNU gettext.
73651
73652 2003-04-03  Bruno Haible  <bruno@clisp.org>
73653
73654         * modules/utf8-ucs4: New file.
73655         * modules/utf16-ucs4: New file.
73656         * modules/ucs4-utf8: New file.
73657         * modules/ucs4-utf16: New file.
73658         * MODULES.html.sh (func_all_modules): Add them.
73659
73660 2003-04-03  Bruno Haible  <bruno@clisp.org>
73661
73662         * m4/utf-ucs4.m4: New file.
73663         * m4/ucs4-utf.m4: New file.
73664
73665 2003-04-03  Bruno Haible  <bruno@clisp.org>
73666
73667         * lib/utf8-ucs4.h: New file, from GNU gettext.
73668         * lib/utf16-ucs4.h: New file, from GNU gettext.
73669         * lib/ucs4-utf8.h: New file, from GNU gettext.
73670         * lib/ucs4-utf16.h: New file, from GNU gettext.
73671
73672 2003-04-02  Bruno Haible  <bruno@clisp.org>
73673
73674         * modules/binary-io: New file.
73675         * MODULES.html.sh (func_all_modules): Add it.
73676
73677 2003-04-02  Bruno Haible  <bruno@clisp.org>
73678
73679         * lib/binary-io.h: New file, from GNU gettext.
73680
73681 2003-04-01  Bruno Haible  <bruno@clisp.org>
73682
73683         * modules/pathname: New file.
73684         * MODULES.html.sh (func_all_modules): Add it.
73685
73686 2003-04-01  Bruno Haible  <bruno@clisp.org>
73687
73688         * lib/pathname.h: New file, from GNU gettext.
73689         * lib/concatpath.c: New file, from GNU gettext.
73690
73691 2003-03-30  Bruno Haible  <bruno@clisp.org>
73692
73693         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
73694
73695 2003-03-30  Bruno Haible  <bruno@clisp.org>
73696
73697         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
73698         function chown() doesn't exist.
73699
73700 2003-03-28  Bruno Haible  <bruno@clisp.org>
73701
73702         * modules/copy-file: New file.
73703         * MODULES.html.sh (func_all_modules): Add it.
73704
73705 2003-03-28  Bruno Haible  <bruno@clisp.org>
73706
73707         * m4/copy-file.m4: New file.
73708
73709 2003-03-28  Bruno Haible  <bruno@clisp.org>
73710
73711         * lib/copy-file.h: New file, from GNU gettext.
73712         * lib/copy-file.c: New file, from GNU gettext.
73713
73714 2003-03-18  Jim Meyering  <jim@meyering.net>
73715
73716         * lib/quote.c (quote_n): Fix typo in comment.
73717
73718 2003-03-18  Bruno Haible  <bruno@clisp.org>
73719
73720         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
73721         checking.
73722         * m4/onceonly_2_57.m4: Likewise.
73723
73724 2003-03-17  Bruno Haible  <bruno@clisp.org>
73725
73726         * m4/onceonly.m4: Require autoconf 2.54 or newer.
73727         (m4_quote): Remove macro.
73728         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
73729
73730 2003-03-14  Jim Meyering  <jim@meyering.net>
73731
73732         Merge changes from Coreutils.
73733         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
73734         to be const, in order to avoid warnings.
73735         (obstack_room): Likewise.
73736         (obstack_empty_p): Likewise.
73737
73738 2003-03-14  Bruno Haible  <bruno@clisp.org>
73739
73740         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
73741         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
73742
73743 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73744
73745         Merge changes from Bison.
73746         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
73747         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
73748         when compiling Bison 1.875's `bitset bset = obstack_alloc
73749         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
73750         * lib/hash.c: Include <stdbool.h> unconditionally.
73751
73752 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73753
73754         * m4/onceonly.m4 (m4_quote): New macro.
73755         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
73756         Quote AC_FOREACH variable-expansions properly.
73757
73758 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73759
73760         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
73761
73762 2003-03-09  Paul Eggert  <eggert@twinsun.com>
73763
73764         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
73765         Reported by Bruce Becker; see:
73766         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
73767
73768 2003-03-03  Paul Eggert  <eggert@twinsun.com>
73769             Bruno Haible  <bruno@clisp.org>
73770
73771         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
73772         Reported by John Hughes, see
73773         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
73774
73775 2003-02-20  Bruno Haible  <bruno@clisp.org>
73776
73777         * MODULES.html.sh (func_all_modules): Add poll.
73778
73779 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73780
73781         * modules/poll: New file.
73782
73783 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73784
73785         * lib/poll_.h: New file.
73786         * lib/poll.c: New file.
73787
73788 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73789
73790         * m4/poll.m4: New file.
73791
73792 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73793
73794         * modules/mathl: New file.
73795
73796 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73797
73798         * lib/mathl.h: New file.
73799         * lib/acosl.c: New file.
73800         * lib/asinl.c: New file.
73801         * lib/atanl.c: New file.
73802         * lib/ceill.c: New file.
73803         * lib/cosl.c: New file.
73804         * lib/expl.c: New file.
73805         * lib/floorl.c: New file.
73806         * lib/frexpl.c: New file.
73807         * lib/ldexpl.c: New file.
73808         * lib/logl.c: New file.
73809         * lib/sincosl.c: New file.
73810         * lib/sinl.c: New file.
73811         * lib/sqrtl.c: New file.
73812         * lib/tanl.c: New file.
73813         * lib/trigl.c: New file.
73814         * lib/trigl.h: New file.
73815
73816 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73817
73818         * m4/mathl.m4: New file.
73819
73820 2003-02-18  Bruno Haible  <bruno@clisp.org>
73821
73822         * MODULES.html.sh (func_all_modules): Add mathl.
73823
73824 2003-02-17  Bruno Haible  <bruno@clisp.org>
73825
73826         * modules/mkdtemp: New module.
73827         * MODULES.html.sh (func_all_modules): Add it.
73828
73829 2003-02-17  Bruno Haible  <bruno@clisp.org>
73830
73831         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
73832
73833 2003-02-17  Bruno Haible  <bruno@clisp.org>
73834
73835         * lib/mkdtemp.h: New file, from GNU gettext.
73836         * lib/mkdtemp.c: New file, from GNU gettext.
73837
73838 2003-02-02  Jim Meyering  <jim@meyering.net>
73839
73840         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
73841         e.g. glibc-2.2.93.
73842
73843 2003-01-31  Bruno Haible  <bruno@clisp.org>
73844
73845         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
73846         'rpl_rename'.
73847         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
73848         'rpl_strnlen'.
73849         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
73850         'rpl_strtod'.
73851         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
73852         'rpl_utime'.
73853
73854 2003-01-31  Bruno Haible  <bruno@clisp.org>
73855
73856         * lib/rename.c: #undef rename before defining rpl_rename.
73857         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
73858
73859 2003-01-30  Bruno Haible  <bruno@clisp.org>
73860
73861         * modules/vasnprintf, modules/vasprintf: New modules.
73862         * MODULES.html.sh (func_all_modules): Add them.
73863
73864 2003-01-30  Bruno Haible  <bruno@clisp.org>
73865
73866         * m4/signed.m4: New file, from GNU gettext.
73867         * m4/longdouble.m4: New file, from GNU gettext.
73868         * m4/wchar_t.m4: New file, from GNU gettext.
73869         * m4/wint_t.m4: New file, from GNU gettext.
73870         * m4/vasnprintf.m4: New file.
73871         * m4/vasprintf.m4: New file.
73872
73873 2003-01-30  Bruno Haible  <bruno@clisp.org>
73874
73875         * lib/printf-args.h: New file, from GNU gettext.
73876         * lib/printf-args.c: New file, from GNU gettext.
73877         * lib/printf-parse.h: New file, from GNU gettext.
73878         * lib/printf-parse.c: New file, from GNU gettext.
73879         * lib/vasnprintf.h: New file, from GNU gettext.
73880         * lib/vasnprintf.c: New file, from GNU gettext.
73881         * lib/asnprintf.c: New file, from GNU gettext.
73882         * lib/vasprintf.h: New file, from GNU gettext with modifications.
73883         * lib/vasprintf.c: New file, from GNU gettext.
73884         * lib/asprintf.c: New file, from GNU gettext.
73885
73886 2003-01-29  Bruno Haible  <bruno@clisp.org>
73887
73888         * modules/stpncpy: New module.
73889         * MODULES.html.sh (func_all_modules): Add it.
73890
73891 2003-01-29  Bruno Haible  <bruno@clisp.org>
73892
73893         * m4/stpncpy.m4: New file.
73894
73895 2003-01-29  Bruno Haible  <bruno@clisp.org>
73896
73897         * lib/stpncpy.h: New file, from GNU gettext with modifications.
73898         * lib/stpncpy.c: New file, from GNU gettext with modifications.
73899
73900 2003-01-28  Bruno Haible  <bruno@clisp.org>
73901
73902         * modules/c-ctype: New module.
73903         * MODULES.html.sh (func_all_modules): Add it.
73904
73905 2003-01-28  Bruno Haible  <bruno@clisp.org>
73906
73907         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
73908         Paul Eggert.
73909         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
73910         Paul Eggert.
73911
73912 2003-01-27  Bruno Haible  <bruno@clisp.org>
73913
73914         * modules/xsetenv: New module.
73915         * MODULES.html.sh (func_all_modules): Add it.
73916
73917 2003-01-27  Bruno Haible  <bruno@clisp.org>
73918
73919         * lib/xsetenv.h: New file, from GNU gettext.
73920         * lib/xsetenv.c: New file, from GNU gettext.
73921
73922 2003-01-23  Jim Meyering  <jim@meyering.net>
73923
73924         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
73925         from working on systems without dirfd (at least Irix and OSF1/Tru64).
73926
73927 2003-01-23  Bruno Haible  <bruno@clisp.org>
73928
73929         * modules/minmax: New module.
73930         * MODULES.html.sh (func_all_modules): Add it.
73931
73932 2003-01-23  Bruno Haible  <bruno@clisp.org>
73933
73934         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
73935         Eggert.
73936
73937 2003-01-22  Bruno Haible  <bruno@clisp.org>
73938
73939         * modules/exit: New module.
73940         * MODULES.html.sh (func_all_modules): Add it.
73941
73942 2003-01-22  Bruno Haible  <bruno@clisp.org>
73943
73944         * lib/exit.h: New file, from GNU gettext.
73945
73946 2003-01-19  Bruno Haible  <bruno@clisp.org>
73947
73948         * gnulib-tool: Recognize option --extract-maintainer.
73949         (func_get_maintainer): New function.
73950         * modules/*: Add Maintainer entry.
73951
73952 2003-01-16  Jim Meyering  <jim@meyering.net>
73953
73954         * m4/regex.m4: The `regex' struct is both input and output.
73955         Initialize it before each use.  Patch by Tim Waugh.
73956
73957 2003-01-16  Bruno Haible  <bruno@clisp.org>
73958
73959         * MODULES.html.sh: Add a table of contents. Add the module name as
73960         leftmost column. Add hyperlinks.
73961
73962 2003-01-15  Bruno Haible  <bruno@clisp.org>
73963
73964         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
73965
73966 2003-01-15  Bruno Haible  <bruno@clisp.org>
73967
73968         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
73969         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
73970         suffix.
73971
73972 2003-01-15  Bruno Haible  <bruno@clisp.org>
73973
73974         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
73975
73976 2003-01-15  Bruno Haible  <bruno@clisp.org>
73977
73978         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
73979         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
73980
73981 2003-01-14  Jim Meyering  <jim@meyering.net>
73982
73983         * lib/same.c (same_name): Tweak a comment.
73984
73985 2003-01-14  Bruno Haible  <bruno@clisp.org>
73986
73987         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
73988         when a string comparison is sufficient.
73989
73990 2003-01-14  Bruno Haible  <bruno@clisp.org>
73991
73992         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
73993         'unsigned int'.
73994
73995 2003-01-14  Bruno Haible  <bruno@clisp.org>
73996
73997         * lib/hash-pjw.c: Add comment about low quality of this function.
73998
73999 2003-01-13  Bruno Haible  <bruno@clisp.org>
74000
74001         * modules/stpcpy: Distribute lib/stpcpy.h.
74002         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
74003
74004 2003-01-13  Bruno Haible  <bruno@clisp.org>
74005
74006         * modules/*: Add a description.
74007         * modules/strpbrk: Fix Makefile.am snippet.
74008         * modules/strtoimax: Fix dependencies.
74009         * modules/strtoumax: Likewise.
74010
74011 2003-01-13  Bruno Haible  <bruno@clisp.org>
74012
74013         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
74014         * modules/alloca (Makefile.am): All object files depend on alloca.h.
74015         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
74016
74017 2003-01-13  Bruno Haible  <bruno@clisp.org>
74018
74019         * gnulib-tool (func_create_testdir): Store config/* files in the main
74020         directory.
74021         * config.rpath: Move to ...
74022         * config/config.rpath: ... here.
74023         * modules/gettext: Contains config/config.rpath, not config.rpath.
74024         * modules/iconv: Likewise.
74025
74026 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74027
74028         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74029         to avoid collisions with libcurses and libreadline.
74030
74031         * m4/getstr.m4: Remove.
74032         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
74033
74034 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74035
74036         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74037         to avoid collisions with libcurses and libreadline.
74038
74039         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
74040         * lib/getstr.h, getstr.c: Remove.
74041         * lib/getline.c: Include "getline.h", to check interface.
74042         Move body of old getstr.c here: this defines MIN_CHUNK and
74043         declares getdelim2, which is renamed from getstr.
74044         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
74045
74046         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
74047         All uses changed.
74048         * lib/linebuffer.h: Likewise.
74049         (readline): Remove backward-compatibility macro.
74050
74051 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74052
74053         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74054         to avoid collisions with libcurses and libreadline.
74055         * getstr: Remove.
74056         * MODULES.html.sh: Remove getstr.
74057         * modules/getline: Depend on unlocked-io, not getstr.
74058
74059 2003-01-12  Jim Meyering  <jim@meyering.net>
74060
74061         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
74062
74063 2003-01-10  Bruno Haible  <bruno@clisp.org>
74064
74065         * modules/alloca: Change Makefile.am requirements. Simplify Include
74066         requirements. Add lib/alloca_.h to file list.
74067
74068 2003-01-10  Bruno Haible  <bruno@clisp.org>
74069
74070         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
74071
74072 2003-01-10  Bruno Haible  <bruno@clisp.org>
74073
74074         * lib/alloca_.h: New file.
74075         * lib/getdate.y: Unconditionally include alloca.h.
74076         * lib/makepath.c: Likewise.
74077         * lib/setenv.c: Likewise.
74078         * lib/userspec.c: Likewise.
74079
74080 2003-01-09  Karl Berry  <karl@gnu.org>
74081
74082         * MODULES.html.sh: include `dirname $0` in PATH, to find
74083         gnulib-tool.
74084
74085 2003-01-09  Bruno Haible  <bruno@clisp.org>
74086
74087         * modules/stdbool: Change configure.ac, Makefile.am requirements.
74088         Simplify Include requirements. Add lib/stdbool.h.in to file list.
74089
74090 2003-01-09  Bruno Haible  <bruno@clisp.org>
74091
74092         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
74093
74094 2003-01-09  Bruno Haible  <bruno@clisp.org>
74095
74096         * lib/stdbool.h.in: New file.
74097
74098 2003-01-09  Bruno Haible  <bruno@clisp.org>
74099
74100         * gnulib-tool (func_all_modules): Ignore files ending in ~.
74101         * MODULES.html.sh: Likewise.
74102
74103 2003-01-08  Jim Meyering  <jim@meyering.net>
74104
74105         * lib/full-write.c: Undefine and define-away `const' after inclusion
74106         of errno.h, not before.  Suggestion from Bruno Haible.
74107
74108 2003-01-08  Bruno Haible  <bruno@clisp.org>
74109
74110         * modules/full-read: Depend on full-write.
74111
74112 2003-01-08  Bruno Haible  <bruno@clisp.org>
74113
74114         * lib/safe-read.c: Include specification header first, to ensure its
74115         selfcontainedness.
74116         * lib/full-write.c: Likewise.
74117
74118 2003-01-07  Jim Meyering  <jim@meyering.net>
74119
74120         * lib/full-write.c: Rework so that it may serve to define full_read,
74121         too.
74122         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
74123
74124 2003-01-07  Bruno Haible  <bruno@clisp.org>
74125
74126         * lib/strtoimax.c: Include <stdint.h> as an alternative to
74127         <inttypes.h>.
74128         * lib/xstrtol.h: Likewise.
74129         * lib/xstrtoimax.c: Likewise.
74130         * lib/xstrtoumax.c: Likewise.
74131         * lib/human.h: Likewise.
74132
74133         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
74134         on systems that have <inttypes.h> but not <stdint.h>.
74135
74136 2003-01-07  Bruno Haible  <bruno@clisp.org>
74137
74138         * MODULES.html.sh: Add copyright notice.
74139         (missed_files): Omit CVS directory entries.
74140         (func_module): Make it work with sed-3.02.
74141         * MODULES.txt: Remove file.
74142
74143 2003-01-06  Jim Meyering  <jim@meyering.net>
74144
74145         * lib/version-etc.c: Update year in translatable copyright string.
74146
74147 2003-01-03  Karl Berry  <karl@gnu.org>
74148
74149         * config/config.{guess,sub}: update from prep.
74150
74151 2003-01-02  Karl Berry  <karl@gnu.org>
74152
74153         * doc/COPYING.DOC: belatedly updated to 1.2.
74154
74155 2003-01-01  Karl Berry  <karl@gnu.org>
74156
74157         * gnulib-tool (func_verify_module): report module name $module in
74158         error message, not $1.
74159         * gnulib-tool (create-testdir): don't complain if destdir couldn't
74160         be created, only if it doesn't exist.
74161         * gnulib-tool (last_checkin_date): don't expand the $Date here.
74162
74163 2002-12-31  Paul Eggert  <eggert@twinsun.com>
74164
74165         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
74166
74167 2002-12-31  Paul Eggert  <eggert@twinsun.com>
74168
74169         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
74170         memcmp if strcoll doesn't work.
74171
74172 2002-12-31  Bruno Haible  <bruno@clisp.org>
74173
74174         * lib/utime.c (utime_null): No need to call ftruncate if the file was
74175         nonempty.
74176
74177 2002-12-31  Bruno Haible  <bruno@clisp.org>
74178
74179         * lib/memcoll.c (STRCOLL): New macro.
74180         (memcoll): Use it.
74181
74182 2002-12-31  Bruno Haible  <bruno@clisp.org>
74183
74184         * lib/localcharset.h: New file.
74185         * lib/localcharset.c: Include it.
74186         * lib/unicodeio.c: Likewise.
74187
74188 2002-12-31  Bruno Haible  <bruno@clisp.org>
74189
74190         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
74191         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
74192
74193 2002-12-31  Bruno Haible  <bruno@clisp.org>
74194
74195         * lib/getline.h: Include <stddef.h>, for size_t.
74196
74197         * lib/unicodeio.h: Include <stddef.h>, for size_t.
74198         * lib/unicodeio.c: Don't include <stddef.h>.
74199
74200 2002-12-31  Bruno Haible  <bruno@clisp.org>
74201
74202         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
74203         HAVE_TM_ZONE.
74204
74205 2002-12-24  Karl Berry  <karl@gnu.org>
74206
74207         * config/config.guess: update from prep.
74208
74209 2002-12-24  Bruno Haible  <bruno@clisp.org>
74210
74211         General infrasructure.
74212         * m4/README: Rewritten.
74213         * m4/onceonly.m4: New file.
74214         * m4/onceonly_2_57.m4: New file.
74215
74216         Module atexit.
74217         * m4/atexit.m4: New file.
74218
74219         Module strtod.
74220         * m4/strtod.m4: New file.
74221
74222         Module strtol.
74223         * m4/strtol.m4: New file.
74224
74225         Module strtoul.
74226         * m4/strtoul.m4: New file.
74227
74228         Module memchr.
74229         * m4/memchr.m4: New file.
74230
74231         Module memcmp.
74232         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
74233         (jm_FUNC_MEMCMP): Invoke it.
74234
74235         Module memcpy.
74236         * m4/memcpy.m4: New file.
74237
74238         Module memmove.
74239         * m4/memmove.m4: New file.
74240
74241         Module memset.
74242         * m4/memset.m4: New file.
74243
74244         Module strcspn.
74245         * m4/strcspn.m4: New file.
74246
74247         Module strpbrk.
74248         * m4/strpbrk.m4: New file.
74249
74250         Module strstr.
74251         * m4/strstr.m4: New file.
74252
74253         Module strerror.
74254         * m4/strerror.m4: New file.
74255
74256         Module mktime.
74257         * m4/mktime.m4: Renamed from jm-mktime.m4.
74258         (gl_PREREQ_MKTIME): New macro.
74259         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
74260
74261         Module malloc.
74262         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
74263         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
74264         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
74265
74266         Module realloc.
74267         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
74268         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
74269         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
74270
74271         Module strftime.
74272         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
74273         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
74274         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
74275         gl_TM_GMTOFF.
74276         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
74277
74278         Module xalloc.
74279         * m4/xalloc.m4: New file.
74280
74281         Module alloca.
74282         * m4/alloca.m4: New file.
74283
74284         Module putenv.
74285         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
74286         (jm_FUNC_PUTENV): Invoke it.
74287
74288         Module setenv.
74289         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
74290         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
74291         when invoked twice.
74292         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
74293         gt_FUNC_SETENV.
74294
74295         Module memrchr.
74296         * m4/memrchr.m4: New file.
74297
74298         Module stpcpy.
74299         * m4/stpcpy.m4: New file.
74300
74301         Module strcase.
74302         * m4/strcase.m4: New file.
74303
74304         Module strdup.
74305         * m4/strdup.m4: New file.
74306
74307         Module strnlen.
74308         * m4/strnlen.m4: New file.
74309
74310         Module strndup.
74311         * m4/strndup.m4: New file.
74312
74313         Module xstrtod.
74314         * m4/xstrtod.m4: New file.
74315
74316         Module xstrtol.
74317         * m4/xstrtol.m4: New file.
74318
74319         Module getdate.
74320         * m4/getdate.m4: New file.
74321
74322         Module unlocked-io.
74323         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
74324         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
74325         * m4/jm-glibc-io.m4n: Remove file.
74326
74327         Module long-options.
74328         * m4/long-options.m4: New file.
74329
74330         Module md5.
74331         * m4/md5.m4: New file.
74332
74333         Module sha.
74334         * m4/sha.m4: New file.
74335
74336         Module getstr.
74337         * m4/getstr.m4: New file.
74338
74339         Module getline.
74340         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
74341         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
74342         <sys/types.h>, for size_t. Use the function name gnu_getline, not
74343         simply getline. Infoke gl_PREREQ_GETLINE.
74344
74345         Module obstack.
74346         * m4/obstack.m4: New file.
74347
74348         Module hash.
74349         * m4/hash.m4: New file.
74350
74351         Module readtokens.
74352         * m4/readtokens.m4: New file.
74353
74354         Module strverscmp.
74355         * m4/strverscmp.m4: New file.
74356
74357         Module stdbool.
74358         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
74359         OSF/1.
74360
74361         Module strtoll.
74362         * m4/strtoll.m4: New file.
74363
74364         Module strtoull.
74365         * m4/strtoull.m4: New file.
74366
74367         Module strtoimax.
74368         * m4/strtoimax.m4: New file.
74369
74370         Module strtoumax.
74371         * m4/strtoumax.m4: New file.
74372
74373         Module xstrtoimax.
74374         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
74375         jm_AC_PREREQ_XSTRTOIMAX.
74376         Moved the strtol prerequisites to strtol.m4.
74377         Moved the strtoll prerequisites to strtoll.m4.
74378         Moved the strtoimax prerequisites to strtoimax.m4.
74379
74380         Module xstrtoumax.
74381         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
74382         jm_AC_PREREQ_XSTRTOUMAX.
74383         Moved the strtoul prerequisites to strtoul.m4.
74384         Moved the strtoull prerequisites to strtoull.m4.
74385         Moved the strtoumax prerequisites to strtoumax.m4.
74386
74387         Module chown.
74388         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
74389         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
74390
74391         Module dup2.
74392         * m4/dup2.m4: New file.
74393
74394         Module ftruncate.
74395         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
74396         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
74397
74398         Module getgroups.
74399         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
74400         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
74401
74402         Module gettimeofday.
74403         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
74404         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
74405         gl_PREREQ_GETTIMEOFDAY.
74406
74407         Module mkdir.
74408         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
74409         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
74410
74411         Module mkstemp.
74412         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
74413         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
74414         jm_AC_TYPE_UINTMAX_T.
74415         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
74416
74417         Module stat.
74418         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
74419         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
74420
74421         Module lstat.
74422         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
74423         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
74424
74425         Module timespec.
74426         * m4/timespec.m4 (gl_TIMESPEC): New macro.
74427         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
74428         * m4/st_mtim.m4: Indentation.
74429
74430         Module nanosleep.
74431         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
74432         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
74433         gl_PREREQ_NANOSLEEP.
74434
74435         Module regex.
74436         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
74437         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
74438         (gl_REGEX): New macro.
74439
74440         Module rename.
74441         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
74442         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
74443
74444         Module rmdir.
74445         * m4/rmdir.m4: New file.
74446
74447         Module utime.
74448         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
74449         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
74450         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
74451
74452         Module dirname.
74453         * m4/dirname.m4: New file.
74454
74455         Module getopt.
74456         * m4/getopt.m4: New file.
74457
74458         Module unistd-safer.
74459         * m4/unistd-safer.m4: New file.
74460
74461         Module fnmatch.
74462         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
74463         declaration.
74464         (gl_PREREQ_FNMATCH_EXTRA): New macro.
74465         (gl_FUNC_FNMATCH_POSIX): New macro.
74466         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
74467         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
74468         simply fnmatch.
74469
74470         Module exclude.
74471         * m4/exclude.m4: New file.
74472
74473         Module human.
74474         * m4/human.m4: New file.
74475
74476         Module acl.
74477         * m4/acl.m4: Nop.
74478
74479         Module backupfile.
74480         * m4/backupfile.m4: New file.
74481         * m4/d-ino.m4: Indentation.
74482
74483         Module fsusage.
74484         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
74485         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
74486         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
74487
74488         Module dirfd.
74489         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
74490         requirements.
74491
74492         Module euidaccess.
74493         * m4/euidaccess.m4: New file.
74494
74495         Module file-type.
74496         * m4/file-type.m4: New file.
74497
74498         Module fileblocks.
74499         * m4/fileblocks.m4: New file.
74500
74501         Module filemode.
74502         * m4/filemode.m4: New file.
74503
74504         Module isdir.
74505         * m4/isdir.m4: New file.
74506
74507         Module lchown.
74508         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
74509         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
74510
74511         Module makepath.
74512         * m4/makepath.m4: New file.
74513
74514         Module modechange.
74515         * m4/modechange.m4: New file.
74516
74517         Module mountlist.
74518         * m4/mountlist.m4: New file.
74519         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
74520         Indentation.
74521
74522         Module path-concat.
74523         * m4/path-concat.m4: New file.
74524
74525         Module pathmax.
74526         * m4/pathmax.m4: New file.
74527
74528         Module same.
74529         * m4/same.m4: New file.
74530
74531         Module save-cwd.
74532         * m4/save-cwd.m4: New file.
74533
74534         Module savedir.
74535         * m4/savedir.m4: New file.
74536
74537         Module xgetcwd.
74538         * m4/xgetcwd.m4: New file.
74539         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
74540
74541         Module xreadlink.
74542         * m4/xreadlink.m4: New file.
74543
74544         Module safe-read.
74545         * m4/safe-read.m4: New file.
74546
74547         Module safe-write.
74548         * m4/safe-write.m4: New file.
74549
74550         Module closeout.
74551         * m4/closeout.m4: New file.
74552
74553         Module stdio-safer.
74554         * m4/stdio-safer.m4: New file.
74555
74556         Module getpass.
74557         * m4/getpass.m4: New file.
74558
74559         Module getugroups.
74560         * m4/getugroups.m4: New file.
74561
74562         Module group-member.
74563         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
74564         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
74565
74566         Module idcache.
74567         * m4/idcache.m4: New file.
74568
74569         Module userspec.
74570         * m4/userspec.m4: New file.
74571
74572         Module gettime.
74573         * m4/clock_time.m4: New file.
74574         * m4/gettime.m4: New file.
74575
74576         Module settime.
74577         * m4/settime.m4: New file.
74578
74579         Module posixtm.
74580         * m4/posixtm.m4: New file.
74581
74582         Module gethostname.
74583         * m4/gethostname.m4: New file.
74584
74585         Module canon-host.
74586         * m4/canon-host.m4: New file.
74587
74588         Module gettext.
74589         * m4/codeset.m4: New file, from gettext-0.11.5.
74590         * m4/gettext.m4: New file, from gettext-0.11.5.
74591         * m4/glibc21.m4: New file, from gettext-0.11.5.
74592         * m4/iconv.m4: New file, from gettext-0.11.5.
74593         * m4/intdiv0.m4: New file, from gettext-0.11.5.
74594         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
74595         * m4/inttypes.m4: New file, from gettext-0.11.5.
74596         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
74597         * m4/isc-posix.m4: New file, from gettext-0.11.5.
74598         * m4/lcmessage.m4: New file, from gettext-0.11.5.
74599         * m4/lib-ld.m4: New file, from gettext-0.11.5.
74600         * m4/lib-link.m4: New file, from gettext-0.11.5.
74601         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
74602         * m4/progtest.m4: New file, from gettext-0.11.5.
74603         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
74604         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
74605         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
74606
74607         Module localcharset.
74608         * m4/localcharset.m4: New file.
74609
74610         Module hard-locale.
74611         * m4/hard-locale.m4: New file.
74612
74613         Module mbswidth.
74614         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
74615         onceonly macros.
74616         * m4/mbrtowc.m4: Add comment.
74617
74618         Module memcasecmp.
74619         * m4/memcasecmp.m4: New file.
74620
74621         Module memcoll.
74622         * m4/memcoll.m4: New file.
74623
74624         Module unicodeio.
74625         * m4/unicodeio.m4: New file.
74626
74627         Module rpmatch.
74628         * m4/rpmatch.m4: New file.
74629
74630         Module yesno.
74631         * m4/yesno.m4: New file.
74632
74633         Module exitfail.
74634         * m4/exitfail.m4: New file.
74635
74636         Module c-stack.
74637         * m4/c-stack.m4 (gl_C_STACK): New macro.
74638         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
74639
74640         Module error.
74641         * m4/error.m4 (gl_ERROR): New macro.
74642         (jm_PREREQ_ERROR): Use onceonly macros.
74643
74644         Module fatal.
74645         * m4/fatal.m4: New file.
74646
74647         Module getloadavg.
74648         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
74649         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
74650
74651         Module getpagesize.
74652         * m4/getpagesize.m4: New file.
74653
74654         Module getusershell.
74655         * m4/getusershell.m4: New file.
74656
74657         Module physmem.
74658         * m4/physmem.m4: New file.
74659
74660         Module posixver.
74661         * m4/posixver.m4: New file.
74662
74663         Module quotearg.
74664         * m4/quotearg.m4: New file.
74665
74666         Module quote.
74667         * m4/quote.m4: New file.
74668
74669         Module readutmp.
74670         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
74671
74672         Module sig2str.
74673         * m4/sig2str.m4: New file.
74674
74675         Other.
74676         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
74677         ulonglong.m4.
74678         * m4/intmax_t.m4: New file.
74679         * m4/d-type.m4: Indentation.
74680         * m4/jm-macros.m4: Update.
74681         * m4/prereq.m4 (jm_PREREQ): Update.
74682         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
74683         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
74684         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
74685         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
74686         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
74687         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
74688         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
74689         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
74690         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
74691         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
74692         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
74693         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
74694         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
74695         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
74696         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
74697         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
74698         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
74699         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
74700         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
74701
74702 2002-12-24  Bruno Haible  <bruno@clisp.org>
74703
74704         * MODULES.txt: Update according to m4/ changes.
74705
74706         Module gettext.
74707         * config.rpath: New file, from gettext-0.11.5.
74708
74709         * modules/*: New module descriptions.
74710         * gnulib-tool: New file.
74711         * MODULES.html.sh: New file.
74712
74713 2002-12-21  Karl Berry  <karl@gnu.org>
74714
74715         * doc/fdl.texi: update to version 1.2.
74716
74717 2002-12-19  Karl Berry  <karl@gnu.org>
74718
74719         * config/config.guess: update from prep.
74720
74721 2002-12-18  Bruno Haible  <bruno@clisp.org>
74722
74723         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
74724         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
74725
74726 2002-12-17  Bruno Haible  <bruno@clisp.org>
74727
74728         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
74729         stdlib.h, string.h.
74730
74731 2002-12-17  Bruno Haible  <bruno@clisp.org>
74732
74733         * lib/canon-host.c (strdup): Remove unused declaration.
74734
74735         * lib/fsusage.c: Include full_read.h.
74736         (get_fs_usage): Use full_read instead of safe_read.
74737
74738         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
74739
74740 2002-12-12  Karl Berry  <karl@gnu.org>
74741
74742         * config/config.guess: update from prep.
74743
74744 2002-12-11  Bruno Haible  <bruno@clisp.org>
74745
74746         * m4/setenv.m4: New file, from gettext-0.11.5.
74747
74748 2002-12-11  Bruno Haible  <bruno@clisp.org>
74749
74750         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
74751         not unsetenv().
74752         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
74753         modifications:
74754
74755         2002-12-11  Bruno Haible  <bruno@clisp.org>
74756
74757                 * setenv.c (alloca): Fall back to malloc.
74758                 (freea): New macro.
74759                 (setenv): Use freea() to free memory allocated with alloca().
74760
74761         2002-11-13  Bruno Haible  <bruno@clisp.org>
74762
74763                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
74764                 function declarations.
74765                 * unsetenv.c (unsetenv): Likewise.
74766
74767         2002-03-04  Bruno Haible  <bruno@clisp.org>
74768
74769                 Portability to AIX 4.3.3.
74770                 * unsetenv.c: New file, extracted from setenv.c.
74771                 * setenv.c: Move the unsetenv() function to unsetenv.c.
74772
74773         2001-12-20  Bruno Haible  <bruno@clisp.org>
74774
74775                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
74776                 use malloc instead. For SunOS 4.
74777
74778         2001-12-11  Bruno Haible  <bruno@clisp.org>
74779
74780                 * setenv.c: Declare alloca.
74781                 (compar_fn_t): New typedef.
74782                 (KNOWN_VALUE, STORE_VALUE): Use it.
74783
74784         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
74785         setenv.h.
74786
74787 2002-12-10  Paul Eggert  <eggert@twinsun.com>
74788
74789         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
74790         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
74791         Choose values that are less likely to collide with system fnmatch
74792         options.
74793         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
74794         defined (e.g., a pure POSIX system).
74795         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
74796         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
74797
74798 2002-12-06  Paul Eggert  <eggert@twinsun.com>
74799
74800         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
74801         a pain in practice to deal with generated m4 files.  This change
74802         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
74803
74804         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
74805         and jm-glibc-io.m4, as they are no longer a special case.
74806         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
74807         kludge and the auto-generation stuff.  Check only whether the
74808         functions are declared, not whether they exist, since older hosts
74809         that don't declare the functions can't use the optimization anyway.
74810
74811 2002-12-06  Jim Meyering  <jim@meyering.net>
74812
74813         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
74814
74815         Merge in changes from libc's misc/error.c, in preparation
74816         for the merge of gnulib's changes back into libc.
74817
74818         * lib/error.c (_): Define only if not already defined.
74819         Move definition to follow all #include directives.
74820         Include unlocked-io.h only if !_LIBC.
74821         [_LIBC]: Include <libio/libioP.h>.
74822         [USE_IN_LIBIO]: Include <libio/iolibio.h>
74823         (fflush): Tweak definition to use INTUSE.
74824         (putc): Define.
74825
74826 2002-12-05  Paul Eggert  <eggert@twinsun.com>
74827
74828         * lib/alloca.c [defined emacs]: Include "lisp.h".
74829         (xalloc_die) [defined emacs]: New macro.
74830         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
74831         [! defined emacs]: Include <xalloc.h>.
74832         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
74833         (pointer): Typedef to POINTER_TYPE *.
74834         (malloc): Remove decl; we now always use xmalloc.
74835         (alloca): Use old-style definition, since Emacs needs this.
74836         Check for arithmetic overflow when computing combined size.
74837
74838 2002-12-04  Paul Eggert  <eggert@twinsun.com>
74839
74840         Do not generate unlocked-io.h automatically, since it's easier to
74841         maintain it by hand.
74842
74843         * lib/unlocked-io.h: New file, from GNU diffutils,
74844         but with proper copyright notice and attribution.
74845         * lib/gen-uio: Remove.
74846         * lib/Makefile.am: Add copyright notice.
74847         (libfetish_a_SOURCES): Add unlocked-io.h.
74848         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
74849         (DISTCLEANFILES, io_functions): Remove macros.
74850         (EXTRA_DIST): Remove gen_uio.
74851         (unlocked-io.h): Remove rule.
74852
74853 2002-12-04  Jim Meyering  <jim@meyering.net>
74854
74855         Reflect the fact that stat.c and lstat.c are no longer generated.
74856         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
74857         (DISTCLEANFILES): Likewise.
74858         (EXTRA_DIST): Likewise.
74859         (all_local): Don't depend on stat.c or lstat.c.
74860         (stat.c, lstat.c): Remove rules.
74861         (EXTRA_DIST): Remove xstat.in.
74862
74863         * lib/xstat.in: Remove file.  Contents moved into stat.c.
74864         * lib/stat.c: New file.  Contents mostly from xstat.in.
74865         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
74866         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
74867
74868         * lib/safe-read.c: Rework so that it may serve to define safe_write,
74869         too.
74870         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
74871
74872 2002-12-03  Jim Meyering  <jim@meyering.net>
74873
74874         * lib/safe-read.c, safe-write.c: Change variable names and comments,
74875         but not semantics, to minimize the differences between these two files.
74876         (safe_read): Change comment to mention SAFE_READ_ERROR.
74877
74878         * lib/safe-read.c (IS_EINTR): Define.
74879         (safe_read): Use IS_EINTR in place of in-function cpp directives.
74880
74881 2002-12-02  Jim Meyering  <jim@meyering.net>
74882
74883         * lib/safe-read.c (EINTR): Define.
74884         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
74885         (INT_MAX): Provide fallback.
74886         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
74887
74888         * lib/safe-read.h (SAFE_READ_ERROR): Define.
74889
74890 2002-12-02  Bruno Haible  <bruno@clisp.org>
74891
74892         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
74893         Define, taken from safe-read.c.
74894         (INT_MAX): Provide fallback.
74895         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
74896         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
74897
74898         * lib/safe-read.c (EINTR): Remove definition.
74899         (safe_read): Don't use EINTR if it is absent.
74900
74901 2002-12-01  Jim Meyering  <jim@meyering.net>
74902
74903         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
74904         zero.
74905         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
74906
74907 2002-11-27  Paul Eggert  <eggert@twinsun.com>
74908
74909         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
74910         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
74911         with `if (! (value < limit)) abort ();', for readability.
74912
74913 2002-11-26  Karl Berry  <karl@gnu.org>
74914
74915         * lib/strdup.c: copy from libc again, with jim's ok.
74916         * lib/.cppi-disable: re-add strdup.c
74917
74918 2002-11-25  Karl Berry  <karl@gnu.org>
74919
74920         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
74921         instead of "strtol.c".
74922
74923 2002-11-25  Karl Berry  <karl@gnu.org>
74924
74925         * config/install-sh: update from automake for variable quoting, $0 in
74926         error msgs, etc.
74927
74928         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
74929         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
74930         entry.
74931
74932 2002-11-25  Jim Meyering  <jim@meyering.net>
74933
74934         * lib/mktime.c: Sync from libc, now that it has the latest fix.
74935
74936 2002-11-24  Karl Berry  <karl@gnu.org>
74937
74938         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
74939         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
74940
74941 2002-11-24  Jim Meyering  <jim@meyering.net>
74942
74943         Update from coreutils:
74944
74945         * lib/mktime.c: Merge in changes from libc.
74946
74947         Avoid a link-time failure on some Linux systems.
74948         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
74949         (otherwise).
74950         (__mon_yday): Declare with the STATIC attribute.
74951         (__mktime_internal): Likewise.
74952         Based on a report from Greg Schafer.
74953
74954 2002-11-23  Jim Meyering  <jim@meyering.net>
74955
74956         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
74957         Use `unsigned', not `int', as type of index.
74958
74959         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
74960
74961         * lib/fsusage.c: Remove unneeded parentheses around operands of
74962         `defined'.
74963
74964 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74965
74966         * lib/quotearg.h: Allow multiple inclusion by surrounding with
74967         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
74968         so that we can be included first.
74969         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
74970         * lib/quotearg.c: Include quotearg.h immediately after config.h.
74971         No need to include stddef.h or sys/types.h any more.
74972         Surround local include files with "", not "<>".
74973         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
74974         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
74975         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
74976         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
74977         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
74978         (ISPRINT): Remove; no longer needed now that we assume C89.
74979
74980         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
74981         Preserve errno.
74982
74983         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
74984         quotearg_char): Use SIZE_MAX rather than
74985         (size_t) -1 when we are talking about "infinity".
74986
74987         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
74988
74989 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74990
74991         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
74992         hint that one should use `if (! x) abort ();' rather than `assert
74993         (x);', and anyway it's one less thing to worry about configuring.
74994         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
74995         hash_rehash, hash_insert): Use abort rather than assert.
74996
74997 2002-11-22  Bruno Haible  <bruno@clisp.org>
74998
74999         * lib/safe-read.h: Assume C89. Add comments.
75000         (safe_read): Change return type to size_t.
75001         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
75002         byte counts > SSIZE_MAX correctly.
75003         * lib/safe-write.h: New file.
75004         * lib/safe-write.c: New file.
75005         * lib/full-read.h: New file.
75006         * lib/full-read.c: New file.
75007         * lib/full-write.h: Assume C89. Add comments.
75008         * lib/full-write.c: Include safe-write.h.
75009         (full_write): Rewritten to use safe_write.
75010         Suggested by Jim Meyering and Paul Eggert.
75011
75012 2002-11-21  Jim Meyering  <jim@meyering.net>
75013
75014         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
75015
75016         Merge in changes from the coreutils.
75017
75018         2002-09-25  Paul Eggert  <eggert@twinsun.com>
75019         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
75020         <stdint.h>.
75021         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
75022         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
75023         int.  Work more efficiently if X is the same width as uintmax_t.
75024         Do not compare X to -1, to avoid bogus compiler warning.
75025         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
75026         Don't assume that f_frsize and f_bsize are the same type.
75027
75028         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
75029         warning on FreeBSD.
75030
75031         * lib/makepath.c (make_path): Restore umask *before* creating the final
75032         component.
75033         (make_path): Minor reformatting.
75034
75035         * lib/xmalloc.c: Adjust to work with new autoconf macros,
75036         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
75037         HAVE_MALLOC/HAVE_REALLOC.
75038
75039         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
75040         dummy ones.  At least on GNU/Linux systems, `auto' means something
75041         else.
75042         From Michael Stone.
75043
75044 2002-11-21  Bruno Haible  <bruno@clisp.org>
75045
75046         Remove case insensitive option matching.
75047         * lib/argmatch.h (argcasematch): Remove declaration.
75048         (ARGCASEMATCH): Remove macro.
75049         (__xargmatch_internal): Remove case_sensitive argument.
75050         (XARGMATCH): Update.
75051         (XARGCASEMATCH): Remove macro.
75052         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
75053         case_sensitive argument.
75054         (argcasematch): Remove function.
75055         (__xargmatch_internal): Remove case_sensitive argument.
75056         (main): Use XARGMATCH instead of XARGCASEMATCH.
75057
75058         * lib/xmalloc.c: Change compile-time error message. Add comment about
75059         required autoconf version.
75060
75061 2002-11-20  Paul Eggert  <eggert@twinsun.com>
75062
75063         Merge argmatch cleanups from Bison.  Assume C89.
75064
75065         * lib/argmatch.c: Include config.h here, not in argmatch.h.
75066         Include stdlib.h, for EXIT_FAILURE.
75067         Always include <string.h>, since we assume C89.
75068         (EXIT_FAILURE): Remove pre-C89 bug workaround.
75069         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
75070         Include <stddef.h> instead, since it's all we need for size_t.
75071         (PARAMS): Remove.  All uses removed.
75072         (ARRAY_CARDINALITY): Do not bother to #undef.
75073         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
75074         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
75075         Remove unnecessary parentheses.
75076         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
75077         Insert necessary parentheses.
75078         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
75079         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
75080
75081 2002-11-19  Bruno Haible  <bruno@clisp.org>
75082
75083         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
75084         * lib/mbswidth.h: Include <stddef.h>, for size_t.
75085
75086         * lib/mbswidth.h (PARAMS): Remove macro.
75087         (mbswidth, mbsnwidth): Use ANSI C function declarations.
75088         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
75089
75090         * lib/gcd.h (PARAMS): Remove macro.
75091         (gcd): Use ANSI C function declarations.
75092         * lib/gcd.c (gcd): Likewise.
75093
75094 2002-11-15  Bruno Haible  <bruno@clisp.org>
75095
75096         * lib/strcspn.c: Include <stddef.h>.
75097         (strcspn): Use ANSI C function declaration. Change return type to
75098         size_t. Use NULL.
75099         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
75100         (strpbrk): Use NULL.
75101         * lib/strpbrk.h (PARAMS): Remove macro.
75102         (strpbrk): Use ANSI C function declaration.
75103         * lib/strstr.c: Don't include <sys/types.h>.
75104         * lib/strstr.h (PARAMS): Remove macro.
75105         (strstr): Use ANSI C function declarations.
75106
75107 2002-11-14  Karl Berry  <karl@gnu.org>
75108
75109         * config/mkinstalldirs: `do' on separate line, instead of
75110         `for var; do'.
75111
75112 2002-11-06  Bruno Haible  <bruno@clisp.org>
75113
75114         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
75115         * lib/gcd.c (gcd): Likewise.
75116
75117 2002-11-05  Bruno Haible  <bruno@clisp.org>
75118
75119         * lib/gcd.h: New file, from gettext-0.11.5.
75120         * lib/gcd.c: New file, from gettext-0.11.5.
75121
75122 2002-11-05  Bruno Haible  <bruno@clisp.org>
75123
75124         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75125         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75126         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75127         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75128
75129         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
75130         <libintl.h>.
75131         * lib/makepath.c: Include gettext.h instead of <locale.h> and
75132         <libintl.h>.
75133
75134         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
75135         * lib/human.c: Include gettext.h instead of <libintl.h>.
75136         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
75137         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
75138         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
75139         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
75140         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
75141         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
75142         (textdomain): Remove definition.
75143         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
75144
75145         * lib/long-options.c: Remove include of <libintl.h> and definition of
75146         _.
75147         * lib/same.c: Remove include of <libintl.h> and definition of _.
75148
75149 2002-11-04  Owen Taylor  <otaylor@redhat.com>
75150
75151         * lib/config.charset: A few additions for Solaris.
75152
75153 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
75154
75155         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
75156         * lib/localcharset.c (locale_charset): Declare as extern "C".
75157
75158 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
75159
75160         * lib/config.charset: msdos in uk_UA uses CP1125.
75161
75162 2002-11-04  Bruno Haible  <bruno@clisp.org>
75163
75164         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
75165         * lib/strcase.h: New file, from GNU gettext-0.11.5.
75166         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
75167         * lib/strstr.h: New file, from GNU gettext-0.11.5.
75168         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
75169
75170 2002-11-04  Bruno Haible  <bruno@clisp.org>
75171
75172         * lib/localcharset.c (locale_charset): Don't return an empty string.
75173
75174 2002-11-04  Bruno Haible  <bruno@clisp.org>
75175
75176         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
75177         aliases.
75178
75179 2002-11-04  Bruno Haible  <bruno@clisp.org>
75180
75181         * lib/config.charset: Update for newest glibc. Add canonical names
75182         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
75183
75184 2002-11-04  Bruno Haible  <bruno@clisp.org>
75185
75186         * lib/config.charset: Add support for NetBSD.
75187
75188 2002-11-04  Bruno Haible  <bruno@clisp.org>
75189
75190         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
75191
75192 2002-11-01  Bruno Haible  <bruno@clisp.org>
75193
75194         * configure.in: Add AC_CONFIG_AUX_DIR call.
75195         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
75196         test/Makefile.
75197         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
75198
75199 2002-09-28  Karl Berry  <karl@gnu.org>
75200
75201         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
75202         installed automake until the next release, since changes have been
75203         made.
75204
75205 2002-09-25  Karl Berry  <karl@gnu.org>
75206
75207         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
75208         * lib/getopt*: copy from libc/posix.
75209         * lib/gettext.h: copy from gettext.
75210         * lib/.cppi-disable: add strdup.c, gettext.h.
75211
75212 2002-09-25  Karl Berry  <karl@gnu.org>
75213
75214         * config/srclist.txt: enable gettext.h check.
75215         * config/config.{guess,sub}: update from prep.
75216         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
75217                 from automake 1.6.3.
75218         See srclist*.
75219
75220 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
75221
75222         * regex.c (PATFETCH): Remove the translating fetch.
75223         (PATFETCH_RAW): Rename to PATFETCH.
75224         (set_image_of_range): New fun.
75225         (SET_RANGE_TABLE_WORK_AREA): Use it.
75226         (regex_compile): Don't translate the pattern chars so eagerly.
75227         Only do it when inserting an `exactn' bytecode or when handling
75228         a char-range.
75229         (mutually_exclusive_p): Avoid empty statement.
75230
75231 2002-07-06  Jim Meyering  <meyering@lucent.com>
75232
75233         * m4/README: Don't mention Makefile.am.in.
75234         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
75235
75236 2002-07-01  Jim Meyering  <meyering@lucent.com>
75237
75238         * lib/c-stack.c: Include sys/time.h.
75239         From Volker Borchert.
75240
75241 2002-06-26  Paul Eggert  <eggert@twinsun.com>
75242
75243         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
75244
75245 2002-06-26  Paul Eggert  <eggert@twinsun.com>
75246
75247         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
75248         New macro.  Use it uniformly instead of
75249         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
75250         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
75251         reported by Vin Shelton.
75252
75253 2002-06-22  Paul Eggert  <eggert@twinsun.com>
75254
75255         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
75256         Do not assume SA_SIGINFO behavior.
75257         Bug reported by Jim Meyering on NetBSD 1.5.2.
75258
75259 2002-06-22  Jim Meyering  <meyering@lucent.com>
75260
75261         * m4/c-stack.m4: New file, from diffutils-2.8.2.
75262         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
75263
75264         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
75265         now that configure.ac uses AC_GNU_SOURCE.
75266         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
75267         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
75268
75269         Update to latest tools.  Suggestions from Paul Eggert.
75270         * m4/stdbool.m4: New file, from diffutils-2.8.2.
75271         * m4/gnu-source.m4: Update from diffutils-2.8.2.
75272         * m4/fnmatch.m4: Likewise.
75273         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
75274         to AC_HEADER_STDBOOL
75275
75276 2002-06-22  Jim Meyering  <meyering@lucent.com>
75277
75278         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
75279         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
75280
75281 2002-06-22  Jim Meyering  <meyering@lucent.com>
75282
75283         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
75284
75285         * lib/exitfail.c, exitfail.h: Likewise.
75286         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
75287
75288         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
75289         of fnmatch.h.
75290         (EXTRA_DIST): Add fnmatch_loop.c.
75291         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
75292
75293         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
75294         * lib/fnmatch.c: Update from diffutils-2.8.2.
75295         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
75296         * lib/fnmatch.h: Remove file.
75297
75298 2002-06-21  Jim Meyering  <meyering@lucent.com>
75299
75300         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
75301         * m4/mbrtowc.m4: Likewise.
75302
75303         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
75304         * m4/mbswidth.m4: Reflect name change:
75305         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
75306         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75307
75308         * m4/lib-link.m4: Update from gettext-0.11.2.
75309         * m4/gettext.m4: Likewise.
75310
75311         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
75312         From Alfred M. Szmidt.
75313
75314 2002-06-18  Paul Eggert  <eggert@twinsun.com>
75315
75316         * lib/file-type.h: Report an error if neither S_ISREG nor
75317         S_IFREG is defined, instead of using a test specific to glibc
75318         2.2.  This should be safe, since POSIX requires S_ISREG and
75319         Unix Version 7 had S_IFREG.  We don't need to check for
75320         <sys/types.h> since we don't use any symbols that it defines.
75321
75322 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
75323
75324         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
75325         $@-t, so that each temporary file name is unique and valid in the first
75326         8 characters, for operation under DOS.
75327
75328 2002-06-15  Paul Eggert  <eggert@twinsun.com>
75329
75330         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
75331
75332 2002-06-15  Jim Meyering  <meyering@lucent.com>
75333
75334         Work even with DJGPP 2.03, which lacks support for symlinks.
75335         From Richard Dawe.
75336         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
75337         is defined.
75338         * lib/lchown.c (S_ISLNK): Likewise.
75339
75340 2002-06-15  Jim Meyering  <meyering@lucent.com>
75341
75342         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
75343         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
75344         have been included before this file.
75345
75346 2002-06-14  Jim Meyering  <meyering@lucent.com>
75347
75348         * lib/file-type.h: Use the version from diffutils-2.8.2.
75349         * lib/file-type.c: Likewise.
75350
75351 2002-06-07  Jim Meyering  <meyering@lucent.com>
75352
75353         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
75354         They're needed at least for NetBSD 1.5.2.
75355         ($statxfs_includes): Include those same headers.
75356         ($statxfs_includes): Include sys/vfs.h if available.
75357         ($statxfs_includes): Likewise for sys/statvfs.h.
75358         Check for the following members in both structs statfs and statvfs:
75359         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
75360
75361 2002-06-01  Jim Meyering  <meyering@lucent.com>
75362
75363         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
75364         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
75365
75366 2002-05-28  Jim Meyering  <meyering@lucent.com>
75367
75368         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
75369         Reported by Volker Borchert.
75370
75371 2002-05-27  Jim Meyering  <meyering@lucent.com>
75372
75373         Fix a problem seen only on nonconforming systems whereby ls.c's
75374         use of localtime, and then of gettimeofday would cause trouble:
75375         the localtime call used to initialize rpl_gettimeofday's save
75376         mechanism would clobber ls's current local time information so
75377         that in any long listing the first file would always be listed
75378         with date 1970-01-01.  Analysis by Volker Borchert.
75379
75380         * lib/gettimeofday.c (localtime): Undefine.
75381         (rpl_localtime): New function.
75382
75383 2002-05-27  Jim Meyering  <meyering@lucent.com>
75384
75385         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
75386         localtime.
75387
75388         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
75389         use the replacement function; it wouldn't resolve at link time.
75390         Reported by Volker Borchert.
75391
75392 2002-05-22  Jim Meyering  <meyering@lucent.com>
75393
75394         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
75395         file-type.h.
75396         * lib/file-type.h: New file.
75397         * lib/file-type.c (file_type): New file/function.  Extracted from
75398         diffutils.
75399
75400 2002-04-30  Jim Meyering  <meyering@lucent.com>
75401
75402         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
75403
75404 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75405
75406         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
75407
75408 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75409
75410         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
75411         Do not check for alloca.h (no longer used) or stdbool.h (was never
75412         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
75413
75414 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75415
75416         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
75417
75418 2002-04-29  Jim Meyering  <meyering@lucent.com>
75419
75420         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
75421         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
75422         Use AC_FUNC_STRNLEN here instead.
75423
75424         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
75425         With autoconf-2.53a, it's part of AC_PROG_CC.
75426
75427 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75428
75429         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
75430         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
75431
75432 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75433
75434         * lib/sig2str.h, lib/sig2str.c: New files.
75435         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
75436
75437 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75438
75439         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
75440         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
75441         of 127, since 64 is the largest conceivable number for ancient
75442         nonstandard hosts.
75443         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
75444
75445 2002-04-28  Jim Meyering  <meyering@lucent.com>
75446
75447         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
75448
75449 2002-04-24  Jim Meyering  <meyering@lucent.com>
75450
75451         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
75452         (jm_PREREQ): Use it.
75453
75454         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
75455         mach/mach.h fcntl.h.
75456         Check for this function: setlocale.
75457
75458 2002-04-24  Jim Meyering  <meyering@lucent.com>
75459
75460         * lib/gettext.h: New file, from Gettext.
75461         * lib/Makefile.am (INCLUDES): Remove -I../intl.
75462         (libfetish_a_SOURCES): Add gettext.h.
75463
75464 2002-04-16  Jim Meyering  <meyering@lucent.com>
75465
75466         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
75467         ut_pid, ut_id, ut_exit.
75468
75469 2002-04-16  Jim Meyering  <meyering@lucent.com>
75470
75471         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
75472         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
75473         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
75474
75475 2002-04-12  Jim Meyering  <meyering@lucent.com>
75476
75477         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
75478         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
75479         existence of the getmntinfo function.  Needed for Darwin 5.3.
75480
75481         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
75482         This is necessary at least on Darwin 5.3.
75483
75484         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
75485         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
75486         strnlen.o in the library, and that makes some versions of ranlib
75487         object.
75488
75489 2002-04-12  Jim Meyering  <meyering@lucent.com>
75490
75491         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
75492
75493 2002-04-09  Jim Meyering  <meyering@lucent.com>
75494
75495         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
75496         to be more precise.  Rather than saying we're checking whether the
75497         function `works', say what we're testing.
75498         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
75499         Reported by Bruno Haible.
75500
75501 2002-03-10  Jim Meyering  <meyering@lucent.com>
75502
75503         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
75504         Suggestion from Santiago Vila.
75505
75506 2002-03-08  Jim Meyering  <meyering@lucent.com>
75507
75508         * lib/rename.c: Mention that this wrapper is needed also on
75509         mips-dec-ultrix4.4 systems.
75510
75511 2002-03-02  Jim Meyering  <meyering@lucent.com>
75512
75513         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
75514         not HAVE_CLOCK_SETTIME.
75515
75516 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75517
75518         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
75519         Check for clock_settime.
75520
75521 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75522
75523         * lib/nanosleep.h: Rename to....
75524         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
75525
75526         * lib/gettime.c: New file.
75527         * lib/settime.c: New file.
75528         * lib/stime.c: Remove.
75529
75530         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
75531         timespec.h.  Remove nanosleep.h.
75532
75533 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75534
75535         * m4/acl.m4: New file.
75536         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
75537         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
75538
75539 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75540
75541         * lib/acl.c, lib/acl.h: New files.
75542         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
75543
75544 2002-02-24  Jim Meyering  <meyering@lucent.com>
75545
75546         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
75547         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
75548         cause trouble.  Reported by Nelson Beebe.
75549
75550 2002-02-23  Paul Eggert  <eggert@twinsun.com>
75551
75552         * lib/path-concat.c (xpath_concat): Reorder code to pacify
75553         compilers that don't know that xalloc_die never returns.
75554
75555 2002-02-20  Jim Meyering  <meyering@lucent.com>
75556
75557         * lib/getdate.c: Regenerate using bison-1.33.
75558
75559 2002-02-17  Jim Meyering  <meyering@lucent.com>
75560
75561         * config/config.guess (main): Don't use `head -1'; it's no longer
75562         portable. Use `sed 1q' instead.
75563
75564 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
75565
75566         * m4/codeset.m4: Upgrade to gettext-0.11.
75567         * m4/gettext.m4: Upgrade to gettext-0.11.
75568         * m4/glibc21.m4: Upgrade to gettext-0.11.
75569         * m4/iconv.m4: Upgrade to gettext-0.11.
75570         * m4/isc-posix.m4: Upgrade to gettext-0.11.
75571         * m4/lcmessage.m4: Upgrade to gettext-0.11.
75572         * m4/lib-ld.m4: New file, from gettext-0.11.
75573         * m4/lib-link.m4: New file, from gettext-0.11.
75574         * m4/lib-prefix.m4: New file, from gettext-0.11.
75575         * m4/progtest.m4: Upgrade to gettext-0.11.
75576
75577 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75578
75579         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
75580         (jm_PREREQ): Use it.
75581
75582 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75583
75584         * lib/posixver.c, lib/posixver.h: New files.
75585         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75586
75587 2002-02-02  Paul Eggert  <eggert@twinsun.com>
75588             Bruno Haible  <bruno@clisp.org>
75589
75590         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
75591         (fwrite_success_callback): New declaration.
75592         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
75593         print_unicode_char. Call failure callback instead of error.
75594         (fwrite_success_callback): New function.
75595         (exit_failure_callback): New function.
75596         (fallback_failure_callback): New function.
75597         (print_unicode_char): Call unicode_to_mb.
75598
75599 2002-01-26  Jim Meyering  <meyering@lucent.com>
75600
75601         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
75602         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
75603
75604 2002-01-26  Jim Meyering  <meyering@lucent.com>
75605
75606         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
75607
75608 2002-01-22  Paul Eggert  <eggert@twinsun.com>
75609
75610         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
75611
75612 2002-01-22  Jim Meyering  <meyering@lucent.com>
75613
75614         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
75615         Otherwise, some versions of automake would omit the rule that makes
75616         Makefile from Makefile.in.
75617
75618 2002-01-21  Paul Eggert  <eggert@twinsun.com>
75619
75620         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
75621         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75622         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
75623         (memcoll): Set errno to zero if there is no error.
75624
75625         * lib/quotearg.c (quotearg_buffer_restyled):
75626         Fix bug with quoting buffers containing NUL when backslashing escapes.
75627         This bug was exposed by the other changes in this patch.
75628         (quotearg_n_options): New arg ARGSIZE.
75629         All callers changed.
75630         (quoting_options_from_style): New function.
75631         (quotearg_n_style): Use it.
75632         (quotearg_n_style_mem): New function.
75633
75634         * lib/quotearg.h (quotearg_n_style_mem): New function.
75635
75636 2002-01-19  Jim Meyering  <meyering@lucent.com>
75637
75638         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
75639         Remove useless quotes: DF_PROG="df".
75640         * m4/strnlen.m4: New file.
75641
75642 2002-01-16  Paul Eggert  <eggert@twinsun.com>
75643
75644         * lib/backupfile.c (ISDIGIT): Comment fix.
75645         * lib/getdate.y (ISDIGIT): Likewise.
75646         * lib/posixtm.c (ISDIGIT, year): Likewise.
75647         * lib/strverscmp.c (ISDIGIT): Likewise.
75648         * lib/userspec.c (ISDIGIT): Likewise.
75649
75650 2002-01-16  Jim Meyering  <meyering@lucent.com>
75651
75652         * lib/getdate.y: Add three semicolons, each just before a closing
75653         brace. Bison (as of version 1.31) no longer papers over that mistake.
75654
75655 2002-01-05  Jim Meyering  <meyering@lucent.com>
75656
75657         * lib/version-etc.c (version_etc_copyright): Update copyright year.
75658
75659 2001-12-19  Paul Eggert  <eggert@twinsun.com>
75660
75661         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
75662         not silently exit merely because the output buffer happens to
75663         have nothing pending.
75664
75665 2001-12-18  Paul Eggert  <eggert@twinsun.com>
75666
75667         See the big note in ../ChangeLog.
75668         * lib/human.c (suffixes): Prefer K to k for 1024.
75669         (generate_suffix_backwards): New function.
75670         (human_readable_inexact): Use it.
75671         * lib/xstrtol.c (__xstrtol): If there is no number but there
75672         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
75673         Accept 'K' as well as 'k'.
75674
75675 2001-12-15  Jim Meyering  <meyering@lucent.com>
75676
75677         * lib/regex.h (__restrict_arr): Update from libc.
75678
75679         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
75680         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
75681         (STREQ): Define.
75682
75683 2001-12-14  Jim Meyering  <meyering@lucent.com>
75684
75685         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
75686         Suggestion from Bruno Haible.
75687
75688 2001-12-10  Jim Meyering  <meyering@lucent.com>
75689
75690         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
75691         xrealloc, Instead, include "xalloc.h".
75692         (initbuffer): Don't cast xmalloc return value to char*.
75693         (readline): Reword comment.
75694         Don't cast xrealloc return value to char*
75695         Return NULL, not 0.
75696
75697 2001-12-09  Jim Meyering  <meyering@lucent.com>
75698
75699         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
75700         about `signed and unsigned type in conditional expression'.
75701         * lib/posixtm.c (posix_time_parse): Likewise.
75702
75703         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
75704
75705         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
75706         to avoid a pedantic warning.
75707
75708         * lib/getstr.c: Don't include assert.h.
75709         (getstr): Remove warning-evoking assertions.
75710         Return -1 if offset parameter is out of bounds.
75711         Change the type of a local from int to size_t.
75712
75713         * lib/strftime.c (my_strftime_localtime_r): Include this function
75714         definition in the `#if ! HAVE_TM_GMTOFF' block.
75715
75716         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
75717         Include xalloc.h instead.
75718
75719 2001-12-02  Jim Meyering  <meyering@lucent.com>
75720
75721         * lib/tempname.c: Don't declare getenv, thus reverting the change of
75722         2001-11-18.  It's no longer necessary, now that stdlib.h is always
75723         included.
75724
75725         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
75726         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
75727
75728 2001-11-30  Akim Demaille  <akim@epita.fr>
75729
75730         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
75731         before being defined.
75732
75733 2001-11-27  Paul Eggert  <eggert@twinsun.com>
75734
75735         * lib/quotearg.h (quotearg_n, quotearg_n_style):
75736         First arg is int, not unsigned.
75737         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
75738         (SIZE_MAX, UINT_MAX): New macros.
75739         (quotearg_n_options): Abort if N is negative.
75740         Avoid overflow check on hosts where size_t is 64 bits and int
75741         is 32 bits, as overflow is impossible there.
75742         Fix off-by-one typo that caused unnecessary reallocation.
75743
75744 2001-11-27  Jim Meyering  <meyering@lucent.com>
75745
75746         * lib/tempname.c: Merge with version from libc.
75747         * lib/regex.c: Likewise.
75748
75749         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
75750         systems for which STDC_HEADERS is 0, it was not included, resulting in
75751         a warning about an integer-to-pointer conversion problem with getenv.
75752         Reported by Volker Borchert.
75753
75754 2001-11-26  Jim Meyering  <meyering@lucent.com>
75755
75756         * lib/gtod.h: Remove file.
75757         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
75758         * lib/gettimeofday.c: Don't include gtod.h.
75759         (GTOD_init): Remove function.
75760         (rpl_gettimeofday): Do its job here instead, rather than aborting.
75761         Suggestion from Volker Borchert.
75762
75763 2001-11-23  Jim Meyering  <meyering@lucent.com>
75764
75765         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
75766         it.
75767         * lib/hash.c (struct hash_table): Define it here instead.
75768
75769 2001-11-22  Jim Meyering  <meyering@lucent.com>
75770
75771         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
75772
75773 2001-11-20  Jim Meyering  <meyering@lucent.com>
75774
75775         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
75776         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
75777
75778 2001-11-19  Jim Meyering  <meyering@lucent.com>
75779
75780         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
75781         directory.  Use "conftestXXXXXX" as the template.
75782         Suggestion from Paul Eggert.
75783
75784         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
75785         immediately, so the test doesn't mistakenly hit the max-open-files
75786         limit.
75787
75788 2001-11-18  Paul Eggert  <eggert@twinsun.com>
75789
75790         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
75791         (TEMPORARIES): New macro.
75792         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
75793         removes an artificial limitation (e.g. HP-UX 10.20, where
75794         TMP_MAX is 17576).
75795
75796 2001-11-18  Jim Meyering  <meyering@lucent.com>
75797
75798         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
75799
75800 2001-11-18  Jim Meyering  <meyering@lucent.com>
75801
75802         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
75803         on SunOS 4.
75804
75805         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
75806         files will be created before anything else.
75807
75808 2001-11-17  Paul Eggert  <eggert@twinsun.com>
75809
75810         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
75811         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
75812
75813 2001-11-17  Jim Meyering  <meyering@lucent.com>
75814
75815         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
75816         Prompted by a report from Bob Proulx.
75817
75818         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
75819         Instead, require UTILS_FUNC_MKSTEMP.
75820
75821 2001-11-17  Jim Meyering  <meyering@lucent.com>
75822
75823         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
75824         Now, that's done as part of AC_FUNC_STRTOD.
75825
75826 2001-11-17  Jim Meyering  <meyering@lucent.com>
75827
75828         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
75829         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
75830         rather than group writable.  Patch by Juan F. Codagnone.
75831
75832         * lib/readtokens.c: Remove explicit declarations of xmalloc and
75833         xrealloc, Instead, include "xalloc.h".
75834
75835         * lib/mountlist.c: Include unlocked-io.h after all system headers.
75836         Remove explicit declarations of xmalloc, xrealloc,
75837         and xstrdup.  Instead, include "xalloc.h".
75838
75839         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
75840         unlocked-io.h.
75841         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
75842         Likewise.
75843         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
75844
75845         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
75846         Reported by Padraig Brady.
75847
75848         * lib/mkstemp.c: #undef mkstemp.
75849         Include config.h.
75850         (rpl_mkstemp): Rename from mkstemp.
75851         Protoize.
75852
75853 2001-11-16  Jim Meyering  <meyering@lucent.com>
75854
75855         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
75856         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
75857         determine the amount of total physical memory, use pstat_getstatic.
75858         HPUX-11 doesn't define _SC_PHYS_PAGES.
75859         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
75860         If sysconf couldn't be used to determine the amount of available
75861         physical memory, use both pstat_getstatic and pstat_getdynamic.
75862         Based on a patch from Bob Proulx.
75863
75864 2001-11-10  Jim Meyering  <meyering@lucent.com>
75865
75866         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
75867         (jm_PREREQ): Use it.
75868
75869 2001-11-09  Jim Meyering  <meyering@lucent.com>
75870
75871         * m4/jm-macros.m4: Require autoconf-2.52f.
75872         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
75873         Use these AC_-prefixed names, not the AM_-prefixed ones.
75874
75875         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
75876
75877 2001-11-05  Jim Meyering  <meyering@lucent.com>
75878
75879         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
75880
75881 2001-11-04  Jim Meyering  <meyering@lucent.com>
75882
75883         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
75884         $DEFS.
75885
75886 2001-11-03  Jim Meyering  <meyering@lucent.com>
75887
75888         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
75889         of AC_DEFUN.
75890
75891         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
75892         know the name of the variable in the macro definition.
75893
75894 2001-11-03  Jim Meyering  <meyering@lucent.com>
75895
75896         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
75897         in argmatch_to_argument call.
75898
75899         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
75900         argument.
75901
75902         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
75903         e.g., a fault due to an attempt to free a NULL pointer.
75904
75905 2001-11-01  Jim Meyering  <meyering@lucent.com>
75906
75907         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
75908         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
75909
75910 2001-11-01  Jim Meyering  <meyering@lucent.com>
75911
75912         * lib/dirfd.c, lib/dirfd.h: New files.
75913         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
75914
75915         * lib/hash.c (hash_print) [TESTING]: Clean up.
75916
75917 2001-10-22  Paul Eggert  <eggert@twinsun.com>
75918
75919         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
75920         to avoid a warning if -Wall.
75921
75922 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
75923
75924         * README: New file
75925         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
75926         (per RMS's instructions, this is now the canonical source)
75927         * lgpl/, gpl/: New directories.
75928
75929 2001-10-21  Paul Eggert  <eggert@twinsun.com>
75930
75931         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
75932
75933 2001-10-21  Jim Meyering  <meyering@lucent.com>
75934
75935         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
75936         this code would end up calling gettext even in packages built
75937         with --disable-nls.
75938         * lib/getopt.c (_): Likewise.
75939         * lib/regex.c (_): Likewise.
75940
75941 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75942
75943         * m4/error.m4 (jm_PREREQ_ERROR):
75944         Do not invoke AC_CHECK_FUNCS with strerror_r, as
75945         AC_FUNC_STRERROR_R does that.
75946         Check for strerror declaration.
75947
75948         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
75949         are supposed to have them these days.
75950         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
75951         Merge changes from latest Autoconf CVS.
75952         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
75953         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
75954         POSIX decided to standardize on the int flavor of strerror_r.
75955
75956 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75957
75958         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
75959         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
75960         Use strerror_r that is only a macro, even if it is not a function.
75961         (strerror): Check for HAVE_DECL_STRERROR before declaring.
75962         (private_strerror): Use prototypes, not old-style function definition.
75963         (print_errno_message): New function.
75964         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
75965         char*-flavored one.
75966         (error_tail, error, error_at_line): Use it.
75967
75968 2001-10-11  Jim Meyering  <meyering@lucent.com>
75969
75970         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
75971         and quote_n (1, ... to avoid clobbering a buffer.
75972
75973 2001-10-05  Jim Meyering  <meyering@lucent.com>
75974
75975         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
75976         hash-pjw.h.
75977         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
75978         * lib/hash-pjw.h: New file.
75979
75980 2001-09-30  Jim Meyering  <meyering@lucent.com>
75981
75982         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
75983         `struct fsstat' has the `f_fstypename' member.
75984         Use that to define FS_TYPE, which is now used to make
75985         the getfsstat link test tighter.
75986
75987 2001-09-30  Jim Meyering  <meyering@lucent.com>
75988
75989         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
75990         Include <sys/ucred.h>, for Apple Darwin.
75991         Include sys/mount.h and sys/fs_types.h only if available.
75992         (FS_TYPE): Define.
75993         (read_filesystem_list): Use FS_TYPE.
75994
75995 2001-09-29  Paul Eggert  <eggert@twinsun.com>
75996
75997         * lib/exclude.c (excluded_filename): 0 -> false, since it's
75998         a boolean context.
75999
76000 2001-09-29  Jim Meyering  <meyering@lucent.com>
76001
76002         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
76003         [one-argument getmntent function]): Include stdio.h before mntent.h.
76004         SunOS 4.1.x needs it for the declaration of `FILE'.
76005         Patch by Volker Borchert.
76006
76007         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
76008         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
76009         sys/fs_types.h, and make the link-test for getfsstat guard #include
76010         directives with appropriate #if HAVE_*_H tests so that we can
76011         detect getfsstat on Apple Darwin1.3.7 systems.
76012         Reported by Nelson Beebe.
76013         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
76014
76015 2001-09-28  Paul Eggert  <eggert@twinsun.com>
76016
76017         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
76018         #defines strtoimax.  Also treat the other strto* functions
76019         like strtoimax.
76020
76021         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
76022         Check for strtoul and strtoumax,
76023         as those declarations are made even in the signed case.
76024         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
76025         Likewise, for strtol and strtoimax.
76026
76027 2001-09-28  Paul Eggert  <eggert@twinsun.com>
76028
76029         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
76030         #defines strtoimax.  Also treat the other strto* functions
76031         like strtoimax.
76032
76033         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
76034         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
76035         (strtoimax, strtoumax): Do not declare if already defined as a macro.
76036
76037 2001-09-26  Jim Meyering  <meyering@lucent.com>
76038
76039         Most macros in unlocked-io.h had the wrong number of arguments.
76040         * lib/gen-uio: New script.
76041         (USE_UNLOCKED_IO): Define to 1 if not already defined.
76042         * lib/unlocked-io.hin: Remove file.
76043         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
76044         rather than trying to embed it here.
76045         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
76046         Reported by Padraig Brady.
76047
76048 2001-09-25  Volker Borchert  <bt@teknon.de>
76049
76050         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
76051         `result'.
76052
76053 2001-09-24  Jim Meyering  <meyering@lucent.com>
76054
76055         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
76056
76057 2001-09-23  Jim Meyering  <meyering@lucent.com>
76058
76059         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
76060         instead of the mere test for existence of mntent.h.  The latter
76061         would get a false-positive on AIX 3.4 systems.
76062         In the outer getmntent if-block, don't die if neither of the getmntent
76063         tests succeeds.  Instead, just fall through and continue with the
76064         remaining tests.
76065
76066 2001-09-23  Jim Meyering  <meyering@lucent.com>
76067
76068         * lib/mountlist.c: Remove useless parentheses in #if directives.
76069         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
76070         the deprecated MOUNTED symbol is no longer defined in mntent.h.
76071
76072 2001-09-22  Jim Meyering  <meyering@lucent.com>
76073
76074         * m4/gettext.m4: New file.  From gettext.
76075         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
76076         * m4/progtest.m4: Likewise
76077         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
76078         * m4/glibc21.m4: Likewise.
76079
76080         * m4/libintl.m4: Remove.  No longer used.
76081
76082 2001-09-22  Jim Meyering  <meyering@lucent.com>
76083
76084         * lib/localcharset.c: Update from latest gettext.
76085         * lib/config.charset: Likewise.
76086
76087 2001-09-20  Jim Meyering  <meyering@lucent.com>
76088
76089         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
76090         strtoimax.
76091         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
76092         strtoumax.
76093
76094 2001-09-20  Jim Meyering  <meyering@lucent.com>
76095
76096         * lib/xstrtol.c (strtoimax): Guard declaration with
76097         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
76098         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
76099         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
76100         (strtoumax): Likewise, for completeness (it wasn't necessary).
76101
76102 2001-09-17  Paul Eggert  <eggert@twinsun.com>
76103
76104         * lib/strtoimax.c (HAVE_LONG_LONG):
76105         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
76106         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
76107         to work around bug in IBM C compiler.
76108
76109 2001-09-17  Jim Meyering  <meyering@lucent.com>
76110
76111         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
76112         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
76113         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
76114         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
76115         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
76116         whenever the right hand side need not be expanded by the shell.
76117
76118 2001-09-16  Paul Eggert  <eggert@twinsun.com>
76119
76120         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
76121         library.  It's not correct, as some older glibcs are buggy.
76122         fnmatch wasn't fixed until glibc 2.2.
76123
76124         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
76125         special shell magic here.
76126
76127 2001-09-16  Jim Meyering  <meyering@lucent.com>
76128
76129         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
76130         * m4/jm-macros.m4: Require it.
76131
76132 2001-09-16  Jim Meyering  <meyering@lucent.com>
76133
76134         * lib/mkdir.c: New file.
76135
76136 2001-09-15  Jim Meyering  <meyering@lucent.com>
76137
76138         * m4/jm-macros.m4: Check for help2man.
76139
76140 2001-09-11  Jim Meyering  <meyering@lucent.com>
76141
76142         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
76143         The body, by Paul Eggert, was moved here from configure.in.
76144         * m4/jm-macros.m4: Require UTILS_HOST_OS.
76145
76146 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76147
76148         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
76149         (jm_PREREQ): Use it.
76150
76151 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76152
76153         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
76154         Use ssize_t, not int, to store result of readlink.
76155         Check for ssize_t overflow as well as size_t overflow,
76156         as POSIX says the result of readlink is implementation-defined
76157         when ssize_t overflows.
76158         Remove unnecessary cast to char*.
76159         Use free+malloc instead of realloc, as the storage doesn't need
76160         to be preserved and it's clearer and can be more efficient that way.
76161         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
76162         * lib/xreadlink.h (xreadlink): Update prototype.
76163
76164 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76165
76166         * lib/xgetcwd.c: Revert some of the previous change; intead,
76167         fix the HAVE_GETCWD_NULL code to behave more like the
76168         !HAVE_GETCWD_NULL code used to.
76169
76170         Include "xalloc.h".
76171         (xgetcwd): Do not return NULL when memory is exhausted; instead,
76172         invoke xalloc_die.
76173
76174 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76175
76176         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
76177         sys/param.h, as pathmax.h includes them.
76178
76179 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76180
76181         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
76182         (jm_PREREQ_XGETCWD): New macro.
76183
76184         * m4/getcwd.m4: New file.
76185
76186 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76187
76188         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
76189         like the HAVE_GETCWD_NULL code.
76190         Include pathmax.h if not HAVE_GETCWD.
76191         Do not include xalloc.h.
76192         (INITIAL_BUFFER_SIZE): New symbol.
76193         Do not use xmalloc / xrealloc, since the caller is responsible for
76194         handling errors.  Preserve errno around `free' during failure.
76195         Do not overrun buffer when using getwd.
76196
76197 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76198
76199         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
76200         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
76201         getcwd (NULL, 0).
76202
76203 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76204
76205         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
76206         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
76207         spotted by Jim Meyering.
76208
76209 2001-09-03  Jim Meyering  <meyering@lucent.com>
76210
76211         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
76212         failure.
76213
76214 2001-09-02  Jim Meyering  <meyering@lucent.com>
76215
76216         * lib/error.c: Update from GNU libc.
76217
76218 2001-09-01  Jim Meyering  <meyering@lucent.com>
76219
76220         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
76221         Used by df.
76222
76223 2001-09-01  Jim Meyering  <meyering@lucent.com>
76224
76225         * lib/xreadlink.c: New file.
76226         * lib/xreadlink.h: New file.
76227         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
76228         xreadlink.h.
76229
76230         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
76231         doesn't conflict with sparc Solaris 7's definition in
76232         /usr/include/sys/int_types.h.
76233
76234         * lib/exclude.c: Use `""', not `<>' to #include non-system header
76235         files.
76236         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
76237         and strncasecmp as r-values.  Unixware didn't have declarations.
76238
76239 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76240
76241         * lib/xstrtol.h: Add copyright notice.
76242         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
76243         LONGINT_INVALID_SUFFIX_CHAR.
76244
76245 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76246
76247         * lib/xstrtol.c (strtoimax): New decl.
76248
76249 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76250
76251         * lib/xgetcwd.c: Don't include pathmax.h.
76252         Include stdlib.h and unistd.h if available.
76253         Include xalloc.h.
76254         (xmalloc, xstrdup, free): Remove decls.
76255         (xgetcwd): Don't assume sizes fit in unsigned.
76256         Check for overflow when computing sizes.
76257         Simplify reallocation code.
76258
76259 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76260
76261         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
76262         a directory's st_size can have an arbitrary value, so the old
76263         usage could waste an arbitrary amount of memory.  All uses
76264         changed.
76265         * lib/savedir.h: Update prototype.
76266
76267 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76268
76269         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
76270
76271         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
76272         old strtoimax.c.
76273
76274         Also, make the following further changes to make this file's
76275         configuration more similar to that of strtol.c:
76276         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
76277         (strtoumax, uintmax_t, strtoull, strtol): Remove.
76278         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
76279         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
76280         changed to signed values.
76281
76282         And make the following changes as well:
76283         Fix copyright notice, as 1999 was missing.
76284         (verify): New macro.
76285         (strtoimax): Check sizes at compile-time, not run-time.
76286         Prefer strtol to strtoll if both work.
76287         (main): Remove; it was not that useful and was a pain to maintain.
76288
76289         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
76290
76291 2001-08-31  Jim Meyering  <meyering@lucent.com>
76292
76293         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
76294         Use an initial, malloc'd, buffer of length 128 rather than
76295         a statically allocated one of length 1024.
76296
76297 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76298
76299         Simplify code, partly by assuming autoconf 2.52 semantics.
76300
76301         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
76302
76303         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
76304         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
76305         All uses removed.
76306         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
76307         Move AC_REQUIRE to next-to-top level, to avoid confusion.
76308         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
76309         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
76310         jm_AC_HEADER_INTTYPES_H.
76311         * m4/jm-macros.m4 (jm_MACROS): Likewise.
76312
76313         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
76314
76315         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
76316         Quote first arg of AC_DEFUN.
76317         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
76318         since they are needed to parse the include file even if we need
76319         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
76320         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
76321         but with opposite signedness.
76322
76323 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76324
76325         Merge 'exclude' changes from tar 1.13.22.
76326         This fixes one or two unlikely storage allocation overflow bugs,
76327         but doesn't change user-visible behavior otherwise.
76328
76329 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76330
76331         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
76332         (jm_PREREQ_EXCLUDE): New macro.
76333
76334 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76335
76336         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
76337         tm to be declared.
76338
76339 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76340
76341         * lib/hash.c: Remove '2001' from copyright notice.
76342
76343 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76344
76345         * lib/full-write.h: New file.
76346         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
76347         * lib/full-write.c: Correct credits, as cccp.c no longer
76348         exists and anyway it was so heavily changed from the old cccp
76349         code as to be unrecognizable.  Include full-write.h.
76350         (full_write) Return size_t, with short writes meaning failure.
76351         All callers changed.  This fixes a bug with large buffers
76352         on 64-bit hosts.
76353         * lib/utime.c: Include full-write.h.
76354
76355 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76356
76357         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
76358         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
76359         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
76360         Include if available.
76361         (<xalloc.h>): Include
76362         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
76363         (verify): New macro.  Use it to verify that EXCLUDE macros do not
76364         collide with FNM macros.
76365         (struct patopts): New struct.
76366         (struct exclude): Use it, as exclude patterns now come with options.
76367         (new_exclude): Support above changes.
76368         (new_exclude, add_exclude_file):
76369         Initial size must now be a power of two to simplify overflow checking.
76370         (free_exclude, fnmatch_no_wildcards): New function.
76371         (excluded_filename): No longer requires options arg, as the options
76372         are determined by add_exclude.  Now returns bool, not int.
76373         (excluded_filename, add_exclude):
76374         Add support for the fancy new exclusion options.
76375         (add_exclude, add_exclude_file): Now takes int options arg.
76376         Check for arithmetic overflow when computing sizes.
76377         (add_exclude_file): xrealloc might modify errno, so don't
76378         realloc until after errno might be used.
76379
76380         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
76381         New macros.
76382         (free_exclude): New decl.
76383         (add_exclude, add_exclude_file): Now takes int options arg.
76384         (excluded_filename): No longer requires options arg, as the options
76385         are determined by add_exclude.  Now returns bool, not int.
76386
76387 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76388
76389         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
76390
76391 2001-08-27  Jim Meyering  <meyering@lucent.com>
76392
76393         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
76394
76395         * lib/version-etc.c (N_): Remove definition.
76396         Revert most of last change.
76397         Instead, simply don't mark the `Copyright...' string for translation.
76398         Based on advice from Paul Eggert.
76399
76400         * lib/strtoxmax.c: Tweak comment.
76401
76402 2001-08-26  Jim Meyering  <meyering@lucent.com>
76403
76404         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
76405
76406         * m4/xstrtoimax.m4: New file.
76407         * m4/xstrtoumax.m4: Add comments explaining why we
76408         AC_REPLACE_FUNCS(strtol).
76409
76410 2001-08-26  Jim Meyering  <meyering@lucent.com>
76411
76412         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
76413         of copyright with `%s' so translators don't get an untranslated
76414         message in 2002.
76415         (COPYRIGHT_YEAR): Define.
76416         (version_etc): Use fprintf rather than fputs.
76417         Suggestion from Ulrich Drepper.
76418
76419         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
76420
76421         * lib/strtoll.c: New file, from GNU libc.
76422         * lib/xstrtoimax.c: New file.
76423
76424         * lib/xstrtol.h: Add xstrtoimax.
76425         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
76426         * lib/strtoimax.c: New file.  Likewise, but first define
76427         STRTOUXMAX_SIGNED.
76428
76429         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
76430         ...
76431         * lib/strtoxmax.c: ... then renamed to this.
76432
76433 2001-08-18  Paul Eggert  <eggert@twinsun.com>
76434
76435         * m4/inttypes.m4: Add AC_PREREQ(2.13).
76436         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
76437         (jm_AC_TYPE_INTMAX_T): New macro.
76438         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
76439
76440         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
76441
76442         * m4/longlong.m4: Renamed from ulonglong.m4.
76443         * m4/inttypes.m4: Renamed from inttypes_h.m4.
76444         * m4/uintmax_t.m4: Removed.
76445
76446 2001-08-13  Paul Eggert  <eggert@twinsun.com>
76447
76448         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
76449         Port to Solaris 8, where 'sed' requires a space after the 'r'
76450         command, and where sh dislikes "$/".  Clean up the spacing a bit.
76451         Redirect output to $tmp just once.
76452
76453 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
76454
76455         * lib/addext.c (<errno.h>): Include.
76456         (errno): Declare if not defined.
76457         (addext): Work correctly when pathconf returns -1 and leaves
76458         errno alone because there is no limit.  Also, work even if
76459         pathconf returns a value greater than SIZE_MAX.
76460
76461 2001-08-12  Jim Meyering  <meyering@lucent.com>
76462
76463         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
76464         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
76465         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
76466         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
76467         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
76468         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
76469         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
76470         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
76471         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
76472         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
76473         utime.m4, utimes.m4, xstrtoumax.m4:
76474         Quote the first argument in each use of AC_DEFUN.
76475
76476 2001-08-12  Jim Meyering  <meyering@lucent.com>
76477
76478         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
76479         Simply `return getcwd (NULL, 0);'.
76480         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
76481         Use 1300 as initial value for length, not PATH_MAX.
76482
76483         * lib/pathmax.h: Clean up cpp syntax.
76484
76485 2001-08-12  Jim Meyering  <meyering@lucent.com>
76486
76487         * lib/gettimeofday.c: New file.
76488         * lib/gtod.h: New file.
76489         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
76490
76491 2001-08-05  Jim Meyering  <meyering@lucent.com>
76492
76493         * m4/jm-macros.m4: Require autoconf-2.52.
76494
76495 2001-08-04  Jim Meyering  <meyering@lucent.com>
76496
76497         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
76498         stmt, to get in sync with glibc.
76499
76500 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76501
76502         The following changes are from gettext 0.10.39 as maintained by
76503         Bruno Haible.
76504
76505         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
76506         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
76507         with inverted sense.  All uses changed.
76508
76509         * lib/mbswidth.c: Don't include <limits.h>.
76510         Include <stdlib.h> and <string.h> unconditionally.
76511         (iswcntrl, mbsinit, ISCNTRL): New macros.
76512         (mbsnwidth): Use K&R style function declarations.
76513         Don't bother checking for MB_LEN_MAX == 1, since the compiler
76514         can optimize it when MB_CUR_MAX == 1.
76515         The width of control characters is zero, not 1.
76516
76517 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76518
76519         The following changes are from gettext 0.10.39 as maintained by
76520         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
76521
76522         * m4/codeset.m4: Upgrade to serial AM1.
76523         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
76524         all uses changed.  Quote first arg of AC_DEFUN.
76525         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
76526
76527         * m4/iconv.m4: Upgrade to serial AM2.
76528         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
76529         Add --with-libconv-prefix.
76530         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
76531         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
76532         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
76533         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
76534         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
76535
76536         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
76537         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
76538         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
76539         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
76540         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
76541         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
76542         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
76543         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
76544         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76545
76546         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
76547         string.h any more.
76548
76549         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
76550         not the default value.
76551
76552         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
76553         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
76554         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
76555         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
76556         Also check for iswcntrl, used for wcwidth fallback.
76557         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
76558         to Autoconf 2.13.
76559
76560 2001-08-03  Jim Meyering  <meyering@lucent.com>
76561
76562         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
76563         as it was in the original.  Reported by Paul Eggert.
76564
76565 2001-07-16  Jim Meyering  <meyering@lucent.com>
76566
76567         * m4/gettimeofday.m4: New file.
76568         Prompted by a report from Bernhard Baehr.
76569
76570 2001-07-15  Jim Meyering  <meyering@lucent.com>
76571
76572         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
76573         stuff. Now it's in ../Makefile.cfg.
76574
76575 2001-07-15  Jim Meyering  <meyering@lucent.com>
76576
76577         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
76578         (BUILT_SOURCES): Add unlocked-io.h.
76579         (io_functions): Define.
76580         (unlocked-io.h): New rule.
76581         (DISTCLEANFILES): Add unlocked-io.h.
76582         (all-local): Depend on unlocked-io.h, to ensure it is created.
76583
76584         * lib/unlocked-io.hin: New file
76585
76586         * lib/regex.c: Update from glibc.
76587
76588 2001-07-05  Jim Meyering  <meyering@lucent.com>
76589
76590         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
76591         recommendation.
76592         (libfetish_a_SOURCES): Put all .h files here instead.
76593         Remove a thus-exposed (better checks in automake) duplicate and
76594         two unnecessary .h files.
76595
76596 2001-07-04  Jim Meyering  <meyering@lucent.com>
76597
76598         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
76599         that generates jm-glibc-io.m4 so that it doesn't trigger any make
76600         distcheck failure.
76601
76602 2001-07-02  Jim Meyering  <meyering@lucent.com>
76603
76604         The following changes were prompted by suggestions from Bruno Haible.
76605
76606         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
76607         is now generated.
76608         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
76609         definition of EXTRA_DIST.
76610         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
76611         ensure that the generated file is created/updated whenever the list
76612         of $(unlocked_functions) is changed.
76613         (jm-glibc-io.m4): New rule.
76614         (unlocked-io.h): New rule -- currently unused.
76615
76616 2001-06-24  Jim Meyering  <meyering@lucent.com>
76617
76618         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
76619         unmatched right bracket, rather than kludging it with an extra,
76620         falsely-matching quote in a comment.  Patch by Akim Demaille.
76621
76622 2001-06-11  Jim Meyering  <meyering@lucent.com>
76623
76624         * lib/regex.c: Update from GNU libc.
76625
76626 2001-05-27  Jim Meyering  <meyering@lucent.com>
76627
76628         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
76629         Check for ut_type in struct utmp.
76630
76631 2001-05-27  Jim Meyering  <meyering@lucent.com>
76632
76633         * lib/readutmp.h (UT_TYPE): Define.
76634
76635 2001-05-24  Jim Meyering  <meyering@lucent.com>
76636
76637         * lib/argmatch.c: Include "quote.h".
76638         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
76639         quote function.  Reported by Göran Uddeborg.
76640
76641 2001-05-22  Jim Meyering  <meyering@lucent.com>
76642
76643         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
76644         now that we use the package-supplied version unconditionally.
76645         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
76646
76647 2001-05-21  Jim Meyering  <meyering@lucent.com>
76648
76649         * m4/regex.m4: Change a couple backticks to single quotes to avoid
76650         shell syntax errors.
76651
76652 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76653
76654         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
76655
76656 2001-05-20  Paul Eggert  <eggert@twinsun.com>
76657
76658         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
76659         Don't bother to check library strftime, since
76660         we'll be using our own my_strftime function anyway.
76661         Define my_strftime instead of strftime.
76662
76663 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
76664
76665         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
76666         which is not yet declared.
76667
76668 2001-05-15  Jim Meyering  <meyering@lucent.com>
76669
76670         * m4/regex.m4: Use proper quoting so brackets appear in the test
76671         program.
76672         Reported by, and with help from, Bruno Haible.
76673
76674 2001-05-13  Jim Meyering  <meyering@lucent.com>
76675
76676         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
76677         undefined.
76678
76679 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76680
76681         dirname code cleanup.  base_name now behaves more compatibly
76682         with POSIX basename when given file names that have trailing
76683         slashes, and similarly for dir_name.  Add new primitives
76684         base_len and dir_len.  Put the directory-name-related decls
76685         into dirname.h.
76686
76687         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
76688         * lib/backupfile.c (base_name): Likewise.
76689         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
76690         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
76691         * lib/makepath.c (strip_trailing_slashes): Likewise.
76692         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
76693         ISSLASH): Likewise.
76694         * lib/rename.c (strip_trailing_slashes): Likewise.
76695         * lib/same.c (base_name): Likewise.
76696         * lib/stripslash.c (ISSLASH): Likewise.
76697
76698         * lib/addext.c: Include <dirname.h> after size_t is defined.
76699         * lib/backupfile.c: Likewise.
76700
76701         * lib/addext.c (addext): Use base_len to trim redundant
76702         trailing slashes instead of doing it ourselves.
76703         But do not trim the last slash if it is not redundant.
76704
76705         * lib/backupfile.c (find_backup_file_name,
76706         max_backup_version): Use base_len instead of rolling it ourselves.
76707         Handle the case of "" and (on DOS) "C:" correctly.
76708
76709         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
76710         needed. Include <string.h>, <dirname.h>.
76711         (base_name): Allow file names ending in slashes, other than names
76712         that are all slashes.  In this case, return the basename followed
76713         by the slashes.  This is more general, and can be used in places
76714         where the original base_name purposely had an assertion failure.
76715         (base_len): New function.
76716
76717         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
76718         Do not include <assert.h>; no longer needed.
76719         Include xalloc.h.
76720         (memrchr): Remove decl.
76721         (dir_name_r): Remove.
76722         (dir_len): Renamed from dirlen.  All callers changed.
76723         Rewrite in terms of base_name, for simplicity and consistency.
76724         (dir_name): Never return NULL.  All callers changed.
76725         Do not include <stdlib.h> in test program; no longer needed.
76726         return 0; is fine for test program.
76727
76728         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
76729         New macros.
76730         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
76731
76732         * lib/path-concat.c (path_concat): Use base_len to compute
76733         base length, not strlen; this means we cannot rely on memcpy
76734         to null-terminate.
76735
76736         * lib/same.c (STREQ): Remove.
76737         (same_name): Handle the case where the basename ends in trailing '/'.
76738
76739         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
76740         a slash was stripped.  Do not strip the last slash after a
76741         file system prefix.
76742
76743 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76744
76745         * lib/Makefile.am (libfetish_a_SOURCES):
76746         Add strftime.c, since we now compile it on all hosts.
76747
76748         * lib/strftime.c (my_strftime):
76749         Define to nstrftime if emacs, but only if my_strftime is not defined.
76750         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
76751         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
76752         Add one more extra argument: a nanoseconds value.
76753         All uses changed.
76754         (ns): New macro.
76755         (my_strftime function): Add %N format.
76756         (emacs_strftimeu): Renamed from emacs_strftime,
76757         with extra ut argument.
76758
76759 2001-05-09  Paul Eggert  <eggert@twinsun.com>
76760
76761         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
76762
76763 2001-04-21  Jim Meyering  <meyering@lucent.com>
76764
76765         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
76766         doesn't interfere.
76767
76768 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76769
76770         * m4/ftruncate.m4: Check for chsize.
76771         Link with ftruncate.o unconditionally if ftruncate is missing.
76772         This was required when cross-compiling to i586-mingw32msvc.
76773
76774 2001-04-08  Jim Meyering  <meyering@lucent.com>
76775
76776         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
76777         recomputed; that's necessary when the offset spans a DST transition.
76778         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
76779
76780 2001-04-02  Jim Meyering  <meyering@lucent.com>
76781
76782         * lib/regex.h, regex.c: Update from GNU libc.
76783
76784 2001-03-24  Jim Meyering  <meyering@lucent.com>
76785
76786         * m4/jm-macros.m4: Require autoconf-2.49d.
76787
76788 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
76789
76790         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
76791
76792 2001-03-19  Paul Eggert  <eggert@twinsun.com>
76793
76794         * lib/version-etc.c (version_etc_copyright): Update to 2001.
76795
76796 2001-03-17  Jim Meyering  <meyering@lucent.com>
76797
76798         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
76799         now that the version in autoconf is equivalent.
76800         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
76801
76802         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
76803         Suggestion from Akim Demaille.
76804
76805         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
76806         (jm_PREREQ_TEMPNAME): New function.
76807
76808 2001-03-16  Paul Eggert  <eggert@twinsun.com>
76809
76810         * lib/tempname.c (uint64_t): Define to uintmax_t if
76811         not defined, and if UINT64_MAX is not defined.
76812         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
76813         Reported by John David Anglin.
76814
76815 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
76816
76817         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
76818         resolve alias if codeset is empty.
76819         * lib/config.charset (BeOS): Use wildcard syntax.
76820
76821 2001-03-13  Jim Meyering  <meyering@lucent.com>
76822
76823         * lib/path-concat.c (path_concat)
76824         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
76825         concatenating e.g., `C:' and `foo'.
76826         From Bruno Haible.
76827
76828 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76829
76830         * lib/localcharset.c (locale_charset): Don't use
76831         setlocale(LC_CTYPE,NULL). Don't return NULL.
76832         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
76833
76834 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76835
76836         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
76837         support for DOS/DJGPP.
76838
76839 2001-03-01  Paul Eggert  <eggert@twinsun.com>
76840
76841         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
76842         lacks mkstemp.  Compile our own tempname.c if we compile our own
76843         mkstemp.c, as mkstemp relies on tempname.
76844
76845 2001-03-01  Jim Meyering  <meyering@lucent.com>
76846
76847         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
76848         AH_VERBATIM really does output its argument verbatim.
76849
76850 2001-02-28  Paul Eggert  <eggert@twinsun.com>
76851
76852         * lib/Makefile.am (libfetish_a_SOURCES):
76853         Add dup-safer.c, fopen-safer.c.
76854         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
76855
76856         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
76857         * lib/unistd-safer.h: New files.
76858
76859 2001-02-25  Paul Eggert  <eggert@twinsun.com>
76860
76861         The mkstemp replacement is taken from glibc 2.2.2, with some
76862         portability fixes for use outside glibc, as follows:
76863
76864         * lib/tempname.c (struct_stat64): New macro.
76865         (direxists, __gen_tempname): Use it.
76866         This avoids a portability problem with Solaris 8.
76867
76868         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
76869         (<stddef.h>, <stdint.h>, <string.h>):
76870         Include only if STDC_HEADERS || _LIBC.
76871         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
76872         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
76873         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
76874         (__set_errno): Define this macro if <errno.h> doesn't.
76875         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
76876         Define these macros if <stdio.h> doesn't.
76877         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
76878         Define these macros if <sys/stat.h>
76879         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
76880         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
76881         __xstat64): Define if not _LIBC.
76882         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
76883         (__gen_tempname): Invoke gettimeofday only if
76884         HAVE_GETTIMEOFDAY || _LIBC;
76885         otherwise, fall back on plain "time".
76886         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
76887
76888         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
76889
76890         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
76891
76892 2001-02-18  Paul Eggert  <eggert@twinsun.com>
76893
76894         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
76895
76896 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76897
76898         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
76899         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
76900         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
76901         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76902
76903 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76904
76905         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
76906         Remove workaround macros for hosts that have mbrtowc but not
76907         mbstate_t, as we now insist on proper declarations for both
76908         before using mbrtowc.
76909
76910 2001-02-17  Jim Meyering  <meyering@lucent.com>
76911
76912         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
76913         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
76914         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
76915         UnixWare 7.1.1.
76916
76917         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
76918         rather than AC_CACHE_VAL.
76919
76920 2001-02-17  Jim Meyering  <meyering@lucent.com>
76921
76922         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
76923         around included file name.
76924
76925         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
76926
76927         * lib/strftime.c: Update from GNU libc (the only changes were to
76928         comments).
76929
76930 2001-02-17  Jim Meyering  <meyering@lucent.com>
76931
76932         * lib/regex.c: Update from libc.
76933
76934 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
76935
76936         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
76937         clash.
76938
76939 2001-02-16  Paul Eggert  <eggert@twinsun.com>
76940
76941         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
76942         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
76943         Reported by Mark Hounschell via Paul Eggert.
76944
76945 2001-02-07  Jim Meyering  <meyering@lucent.com>
76946
76947         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
76948
76949 2001-02-05  Jim Meyering  <meyering@lucent.com>
76950
76951         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
76952         it includes the patch required for `large file' support with at least
76953         HP-UX's 10.20 /bin/cc.
76954
76955 2001-02-03  Jim Meyering  <meyering@lucent.com>
76956
76957         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
76958         AS_IF, now that it works once again (mysteriously).
76959         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76960
76961 2001-01-30  Jim Meyering  <meyering@lucent.com>
76962
76963         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
76964         * m4/chown.m4: Rename conftestchown to conftest.chown.
76965         * m4/rename.m4: s/conftestdir/conftest.d1/ and
76966         s/conftestdir2/conftest.d2/.
76967         * m4/utimes.m4: s/conftestdata/conftest.data/
76968         Inspired by Pavel Roskin's change in autoconf.
76969
76970 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
76971
76972         * lib/config.charset: Update for FreeBSD 4.2.
76973
76974 2001-01-27  Jim Meyering  <meyering@lucent.com>
76975
76976         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
76977         a use of AS_IF.
76978         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76979
76980 2001-01-26  Jim Meyering  <meyering@lucent.com>
76981
76982         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
76983         quotearg.c includes it.
76984
76985 2001-01-26  Jim Meyering  <meyering@lucent.com>
76986
76987         * lib/quotearg.c: Include stddef.h.
76988         * lib/quote.c: Include stddef.h.
76989         Reported by Axel Kittenberger.
76990
76991         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
76992         line in double quotes so that it evokes a better diagnostic.
76993         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
76994         Reported by Axel Kittenberger.
76995
76996 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
76997
76998         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
76999         as if it was a `charset'.
77000
77001 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
77002
77003         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
77004         has const.
77005
77006 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
77007
77008         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
77009         to avoid a warning.  Add back 'const' to inptr.
77010
77011 2001-01-20  Jim Meyering  <meyering@lucent.com>
77012
77013         Be sure that headers are checked before used in code compiled
77014         for the type checks.
77015         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
77016         In place of that, invoke jm_CHECK_ALL_TYPES.
77017         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
77018         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
77019         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
77020         The check for ssize_t was mistakenly run before the test for unistd.h.
77021
77022         The configure-time check for stdbool.h was missing.
77023         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
77024         (jm_PREREQ_HASH): New function.
77025
77026 2001-01-17  Jim Meyering  <meyering@lucent.com>
77027
77028         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
77029         for autoconf-2.49c.
77030         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
77031
77032 2001-01-16  Jim Meyering  <meyering@lucent.com>
77033
77034         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
77035         From Bruno Haible.
77036
77037 2001-01-14  Jim Meyering  <meyering@lucent.com>
77038
77039         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
77040         foo and bar.  Create conftestdir/ in the script, not in the C code.
77041         Remove directories in the script, not in the C code.
77042         Remove conftestdir{,2} before trying to create the directory.
77043         Make the entire configure script fail if the mkdir fails.
77044
77045 2001-01-14  Jim Meyering  <meyering@lucent.com>
77046
77047         * lib/rename.c: New file.  From Volker Borchert.
77048         Include stdlib.h, string.h or strings.h, and xalloc.h.
77049         Use strip_trailing_slashes rather than open-coding it.
77050
77051 2001-01-03  Paul Eggert  <eggert@twinsun.com>
77052
77053         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
77054
77055 2001-01-03  Jim Meyering  <meyering@lucent.com>
77056
77057         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
77058         of local `inptr' to avoid warning with some system declarations of
77059         iconv.
77060
77061 2001-01-02  Volker Borchert  <bt@teknon.de>
77062
77063         * m4/rename.m4: New file.
77064         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
77065
77066 2001-01-01  Jim Meyering  <meyering@lucent.com>
77067
77068         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
77069         even on systems with utmpx.h.  It's necessary for the declaration of
77070         utmp's ut_user member.  Reported by Andreas Jaeger.
77071
77072         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
77073         available. They are required for the declarations of getgrgid and
77074         getpwuid resp.
77075         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
77076         Reported by Andreas Jaeger.
77077
77078 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
77079
77080         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
77081         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
77082         so `make install' also works in VPATH builds.
77083
77084 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
77085
77086         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
77087         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
77088         can be used in subdirectories.
77089
77090 2000-12-29  Paul Eggert  <eggert@twinsun.com>
77091
77092         * lib/modechange.c: Do not assume that mode_t uses the
77093         traditional octal encoding.  E.g. "chmod 1 FOO" should set
77094         the other-execute bit of FOO even if S_IXOTH != 1.
77095
77096         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
77097         WOTH, XOTH, ALLM): New macros.
77098         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
77099          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
77100         Use them.
77101         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
77102         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
77103         (mode_compile):
77104         No need to use uintmax_t; unsigned long is long enough.
77105         Don't bother to get suffix since we don't use it.
77106
77107 2000-12-26  Jim Meyering  <meyering@lucent.com>
77108
77109         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
77110         better with autoheader.
77111
77112 2000-12-24  Jim Meyering  <meyering@lucent.com>
77113
77114         * lib/hash.c (is_prime): Return explicit boolean values.
77115         (hash_get_first): Return NULL to appease Irix5.6's 89.
77116         Reported by Nelson Beebe.
77117
77118 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
77119
77120         * lib/localcharset.c (locale_charset): Add support for Win32.
77121
77122 2000-12-18  Paul Eggert  <eggert@twinsun.com>
77123
77124         * lib/physmem.h, lib/physmem.c: New files.
77125
77126         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
77127         (noinst_HEADERS): Add physmem.h.
77128
77129         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
77130         't' for compatibility with Solaris 8 sort.
77131
77132 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
77133
77134         * lib/config.charset: Add support for BeOS.
77135
77136 2000-12-17  Jim Meyering  <meyering@lucent.com>
77137
77138         * m4/dos.m4 (jm_AC_DOS): New file and macro.
77139         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
77140
77141 2000-12-16  Jim Meyering  <meyering@lucent.com>
77142
77143         This bug had a serious impact on chown: `chown N:M FILE' (for integer
77144         N and M) would have treated it like `chown N:N FILE'.
77145
77146         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
77147
77148 2000-12-16  Jim Meyering  <meyering@lucent.com>
77149
77150         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
77151         SHELLS_FILE to a file name that's useful on djgpp systems.
77152         Include stdlib.h.
77153         (ADDITIONAL_DEFAULT_SHELLS): Define.
77154         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
77155         Based mostly on a patch from Prashant TR.
77156
77157 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
77158
77159         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
77160         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
77161         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
77162
77163 2000-12-08  Andreas Schwab  <schwab@suse.de>
77164
77165         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
77166         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
77167
77168 2000-12-07  Jim Meyering  <meyering@lucent.com>
77169
77170         * lib/stripslash.c (ISSLASH): Define.
77171         (strip_trailing_slashes): Use ISSLASH rather than comparing against
77172         `/'.
77173         From Prashant TR.
77174
77175         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
77176         (dir_name_r): Declare this function as static.
77177         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
77178         manifest itself on a name containing a mix of slashes and
77179         backslashes.
77180         Make this function work with names starting with a DOS-style
77181         drive letter and colon prefix.
77182         (dir_name): Append `.' if necessary.
77183         Based mostly on patches from Prashant TR and Eli Zaretskii.
77184
77185         * lib/dirname.h (dir_name_r): Remove prototype.
77186
77187 2000-12-06  Paul Eggert  <eggert@twinsun.com>
77188
77189         * m4/off_t-format.m4: Remove this file.
77190         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
77191
77192 2000-12-06  Jim Meyering  <meyering@lucent.com>
77193
77194         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
77195         replacement strtoull, we may well need the replacement strtoul, too.
77196         Check for declarations of strtoul and strtoull.
77197         Check for strtol.  Mainly as a cue to cause automake to include
77198         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
77199         Check for limits.h -- strtol.c needs it.
77200
77201 2000-12-05  Jim Meyering  <meyering@lucent.com>
77202
77203         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
77204
77205 2000-12-04  Jim Meyering  <meyering@lucent.com>
77206
77207         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
77208         Also include memory.h, stdlib.h, unistd.h if appropriate.
77209         Reported by Andreas Jaeger (conflicting declaration of malloc).
77210
77211 2000-12-02  Jim Meyering  <meyering@lucent.com>
77212
77213         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
77214         * m4/jm-macros.m4 (jm_MACROS): require it.
77215
77216 2000-12-02  Jim Meyering  <meyering@lucent.com>
77217
77218         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
77219
77220 2000-12-01  Paul Eggert  <eggert@twinsun.com>
77221
77222         * lib/memrchr.c: Include <config.h> before any system include file.
77223
77224 2000-11-30  Jim Meyering  <meyering@lucent.com>
77225
77226         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
77227
77228 2000-11-30  Jim Meyering  <meyering@lucent.com>
77229
77230         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
77231
77232 2000-11-29  Paul Eggert  <eggert@twinsun.com>
77233
77234         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
77235
77236 2000-11-26  Jim Meyering  <meyering@lucent.com>
77237
77238         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
77239
77240 2000-11-22  Paul Eggert  <eggert@twinsun.com>
77241
77242         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
77243         size of (size_t) -1; it's not portable.
77244
77245 2000-11-17  Jim Meyering  <meyering@lucent.com>
77246
77247         * lib/strstr.c: Update from GNU libc.
77248
77249 2000-11-17  Akim Demaille  <akim@epita.fr>
77250
77251         * lib/obstack.h: Formatting changes.
77252         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
77253         prevent type checking.
77254         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
77255         cast the value to (void *): assigning a `foo *' to a `void *'
77256         variable is valid.
77257         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
77258
77259 2000-11-16  Jim Meyering  <meyering@lucent.com>
77260
77261         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
77262
77263 2000-11-11  Jim Meyering  <meyering@lucent.com>
77264
77265         * lib/error.c: Add a couple #includes, merging from GNU libc version.
77266
77267 2000-11-10  Jim Meyering  <meyering@lucent.com>
77268
77269         * lib/obstack.h: Update from GNU libc.
77270         * lib/obstack.c: Likewise.
77271
77272 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
77273
77274         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
77275
77276 2000-11-06  Paul Eggert  <eggert@twinsun.com>
77277
77278         * lib/getusershell.c (setusershell): Use rewind rather than
77279         fseek/fseeko, to avoid configuration hassles with fseeko.
77280         Don't bother opening SHELLS_FILE if shellstream is NULL;
77281         it's not necessary.
77282
77283 2000-11-05  Jim Meyering  <meyering@lucent.com>
77284
77285         * lib/makepath.h (make_dir): Declare.
77286         * lib/makepath.c (make_dir): Remove `static' attribute.
77287         Tweak a comment.
77288
77289 2000-11-04  Jim Meyering  <meyering@lucent.com>
77290
77291         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
77292
77293 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
77294
77295         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
77296         last one in a bucket, advance to the next bucket.
77297
77298 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
77299
77300         * lib/fnmatch.c: Do not comment out all the code if we are using
77301         the GNU C library, because in some cases we are replacing buggy
77302         code in the GNU C library itself.
77303
77304 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
77305
77306         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
77307         (regex_compile): Catch bogus \(\1\).
77308
77309 2000-10-30  Paul Eggert  <eggert@twinsun.com>
77310
77311         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
77312         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
77313         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
77314
77315 2000-10-30  Paul Eggert  <eggert@twinsun.com>
77316
77317         * lib/error.h, getline.h, modechange.h:
77318         Remove "2000" from Copyright line, as the file hasn't been
77319         changed this year other than in the copyright notice.
77320
77321         * lib/xalloc.h: Add "2000" to Copyright line, as this file
77322         was changed this year.
77323
77324 2000-10-29  Jim Meyering  <meyering@lucent.com>
77325
77326         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
77327         renaming.
77328         * m4/ls-mntd-fs.m4: Likewise
77329
77330 2000-10-29  Jim Meyering  <meyering@lucent.com>
77331
77332         * lib/xstat.in: Fix grammar in comment.
77333
77334 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
77335
77336         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
77337         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
77338         doesn't define __restrict_arr.
77339
77340 2000-10-28  Jim Meyering  <meyering@lucent.com>
77341
77342         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
77343         (jm_PREREQ_MEMCHR): New function.
77344
77345 2000-10-28  Jim Meyering  <meyering@lucent.com>
77346
77347         * lib/memchr.c: Update from libc.
77348         Adjust for portability:
77349         [HAVE_STDLIB_H]: Include stdlib.h.
77350         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
77351         Undef __memchr, too.
77352         [!weak_alias]: Define __memchr to memchr.
77353
77354         * lib/regex.c: Update from libc.
77355         * lib/regex.h: Likewise.
77356         * lib/getopt1.c: Likewise.
77357         * lib/memcmp.c: Likewise.
77358
77359         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
77360         Avoid using fseek, when possible -- it's broken by design.
77361         Patch by Ulrich Drepper.
77362
77363 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
77364
77365         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
77366         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
77367         Giving in to popular pressure to shut up the compiler with casts.
77368
77369 2000-10-26  Jim Meyering  <meyering@lucent.com>
77370
77371         * lib/strftime.c: Update from libc.
77372
77373 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
77374
77375         * regex.c: More `unsigned char' -> `re_char' changes.
77376         Also change several `int' into `re_wchar_t'.
77377         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
77378         (PUSH_FAILURE_POINTER): Don't cast any more.
77379         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
77380         We want GCC to complain, since this piece of code makes
77381         re_match non-reentrant, which *should* be fixed.
77382         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
77383         (EXTEND_BUFFER): Use RETALLOC.
77384         (SET_LIST_BIT): Don't cast.
77385         (re_wchar_t): New type.
77386         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
77387         that those two functions will always properly return.
77388         (IMMEDIATE_QUIT_CHECK): Cast to void.
77389         (analyse_first): Use recursion rather than an explicit stack.
77390         (re_compile_fastmap): Can't fail anymore.
77391         (re_search_2): Don't check re_compile_fastmap for failure.
77392         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
77393         Now also sets the new value (passed in a new argument).
77394         (re_match_2_internal): Use it.
77395         Also, use a new var `reg' of type size_t when looping through regs
77396         rather than reuse the inappropriate `mcnt'.
77397
77398 2000-10-25  Jim Meyering  <meyering@lucent.com>
77399
77400         * lib/obstack.c: Update from libc.
77401
77402 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
77403
77404         * regex.c (regex_compile): Change the way of handling a range from
77405         a char less than 256 to a char not less than 256.
77406
77407 2000-10-24  Andrew Innes  <andrewi@gnu.org>
77408
77409         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
77410         NT-Emacs only.
77411         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
77412         so that re_search functions only quit when callers expect them to.
77413
77414 2000-10-23  Jim Meyering  <meyering@lucent.com>
77415
77416         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
77417         wrong.  That set_locale call must not have any side effects.
77418         From Paul Eggert.
77419
77420 2000-10-22  Jim Meyering  <meyering@lucent.com>
77421
77422         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
77423         [CYCLIC]: Remove now-unused definition.
77424
77425         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
77426         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
77427         Suggestion from Ulrich Drepper.
77428
77429 2000-10-21  Jim Meyering  <meyering@lucent.com>
77430
77431         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
77432         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
77433         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
77434
77435 2000-10-21  Jim Meyering  <meyering@lucent.com>
77436
77437         * lib/dirname.c (memrchr): Declare if necessary.
77438         (dir_name): Remove the restriction that there be no
77439         trailing slashes.  Now, this code skips past them, effectively
77440         ignoring them.
77441         [TEST_DIRNAME] (main): New unit tests.
77442
77443         * lib/memrchr.c: New file from GNU libc.
77444         Undef __memrchr, too.
77445         [!weak_alias]: Define __memrchr to memrchr.
77446         Guard weak_alias use with `#ifdef weak_alias'.
77447
77448 2000-10-21  Jim Meyering  <meyering@lucent.com>
77449
77450         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
77451         (dir_name): Use dir_name_r.
77452         * lib/dirname.h (dir_name_r): Declare it.
77453
77454 2000-10-17  Jim Meyering  <meyering@lucent.com>
77455
77456         * lib/quote.h (PARAMS): Define and use.
77457         Reported by Akim Demaille.
77458
77459         * lib/getopt.c: Update from libc.
77460
77461 2000-10-16  Jim Meyering  <meyering@lucent.com>
77462
77463         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
77464         setlocale.
77465         From Jan Fedak.
77466
77467 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
77468
77469         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
77470
77471 2000-09-25  Jim Meyering  <meyering@lucent.com>
77472
77473         * lib/md5.h (rol): Define (from GnuPG).
77474
77475         * lib/sha.c: Give credit (GnuPG) where due.
77476         (M): Use rol rather than open-coding it.
77477         Add a FIXME comment.
77478
77479 2000-09-21  Jim Meyering  <meyering@lucent.com>
77480
77481         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
77482         Reported by Michael Stone.
77483
77484 2000-09-20  Jim Meyering  <meyering@lucent.com>
77485
77486         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
77487         (noinst_HEADERS): Add sha.h.
77488         Based on code from Scott G. Miller and from GnuPG.
77489
77490 2000-09-18  Jim Meyering  <meyering@lucent.com>
77491
77492         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
77493         LIBS. Otherwise, everyone ends up linking with -lelf for some
77494         configurations.
77495         Reported by Mike Stone.
77496
77497 2000-09-15  Jim Meyering  <meyering@lucent.com>
77498
77499         * lib/regex.c: Update from libc.
77500
77501 2000-09-10  Jim Meyering  <meyering@lucent.com>
77502
77503         * lib/getopt.c (_getopt_internal): Update from glibc.
77504
77505 2000-09-09  Jim Meyering  <meyering@lucent.com>
77506
77507         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
77508         think it should be used as a general replacement for isascii.
77509         * lib/fnmatch.c: Likewise.
77510         * lib/mbswidth.c: Likewise
77511         * lib/regex.c: Likewise.
77512
77513         Don't use atoi.
77514         * lib/userspec.c: Include sys/param.h and limits.h.
77515         Include xstrtol.h.
77516         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
77517         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
77518         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
77519         UID, GID.  Check range.
77520
77521 2000-09-06  Jim Meyering  <meyering@lucent.com>
77522
77523         * lib/getopt.c (_getopt_internal): Update from glibc.
77524
77525 2000-08-30  Jim Meyering  <meyering@lucent.com>
77526
77527         * lib/strftime.c: Merge in changes from GNU libc.
77528
77529 2000-08-26  Jim Meyering  <meyering@lucent.com>
77530
77531         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
77532         * m4/fpending.m4: New file.
77533
77534 2000-08-26  Jim Meyering  <meyering@lucent.com>
77535
77536         * lib/closeout.c: Include "__fpending.h".
77537         (close_stdout_status): Return right away if there's nothing to flush.
77538
77539         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
77540         * lib/__fpending.c: New file.
77541         * lib/__fpending.h: New file.
77542
77543 2000-08-20  Jim Meyering  <meyering@lucent.com>
77544
77545         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
77546         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
77547         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
77548
77549 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
77550
77551         Improve fileutils installation on systems where running
77552         programs (like install) can't be unlinked.
77553         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
77554         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
77555
77556 2000-08-07  Paul Eggert  <eggert@twinsun.com>
77557
77558         Standardize on "memory exhausted" instead of "Memory exhausted"
77559         or "virtual memory exhausted".
77560         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
77561         "virtual memory exhausted".
77562         * lib/same.c (same_name): Invoke xalloc_die instead of printing
77563         our own message.
77564         * lib/userspec.c (parse_user_spec): Likewise.
77565         * lib/bumpalloc.h: comment fix
77566         * lib/same.c, userspec.c: Include xalloc.h.
77567
77568         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
77569         not char *const and pointing to a constant array.
77570         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
77571         (xrealloc): Comment fix.
77572
77573         * lib/userspec.c (parse_user_spec):
77574         Don't translate a message until just before returning,
77575         to avoid unnecessary translation.
77576
77577 2000-08-07  Jim Meyering  <meyering@lucent.com>
77578
77579         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
77580         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
77581         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
77582         getgroups.c, gethostname.c, getopt.h, group-member.c,
77583         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
77584         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
77585         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
77586         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
77587         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
77588         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
77589         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
77590         yesno.c: Back out Copyright date changes for each file with no change
77591         this year.  This eases coordination with other programs using the same
77592         source code modules.  From Paul Eggert.
77593
77594 2000-08-06  Paul Eggert  <eggert@twinsun.com>
77595
77596         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
77597         not char, for compatibility with glibc 2.1.3 strftime.c.
77598
77599 2000-08-03  Greg McGary  <greg@mcgary.org>
77600
77601         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
77602         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
77603         (EXTEND_BUFFER): Use them.
77604
77605 2000-08-01  Jim Meyering  <meyering@lucent.com>
77606
77607         * lib/dirname.c (ISSLASH): Define.
77608         (BACKSLASH_IS_PATH_SEPARATOR): Define.
77609         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
77610         both `\' and `/' may be use as path separators.
77611         Based on a patch from Prashant TR.
77612
77613 2000-07-31  Paul Eggert  <eggert@twinsun.com>
77614
77615         * lib/quotearg.c (quotearg_n_options): Don't make the initial
77616         slot vector a constant, since it might get modified.
77617
77618 2000-07-31  Jim Meyering  <meyering@lucent.com>
77619
77620         * lib/xmalloc.c: Use `virtual memory exhausted', not
77621         `Memory exhausted'.
77622         * lib/obstack.c (print_and_abort): Likewise.
77623
77624 2000-07-30  Paul Eggert  <eggert@twinsun.com>
77625
77626         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
77627         buffer, so that the caller can always quote one small
77628         component of a "memory exhausted" message in slot 0.
77629         From a suggestion by Jim Meyering.
77630
77631 2000-07-30  Jim Meyering  <meyering@lucent.com>
77632
77633         * lib/makepath.c (make_path): Quote the other instance, too.
77634
77635         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
77636         (STATIC_BUF_SIZE): Define.
77637         (quotearg_n_options): Use only statically allocated storage when
77638         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
77639         than STATIC_BUF_SIZE.
77640
77641 2000-07-29  Jim Meyering  <meyering@lucent.com>
77642
77643         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
77644         * lib/dirname.c (dir_name): Likewise.
77645
77646         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
77647         `/'.
77648
77649         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
77650         (dir_name): Assert that there are no trailing slashes.
77651
77652 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
77653
77654         * lib/mbswidth.h (mbswidth): Add a flags argument.
77655         (mbswidth): New declaration.
77656         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
77657         * lib/mbswidth.c (mbswidth): Add a flags argument.
77658         (mbsnwidth): New function.
77659
77660 2000-07-24  Jim Meyering  <meyering@lucent.com>
77661
77662         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
77663
77664 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77665
77666         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
77667
77668 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77669
77670         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
77671         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
77672         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
77673         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
77674         invoke multibyte primitives.
77675
77676 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77677
77678         * lib/quotearg.c:
77679         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
77680         so that mbstate_t is always defined.
77681
77682         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
77683         be 1 in at least one GCC installation, and this configuration
77684         error is likely to be common.  Ignoring MB_LEN_MAX hurts
77685         performance on hosts that have mbrtowc but have only unibyte
77686         locales, but I assume these hosts are rare.
77687
77688 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77689
77690         * lib/mbswidth.c (_XOPEN_SOURCE):
77691         Don't define; this causes problems on Solaris 7.
77692         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
77693
77694 2000-07-23  Jim Meyering  <meyering@lucent.com>
77695
77696         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
77697         too: getgrgid, getpwuid, getuid.
77698
77699 2000-07-23  Jim Meyering  <meyering@lucent.com>
77700
77701         * lib/basename.c (base_name): Add an assertion.
77702
77703 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
77704
77705         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
77706         shadow its mbsinit function.
77707
77708 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77709
77710         * lib/mbswidth.h: New file.
77711         * lib/mbswidth.c: New file.
77712         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
77713         (noinst_HEADERS): Add mbswidth.h.
77714
77715 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77716
77717         * lib/config.charset: Add support for FreeBSD. Improve support for
77718         HP-UX and IRIX 6.
77719
77720 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
77721
77722         * m4/mbswidth.m4: New file.
77723         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
77724
77725 2000-07-15  Jim Meyering  <meyering@lucent.com>
77726
77727         * lib/makepath.c: Include quote.h.
77728         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
77729         corresponding argument in a `quote (...)' call.
77730         Give better diagnostics.
77731
77732         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
77733         (noinst_HEADERS): Add quote.h.
77734
77735         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
77736         from tar's src/misc.c.
77737         * lib/quote.h: New file.  Prototypes for same.
77738
77739 2000-07-14  Paul Eggert  <eggert@twinsun.com>
77740
77741         From a suggestion by Bruno Haible.
77742         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
77743         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
77744         to decide whether to define the BeOS workaround macro;
77745         this adjusts to the change to AC_MBSTATE_T.
77746
77747 2000-07-14  Jim Meyering  <meyering@lucent.com>
77748
77749         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
77750         jm_AC_TYPE_UINTMAX_T.
77751
77752 2000-07-13  Paul Eggert  <eggert@twinsun.com>
77753
77754         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
77755
77756         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
77757         quotearg_buffer_restyled): Add support for
77758         clocale_quoting_style.  Undo previous change to
77759         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
77760         and "{RIGHT QUOTATION MARK}" msgids.
77761
77762 2000-07-10  Paul Eggert  <eggert@twinsun.com>
77763
77764         From a suggestion by Bruno Haible.
77765         * m4/mbstate_t.m4 (AC_MBSTATE_T):
77766         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
77767         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
77768         and mbstate_t, to a single-part test that simply defines mbstate_t.
77769         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
77770         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
77771
77772 2000-07-10  Jim Meyering  <meyering@lucent.com>
77773
77774         * m4/strerror_r.m4: Mirror the correction made in autoconf.
77775
77776         * m4/gnu-source.m4: Output to confdefs.h directly.
77777         Suggestion from Akim Demaille.
77778
77779 2000-07-09  Paul Eggert  <eggert@twinsun.com>
77780
77781         The old behavior of quoting `like this' doesn't look good with
77782         newer, ISO-style fonts.  See:
77783         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
77784
77785         Instead, quote "like this" by default.  Let the translator
77786         tailor the locale-specific quoting behavior by providing
77787         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
77788
77789         * lib/quotearg.c (N_): New macro.
77790         (gettext_default): New function.
77791         (quotearg_buffer_restyled): Use
77792         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
77793         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
77794
77795 2000-07-09  Jim Meyering  <meyering@lucent.com>
77796
77797         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
77798         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
77799
77800         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
77801         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
77802
77803 2000-07-09  Jim Meyering  <meyering@lucent.com>
77804
77805         * lib/Most files: Update copyright dates to include 2000.
77806
77807 2000-07-08  Jim Meyering  <meyering@lucent.com>
77808
77809         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
77810         if not defined.
77811         (xgethostname): Remove now-unnecessary #ifdef.
77812         Move declaration of `err' into loop where it's used.
77813
77814 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77815         and Bruno Haible  <haible@clisp.cons.org>
77816
77817         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
77818         only if the test for an object-type mbstate_t fails.  This
77819         prevents us from mistakenly reporting that mbstate_t is a
77820         system object type after we "#define mbstate_t int" to work
77821         around its lack.
77822
77823 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77824         and Bruno Haible  <haible@clisp.cons.org>
77825
77826         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
77827
77828 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77829
77830         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
77831         to strerror_r.
77832         Include <ctype.h> for use of isalpha.
77833
77834 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77835
77836         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
77837         by allocating a larger buffer. Test the gethostname return value for
77838         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
77839         returns an error and ENAMETOOLONG isn't defined.
77840
77841 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77842
77843         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
77844         dimension.
77845
77846 2000-07-04  Jim Meyering  <meyering@lucent.com>
77847
77848         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
77849         of the deprecated AC_CHECKING.
77850
77851 2000-07-04  Jim Meyering  <meyering@lucent.com>
77852
77853         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
77854         Reported by Bruno Haible.
77855
77856 2000-07-04  Jim Meyering  <meyering@lucent.com>
77857
77858         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
77859         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
77860         lacks mbrtowc.
77861
77862 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77863
77864         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
77865         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
77866
77867 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77868         and Bruno Haible  <haible@clisp.cons.org>
77869
77870         * lib/quotearg.c (mbrtowc):
77871         Assign to *pwc, and return 1 only if result is nonzero.
77872         (iswprint): Use ISPRINT when substituting our own mbrtowc.
77873
77874 2000-07-03  Jim Meyering  <meyering@lucent.com>
77875
77876         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
77877
77878 2000-07-03  Jim Meyering  <meyering@lucent.com>
77879
77880         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
77881         This is necessary to get a definition of e.g., UTMP_FILE on
77882         HP-UX 10.20.
77883         From Bob Proulx.
77884
77885 2000-07-02  Jim Meyering  <meyering@lucent.com>
77886
77887         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
77888
77889         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
77890         AC_LIBOBJ(function_name).
77891         * m4/chown.m4: Likewise.
77892         * m4/fnmatch.m4: Likewise.
77893         * m4/ftruncate.m4: Likewise.
77894         * m4/getgroups.m4: Likewise.
77895         * m4/getline.m4: Likewise.
77896         * m4/group-member.m4: Likewise.
77897         * m4/jm-macros.m4: Likewise.
77898         * m4/lstat.m4: Likewise.
77899         * m4/malloc.m4: Likewise.
77900         * m4/memcmp.m4: Likewise.
77901         * m4/nanosleep.m4: Likewise.
77902         * m4/putenv.m4: Likewise.
77903         * m4/realloc.m4: Likewise.
77904         * m4/regex.m4: Likewise.
77905         * m4/stat.m4: Likewise.
77906         * m4/strftime.m4: Likewise.
77907
77908 2000-07-02  Jim Meyering  <meyering@lucent.com>
77909
77910         * lib/quotearg.c (mbstate_t): Don't define here.
77911
77912 2000-07-02  Jim Meyering  <meyering@lucent.com>
77913
77914         * lib/nanosleep.c (SIGCONT): Define if not already defined.
77915
77916 2000-07-01  Jim Meyering  <meyering@lucent.com>
77917
77918         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
77919
77920 2000-07-01  Jim Meyering  <meyering@lucent.com>
77921
77922         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
77923         problem.
77924
77925 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77926
77927         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
77928         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
77929
77930 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77931
77932         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
77933         per change in ../m4/ls-mntd-fs.m4.
77934         (read_filesystem_list): Ignore symbolic links.
77935
77936 2000-06-29  Jim Meyering  <meyering@lucent.com>
77937
77938         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
77939         for declaration of strcmp.
77940
77941         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
77942
77943         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
77944         Avoid warning by casting result to `char *' to remove `const'.
77945
77946 2000-06-28  Jim Meyering  <meyering@lucent.com>
77947
77948         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
77949         included by quotearg.c, for which we perform this test.  From
77950         Bruno Haible.
77951
77952 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77953
77954         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
77955         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
77956         <utmpx.h> exists, put readutmp.o into LIBOBJS.
77957
77958 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77959
77960         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
77961
77962 2000-06-26  Paul Eggert  <eggert@twinsun.com>
77963
77964         savedir now sets errno on failure and invokes xmalloc to get memory.
77965         Fix a couple of other minor bugs while we're at it.
77966
77967         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
77968         (NAMLEN): Remove macro.
77969         (malloc, realloc): Remove decls.
77970         (stpcpy): Likewise.
77971         ("xalloc.h"): Include.
77972         (NAME_SIZE_DEFAULT): New macro.
77973         (savedir): Use xmalloc / xrealloc to allocate memory.
77974         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
77975         Skip "" directory entries.
77976         Use strlen to calculate directory entry length, since the old method
77977         is rarely used these days and isn't worth supporting.
77978         Don't use a pointer after freeing it.
77979         Check for integer overflow when calculating allocation size.
77980         Use memcpy to copy entries, instead of stpcpy.
77981         Set errno properly when returning NULL.
77982         Check for readdir error.
77983
77984 2000-06-26  Jim Meyering  <meyering@lucent.com>
77985
77986         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
77987
77988 2000-06-25  Jim Meyering  <meyering@lucent.com>
77989
77990         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
77991         Linux header bug when _XOPEN_SOURCE is defined to 500.
77992
77993 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
77994
77995         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
77996         deficiency.
77997
77998 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
77999
78000         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
78001         Include xalloc.h.
78002         Don't include <stdlib.h>.  Don't declare malloc, realloc.
78003
78004 2000-06-24  Jim Meyering  <meyering@lucent.com>
78005
78006         * m4/strerror_r.m4: Revive this file -- to try out an experimental
78007         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
78008         for which strerror does return char*, but which lacks a conveniently
78009         accessible declaration of the function.  If the compile-test says
78010         strerror_r doesn't work, then resort to a `run'-test that works on
78011         BeOS and segfaults on DEC Unix.
78012
78013 2000-06-24  Jim Meyering  <meyering@lucent.com>
78014
78015         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
78016
78017 2000-06-23  Paul Eggert  <eggert@twinsun.com>
78018
78019         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
78020         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
78021
78022 2000-06-23  Paul Eggert  <eggert@twinsun.com>
78023
78024         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
78025         (mbrtowc, mbstate_t): Define substitutes if
78026         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
78027         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
78028         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
78029
78030 2000-06-23  Jim Meyering  <meyering@lucent.com>
78031
78032         * m4/afs.m4: Add missing AC_MSG_RESULT.
78033         Reported by Bruno Haible.
78034
78035         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
78036         Suggestion from Bruno Haible.
78037
78038 2000-06-23  Jim Meyering  <meyering@lucent.com>
78039
78040         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
78041
78042 2000-06-21  Jim Meyering  <meyering@lucent.com>
78043
78044         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
78045
78046 2000-06-21  Jim Meyering  <meyering@lucent.com>
78047
78048         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
78049         (noinst_HEADERS): Add getstr.h.
78050
78051         * lib/getline.c (getstr): Move into a separate file.
78052         * lib/getstr.c (getstr): New file, extracted from getline.c, with
78053         the following changes: new parameter, delim2; both delim[12]
78054         parameters have type `int', not `char'.  The latter would lose
78055         with 8-bit delimiters.
78056         * lib/getstr.h: New file.
78057
78058 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78059
78060         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
78061         than 1024, return a memory chunk of least possible size, instead
78062         of size PATH_MAX + 2. In the loop, increment the size proportionally.
78063         Use free/xmalloc instead of xrealloc to avoid copying for very long
78064         paths.
78065
78066 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78067
78068         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
78069         the empty string.
78070
78071 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78072
78073         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
78074         address, not strdup.  Include <stdlib.h> and don't declare free().
78075
78076 2000-06-19  Jim Meyering  <meyering@lucent.com>
78077
78078         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
78079
78080 2000-06-18  Jim Meyering  <meyering@lucent.com>
78081
78082         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
78083
78084         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
78085         `checking whether...' message to be consistent with that of the
78086         lstat test.
78087
78088 2000-06-18  Jim Meyering  <meyering@lucent.com>
78089
78090         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
78091         Besides, these days every porting target provides a mkdir function.
78092
78093         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
78094         needed. (this snippet comes from src/system.h).
78095
78096 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
78097
78098         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
78099
78100 2000-06-15  Paul Eggert  <eggert@twinsun.com>
78101
78102         * lib/human.c (adjust_value): New function.
78103         (human_readable_inexact): Apply rounding style even when
78104         printing approximate values.
78105
78106 2000-06-14  Paul Eggert  <eggert@twinsun.com>
78107
78108         * lib/human.c (human_readable_inexact): Allow an input block
78109         size that is not a multiple of the output block size, and vice versa.
78110         Reported by Piergiorgio Sartor.
78111
78112 2000-06-14  Paul Eggert  <eggert@twinsun.com>
78113
78114         * lib/getdate.y (get_date): Apply relative times after time
78115         zone indicator, not before.  Reported by Todd A. Jacobs.
78116
78117 2000-06-13  Jim Meyering  <meyering@lucent.com>
78118
78119         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
78120
78121         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
78122
78123 2000-06-12  Paul Eggert  <eggert@twinsun.com>
78124
78125         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
78126
78127 2000-06-12  Jim Meyering  <meyering@lucent.com>
78128
78129         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
78130         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
78131         optional argument.
78132         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
78133         the optional argument, `lib'.
78134
78135 2000-06-08  Jim Meyering  <meyering@lucent.com>
78136
78137         * m4/largefile.m4: Remove file (now that it's part of autoconf).
78138
78139 2000-06-04  Paul Eggert  <eggert@twinsun.com>
78140
78141         Rewrite largefile configuration so that we don't need to run
78142         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
78143         AC_CANONICAL_HOST in configure.in -- jmm]
78144
78145         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
78146         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
78147         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
78148         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
78149         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
78150         All uses changed.
78151         Instead of inspecting the output of getconf, try to compile the
78152         test program without and with the macro definition.
78153         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
78154         for getconf.  Instead, check for the needed flags by compiling
78155         test programs.
78156
78157 2000-06-04  Paul Eggert  <eggert@twinsun.com>
78158
78159         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
78160
78161 2000-06-04  Jim Meyering  <meyering@lucent.com>
78162
78163         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
78164         SunOS 4.1.4 for which gid_t is an unsigned type.
78165
78166 2000-06-03  Jim Meyering  <meyering@lucent.com>
78167
78168         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
78169         now that autoconf requires that.
78170
78171         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
78172         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
78173         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
78174
78175 2000-06-03  Jim Meyering  <meyering@lucent.com>
78176
78177         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
78178
78179 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
78180
78181         * m4/glibc21.m4: New file.
78182         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
78183
78184 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
78185
78186         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
78187         newer, don't install charset.alias.
78188         * lib/config.charset: Change the Linux/glibc rules so they become empty
78189         on glibc-2.1 or newer.
78190
78191 2000-06-02  Jim Meyering  <meyering@lucent.com>
78192
78193         * lib/mountlist.c: Back out last change.  Instead, do this...
78194         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
78195         me_dummy member using the same `ignore'-testing code.
78196         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
78197         fs_type strings.
78198         From Mark D. Roth.
78199
78200 2000-05-29  Jim Meyering  <meyering@lucent.com>
78201
78202         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
78203         mounts with the `ignore' attribute.  Based on a patch from
78204         Mark D. Roth.
78205
78206 2000-05-28  Jim Meyering  <meyering@lucent.com>
78207
78208         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
78209         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78210         * m4/stat.m4: Likewise.
78211         * m4/lstat.m4: Likewise.
78212         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
78213
78214         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
78215         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
78216
78217 2000-05-26  Jim Meyering  <meyering@lucent.com>
78218
78219         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
78220
78221 2000-05-24  Jim Meyering  <meyering@lucent.com>
78222
78223         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
78224         autoconf requires that.
78225         * m4/lib-check.m4: Likewise.
78226         * m4/jm-macros.m4: Likewise.
78227         * m4/strftime.m4: Likewise.
78228
78229         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
78230         AC_CHECK_DECLS, now that autoconf requires that.
78231
78232 2000-05-22  Jim Meyering  <meyering@lucent.com>
78233
78234         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78235         * m4/lstat.m4: Likewise.
78236
78237 2000-05-22  Jim Meyering  <meyering@lucent.com>
78238
78239         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
78240
78241 2000-05-20  Jim Meyering  <meyering@lucent.com>
78242
78243         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
78244         (jm_PREREQ): Use it.
78245
78246 2000-05-18  Jim Meyering  <meyering@lucent.com>
78247
78248         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
78249         back, too, since it may have been modified by allocate_entry.
78250         (hash_delete): Rewrite to use neither the assignment operator
78251         nor the comma operator in an if-expression.
78252
78253 2000-05-15  Paul Eggert  <eggert@twinsun.com>
78254
78255         * lib/closeout.c:
78256         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
78257         Remove; no longer needed.
78258         "quotearg.h": Add include.
78259         (file_name): Do not bother to explicitly initialize to NULL; it's less
78260         efficient on some hosts.
78261         (close_stdout_status): Remove test as to whether stdout was already
78262         closed; it breaks for the case "echo x | sort >&-".
78263         Quote file name colons.
78264         Do not assume that _("write error") lacks format strings.
78265
78266 2000-05-15  Jim Meyering  <meyering@lucent.com>
78267
78268         * lib/version-etc.c (version_etc_copyright): Update the copyright
78269         string used in all --version output.
78270
78271 2000-05-14  Jim Meyering  <meyering@lucent.com>
78272
78273         * lib/closeout.c (close_stdout_set_file_name): New function.
78274         (close_stdout_status): Use new file-scoped global.
78275         Return right away if fstat says the stdout file descriptor is invalid.
78276         * lib/closeout.h (close_stdout_set_file_name): Declare.
78277
78278 2000-05-10  Jim Meyering  <meyering@lucent.com>
78279
78280         * lib/closeout.c [default_exit_status]: New file-scoped variable.
78281         (close_stdout_set_status): New function.
78282         * lib/closeout.h (close_stdout_set_status): Declare.
78283
78284 2000-05-09  Jim Meyering  <meyering@lucent.com>
78285
78286         * m4/gettext.m4: Rename this...
78287         * m4/libintl.m4: ...to this.
78288
78289 2000-05-08  Jim Meyering  <meyering@lucent.com>
78290
78291         * lib/long-options.c: Don't include closeout.h.
78292         (parse_long_options): Don't call close_stdout for --version.
78293
78294 2000-05-06  Paul Eggert  <eggert@twinsun.com>
78295
78296         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
78297         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
78298         2.1.3 bug.  This avoids a clash when files like regex.c define
78299         _GNU_SOURCE.
78300
78301 2000-05-06  Jim Meyering  <meyering@lucent.com>
78302
78303         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
78304         (AC_REPLACE_FUNCS): Add strnlen.
78305
78306         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
78307         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
78308
78309         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
78310         AC_SEARCH_LIBS call for nanosleep.
78311         (LIB_NANOSLEEP): Set and AC_SUBST.
78312
78313 2000-05-06  Jim Meyering  <meyering@lucent.com>
78314
78315         * lib/strnlen.c: Undefine __strnlen and strnlen.
78316         [!weak_alias]: Define __strnlen to strnlen.
78317
78318         * lib/atexit.c: New file, from libiberty.
78319
78320 2000-05-06  Jim Meyering  <meyering@lucent.com>
78321
78322         * lib/closeout.c (close_stdout_status): Also check for errors on the
78323         stderr stream.
78324
78325 2000-05-05  Jim Meyering  <meyering@lucent.com>
78326
78327         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
78328         AC_SEARCH_LIBS call for clock_gettime.
78329         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
78330
78331         * m4/search-libs.m4: Update from autoconf.
78332
78333         su doesn't work on Solaris 2.6.
78334         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
78335         <shadow.h>.  Reported by Dragos Harabor.
78336
78337 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
78338
78339         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
78340         memcpy instead of xmalloc, xrealloc, path_concat.
78341         (locale_charset): Treat empty environment variables as absent.
78342         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
78343
78344 2000-05-04  Jim Meyering  <meyering@lucent.com>
78345
78346         * lib/getopt.c: Update from glibc.
78347         * lib/obstack.c: Likewise.
78348         * lib/obstack.h: Likewise.
78349         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
78350         file
78351
78352         * lib/regex.h: Likewise.
78353         * lib/strndup.c: Likewise.
78354         * lib/strnlen.c: New file, from glibc.
78355
78356 2000-05-03  Jim Meyering  <meyering@lucent.com>
78357
78358         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
78359
78360 2000-05-02  Paul Eggert  <eggert@twinsun.com>
78361
78362         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
78363         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
78364         compile-time test, rather than inspecting host and OS, to
78365         decide whether to define _LARGEFILE_SOURCE.
78366
78367 2000-05-01  Jim Meyering  <meyering@lucent.com>
78368
78369         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
78370
78371         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
78372         Based on a patch from Bruno Haible.
78373
78374 2000-05-01  Jim Meyering  <meyering@lucent.com>
78375
78376         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
78377
78378 2000-04-29  Jim Meyering  <meyering@lucent.com>
78379
78380         * lib/path-concat.c: Declare strdup only if it's not defined.
78381         * lib/canon-host.c: Likewise.
78382
78383 2000-04-28  Jim Meyering  <meyering@lucent.com>
78384
78385         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
78386         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
78387         is included first, then limits.h is included by locale.h by libintl.h.
78388         From John David Anglin.
78389
78390 2000-04-25  Jim Meyering  <meyering@lucent.com>
78391
78392         * lib/makepath.c (S_IRWXUGO): Define.
78393         (make_path): Always perform explicit chmod if MODE specifies any
78394         of the `special' permission bits.  Prompted by a bug report against
78395         install from Mate Wierdl and Joost van Baal.
78396
78397 2000-04-18  Jim Meyering  <meyering@lucent.com>
78398
78399         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
78400         (jm_PREREQ): Use it.
78401
78402 2000-04-18  Jim Meyering  <meyering@lucent.com>
78403
78404         * lib/README: New file.
78405
78406         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
78407         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
78408
78409 2000-04-17  Jim Meyering  <meyering@lucent.com>
78410
78411         Get it right :-)
78412         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
78413         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
78414         Suggestion from Akim Demaille.
78415
78416 2000-04-17  Jim Meyering  <meyering@lucent.com>
78417
78418         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
78419         the definition of it to rpl_strftime also defined-away the system's
78420         declaration.
78421
78422 2000-04-15  Jim Meyering  <meyering@lucent.com>
78423
78424         Use `C' to denote so-called `contiguous' files, the same way
78425         that tar does.
78426         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
78427         (ftypelet): Use S_ISCTG.
78428         From Michael Deutschmann.
78429
78430 2000-04-14  Jim Meyering  <meyering@lucent.com>
78431
78432         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
78433         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
78434         clobbered.
78435
78436 2000-04-14  Jim Meyering  <meyering@lucent.com>
78437
78438         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
78439
78440 2000-04-13  Jim Meyering  <meyering@lucent.com>
78441
78442         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
78443         AH_VERBATIM to insert required #ifndef into config.h.in.
78444         Suggestion from Akim Demaille.
78445
78446 2000-04-12  Jim Meyering  <meyering@lucent.com>
78447
78448         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
78449         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
78450         Christian Krackowizer.
78451
78452         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
78453         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
78454         (AC_SYS_LARGEFILE): Require.
78455         (AM_C_PROTOTYPES): Require.
78456
78457 2000-04-08  Jim Meyering  <meyering@lucent.com>
78458
78459         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
78460         names don't conflict.  Reported by Eli Zaretskii.
78461
78462 2000-04-07  Jim Meyering  <meyering@lucent.com>
78463
78464         * lib/putenv.c: Move inclusion of errno.h so it follows that of
78465         sys/types.h, to work around system header problems on AIX 3.2.5.
78466         From Bruno Haible.
78467
78468 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
78469
78470         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
78471         bug.  Deal with the different error behavior of Irix iconv.
78472
78473 2000-04-05  Paul Eggert  <eggert@twinsun.com>
78474
78475         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
78476         IRIX if the installer said otherwise.
78477
78478 2000-04-05  Jim Meyering  <meyering@lucent.com>
78479
78480         Portability tweaks required for ultrix4.3.
78481         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
78482         (jm_CHECK_DECLS): Add getutent to the list of functions.
78483         (_jm_DECL_HEADERS): Add utmpx.h.
78484         From John David Anglin.
78485
78486         * m4/strftime.m4: Back out the 2000-04-02 change.
78487         Instead of that change, simply undefine putenv in the test program.
78488
78489 2000-04-05  Jim Meyering  <meyering@lucent.com>
78490
78491         Portability tweaks required for ultrix4.3.
78492         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
78493         getutent.
78494         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
78495         * lib/canon-host.c: Declare strdup.
78496         * lib/path-concat.c: Likewise.
78497         From John David Anglin.
78498
78499 2000-04-04  Jim Meyering  <meyering@lucent.com>
78500
78501         Be more DOS 8.3-friendly.
78502         * lib/ref-add.sin: Renamed from ref-add.sed.in.
78503         * lib/ref-del.sin: Renamed from ref-del.sed.in.
78504         * lib/Makefile.am: Reflect renaming.
78505         Reported by Eli Zaretskii.
78506
78507         Use a temporary file name that won't clash with `charset.alias'
78508         in the DOS 8.3 name space.
78509         * lib/Makefile.am (charset_tmp): Define.
78510         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
78511         (uninstall-local): Likewise.
78512         Reported by Eli Zaretskii.
78513
78514 2000-04-03  Jim Meyering  <meyering@lucent.com>
78515
78516         * m4/gettext.m4: Fix typo in comment.
78517
78518         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
78519         textutils/configure.in).  Suggestion from Paul Eggert.
78520         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
78521
78522 2000-04-02  Paul Eggert  <eggert@twinsun.com>
78523
78524         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
78525         variable in the shell rather than using putenv, which isn't
78526         portable.  This avoids the configure-time inter-test dependency
78527         on the potentially-renamed putenv function.
78528
78529 2000-03-30  Paul Eggert  <eggert@twinsun.com>
78530
78531         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
78532         before checking struct stat.st_blksize, so that
78533         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
78534
78535 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78536
78537         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
78538         since strftime.c uses HAVE_STRFTIME to decide whether to use
78539         the underlying strftime.
78540
78541 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78542
78543         * lib/time/strftime.c (my_strftime): Make sure we call the system
78544         strftime, not ourselves, when invoking the underlying strftime.
78545
78546 2000-03-24  Jim Meyering  <meyering@lucent.com>
78547
78548         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
78549         (charset_alias): Define.
78550         (install-exec-local): Factor out common code.
78551         (uninstall-local): Split lines longer than 80.
78552         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
78553         (SUFFIXES): Define.
78554         (.sed.in.sed): New rule.  Don't redirect directly to $@.
78555         (CLEANFILES): Add ref-add.sed and ref-del.sed.
78556
78557 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
78558
78559         * lib/config.charset: Output a line containing "Packages using this
78560         file".
78561         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
78562         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
78563         ref-del.sed): New rules.
78564
78565 2000-03-17  Jim Meyering  <meyering@lucent.com>
78566
78567         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
78568         Otherwise, include <strings.h>
78569
78570 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
78571
78572         * lib/unicodeio.c (utf8_wctomb): New function.
78573         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
78574         format instead of in UCS-4 with platform dependent endianness.
78575
78576 2000-03-10  Jim Meyering  <meyering@lucent.com>
78577
78578         * m4/lib-check.m4: Look for getspnam in -lgen, too.
78579         From Marco Franzen.
78580
78581 2000-03-07  Paul Eggert  <eggert@twinsun.com>
78582
78583         * lib/savedir.c (savedir): Work even if directory size is
78584         negative; this can happen with some screwy NFS configurations.
78585
78586 2000-03-06  Jim Meyering  <meyering@lucent.com>
78587
78588         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
78589         if it's NULL (because we ran out of memory).  From Bruno Haible.
78590
78591 2000-03-05  Jim Meyering  <meyering@lucent.com>
78592
78593         * lib/localcharset.c ("path-concat.h"): Include.
78594         (get_charset_aliases): Use path_concat instead of ANSI string
78595         concatenation.
78596
78597         * lib/unicodeio.h (PARAMS): Define.
78598         Use it to guard prototype.
78599
78600 2000-03-04  Jim Meyering  <meyering@lucent.com>
78601
78602         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
78603         for lib/localcharset.c.
78604
78605 2000-03-04  Jim Meyering  <meyering@lucent.com>
78606
78607         * lib/Makefile.am (install-exec-local): Create $(libdir) before
78608         installing into it.
78609         (uninstall-local): Uncomment this rule so `make distcheck' works
78610         once again.
78611
78612         * lib/unicodeio.c (<errno.h>): Include it.
78613         (errno): Declare if not defined.
78614
78615         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
78616
78617         * lib/config.charset: New version, incorporating remarks from a linux
78618         i18n mailing list.  From Bruno Haible.
78619
78620 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
78621
78622         * m4/codeset.m4: New file.
78623         * m4/iconv.m4: New file.
78624         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
78625
78626 2000-03-03  Jim Meyering  <meyering@lucent.com>
78627
78628         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
78629
78630 2000-03-02  Jim Meyering  <meyering@lucent.com>
78631
78632         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
78633         the messages come out on separate lines.
78634
78635         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
78636         rather than jm_CHECK_DECLARATIONS.
78637         * m4/decl.m4: Remove now-unused file.
78638
78639         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
78640         geteuid.
78641
78642 2000-03-02  Jim Meyering  <meyering@lucent.com>
78643
78644         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
78645
78646 2000-03-01  Jim Meyering  <meyering@lucent.com>
78647
78648         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
78649         * lib/unicodeio.c: Likewise.
78650
78651 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
78652
78653         * lib/config.charset: New file.
78654         * lib/localcharset.c: New file.
78655         * lib/unicodeio.h, lib/unicodeio.c: New files.
78656         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
78657         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
78658         (noinst_HEADERS): Add unicodeio.h.
78659         (all-local, install-exec-local, charset.alias): New targets.
78660
78661 2000-02-28  Paul Eggert  <eggert@twinsun.com>
78662
78663         * lib/quotearg.c (ALERT_CHAR): New macro.
78664         (quotearg_buffer_restyled): Use it.
78665
78666 2000-02-27  Jim Meyering  <meyering@lucent.com>
78667
78668         * m4/check-decl.m4: Add getenv to the list.
78669
78670 2000-02-27  Jim Meyering  <meyering@lucent.com>
78671
78672         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
78673         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
78674
78675         * lib/backupfile.c: Guard inclusion of stdlib.h with
78676         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
78677         Declare malloc if needed.
78678
78679         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
78680         `#ifndef HAVE_DECL..'
78681         now that autoconf always defines the HAVE_DECL_ symbols.
78682         * lib/human.c: Likewise.
78683         * lib/same.c: Likewise.
78684         * lib/strtoumax.c: Likewise.
78685
78686         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
78687         declaration check was not run.
78688         * lib/hash.c: Likewise.
78689         * lib/human.c: Likewise.
78690         * lib/same.c: Likewise.
78691         * lib/strtoumax.c: Likewise.
78692
78693         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
78694         `.', then first look up the entire `.'-containing string as a login
78695         name.
78696
78697 2000-02-23  Jim Meyering  <meyering@lucent.com>
78698
78699         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
78700         in place of my hack.
78701
78702 2000-02-18  Paul Eggert  <eggert@twinsun.com>
78703
78704         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
78705         (textint): New typedef.
78706         (parser_control): Member year changed from int to textint.
78707         All uses changed.
78708         (YYSTYPE): Removed; replaced by %union with int and textint members.
78709         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
78710         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
78711         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
78712         (tSNUMBER, tUNUMBER): Now of type <textintval>.
78713         (date, number, to_year): Use width of number in digits, not its value,
78714         to determine whether it's a 2-digit year, or a 2-digit time.
78715         (yylex): Store number of digits of numeric tokens.
78716         Reported by John Kendall.
78717
78718         (parser_control): Changed from struct parser_control to typedef (for
78719         consistency).  All uses changed.
78720
78721         (tID): Removed; not used.
78722         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
78723
78724 2000-02-14  Paul Eggert  <eggert@twinsun.com>
78725
78726         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
78727         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
78728
78729 2000-02-12  Jim Meyering  <meyering@lucent.com>
78730
78731         * lib/userspec.c (ISDIGIT): Define it.
78732         (isdigit): Remove definition.
78733         (is_number): Use ISDIGIT, not isdigit.
78734         <libintl.h>: Include.
78735         (_ and N_): Define.
78736         (parse_user_spec): Mark translatable strings.
78737
78738 2000-02-10  Jim Meyering  <meyering@lucent.com>
78739
78740         With these changes, nanosleep.[ch] are finally enough like the other
78741         lib/* replacement files to compile on a few more losing systems.
78742
78743         * lib/nanosleep.h: Don't include config.h.
78744         Remove prototype from declaration of nanosleep.
78745         (PARAMS): Remove now-unneeded definition.
78746         * lib/nanosleep.c: #undef nanosleep.
78747         (rpl_nanosleep): Rename from nanosleep.
78748
78749 2000-02-10  Jim Meyering  <meyering@lucent.com>
78750
78751         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
78752         gnu_nanosleep to rpl_nanosleep.
78753
78754 2000-02-09  Jim Meyering  <meyering@lucent.com>
78755
78756         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
78757         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
78758
78759 2000-02-08  Akim Demaille  <akim@epita.fr>
78760
78761         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
78762         `[' and `]' and remove uses of `changequote'.
78763         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
78764         (AC_SYS_LARGEFILE): Likewise.
78765         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
78766         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
78767         of changequote.
78768         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
78769         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
78770         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
78771         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
78772
78773 2000-02-05  Jim Meyering  <meyering@lucent.com>
78774
78775         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
78776         Remove explicit use of AC_HEADER_TIME.  It is required by
78777         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
78778         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
78779         in autoconf whereby the expansion of the latter ended up preceding
78780         the expansion of its prerequisite, AC_HEADER_TIME.
78781         Reported by Volker Borchert.
78782
78783 2000-02-03  Jim Meyering  <meyering@lucent.com>
78784
78785         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
78786
78787 2000-02-03  Jim Meyering  <meyering@lucent.com>
78788
78789         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
78790         rather than with `#if HAVE_UTMPNAME'.
78791
78792 2000-02-02  Jim Meyering  <meyering@lucent.com>
78793
78794         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
78795         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
78796         Reported by Eli Zaretskii.
78797
78798 2000-02-01  Jim Meyering  <meyering@lucent.com>
78799
78800         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
78801
78802 2000-01-31  Jim Meyering  <meyering@lucent.com>
78803
78804         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
78805         functions.  Add the time.h and sys/time.h headers along with the
78806         AC_REQUIRE'ment of AC_HEADER_TIME.
78807
78808 2000-01-31  Jim Meyering  <meyering@lucent.com>
78809
78810         * lib/nanosleep.h (nanosleep): Guard declaration with
78811         `#if ! HAVE_DECL_NANOSLEEP'.
78812         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
78813         the declaration in that vendor's sys/timers.h.
78814         Reported by Christian Krackowizer.
78815
78816         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
78817         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
78818         (ISPRINT): Likewise.
78819         Reported by Tom Tromey.
78820
78821 2000-01-30  Jim Meyering  <meyering@lucent.com>
78822
78823         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
78824
78825         * m4/prereq.m4 (utmp_includes): Define.
78826         Check for ut_user and ut_name members in both struct utmpx
78827         and struct utmp.
78828
78829 2000-01-30  Jim Meyering  <meyering@lucent.com>
78830
78831         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
78832         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
78833         header files where only utmpx.ut_user is declared.
78834
78835         * lib/readutmp.h (UT_USER): Define.
78836
78837 2000-01-29  Jim Meyering  <meyering@lucent.com>
78838
78839         * m4/lib-check.m4: New file containing library-related checks from
78840         fileutils and sh-utils (textutils had none).
78841
78842 2000-01-28  Jim Meyering  <meyering@lucent.com>
78843
78844         * m4/perl.m4: Change format of warning message to look more like that
78845         from the missing script.  Suggestion from François Pinard.
78846
78847 2000-01-25  Jim Meyering  <meyering@lucent.com>
78848
78849         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
78850         well as time.h in the compile check.
78851         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
78852         Fix typo in cross-compiling case: s/yes/no/.
78853
78854 2000-01-23  Jim Meyering  <meyering@lucent.com>
78855
78856         * m4/jm-macros.m4: Move df-related tests here from
78857         fileutils/configure.in
78858
78859         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
78860         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
78861
78862         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
78863         s/space/ac_fsusage_space/.
78864         (jm_FILE_SYSTEM_USAGE): Take two parameters.
78865
78866         * m4/ftruncate.m4: New file (derived from part of
78867         fileutils/configure.in).
78868         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
78869         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
78870
78871         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
78872         AC_SUBST these here, rather than just in sh-util/configure.in, so
78873         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
78874         all the same.
78875         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
78876         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
78877         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
78878         (AC_SUBST(POW_LIBM)): Likewise.
78879         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
78880
78881 2000-01-23  Jim Meyering  <meyering@lucent.com>
78882
78883         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
78884         obstack.c.
78885
78886 2000-01-22  Jim Meyering  <meyering@lucent.com>
78887
78888         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
78889
78890         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
78891
78892         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
78893         configure.in
78894         (AC_CHECK_HEADERS): Likewise for sh-utils.
78895         (AC_CHECK_HEADERS): Likewise for textutils.
78896         Merge the three lists of headers.
78897
78898         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
78899         from fileutils' configure.in.
78900
78901         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
78902         code. Moved tests into their own function (_jm_DECL_HEADERS) in
78903         check-decl.m4.
78904
78905         * m4/check-decl.m4: Use #if rather than #ifdef.
78906         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
78907         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
78908         (_jm_DECL_HEADERS): Define new function.
78909         (jm_CHECK_DECLARATIONS): Require it.
78910
78911 2000-01-22  Jim Meyering  <meyering@lucent.com>
78912
78913         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
78914         [! HAVE_DECL_STRTOULL]: Declare strtoull.
78915         Required for some AIX systems.  Reported by Christian Krackowizer.
78916         [TESTING] (main): New function.
78917
78918         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
78919         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
78920         letters.
78921
78922         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
78923         iswprint.
78924
78925         * lib/strverscmp.c (ISDIGIT): Define.
78926         (strverscmp): Use ISDIGIT, not isdigit.
78927
78928 2000-01-19  Jim Meyering  <meyering@lucent.com>
78929
78930         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
78931         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
78932         defines `struct timespec' in <sys/time.h>
78933
78934         * m4/c-bs-a.m4: Remove uses of changequote altogether.
78935         Thanks to Akim for explaining.
78936
78937 2000-01-17  Paul Eggert  <eggert@twinsun.com>
78938
78939         * lib/nanosleep.c (nanosleep):
78940         Don't use SA_INTERRUPT to decide whether to call sigaction, as
78941         POSIX.1 doesn't require SA_INTERRUPT and some systems
78942         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
78943         it's been part of POSIX.1 since day 1 (in 1988).
78944
78945 2000-01-17  Jim Meyering  <meyering@lucent.com>
78946
78947         * lib/interlock: Remove unused file.  Reported by François Pinard.
78948
78949 2000-01-16  Paul Eggert  <eggert@twinsun.com>
78950
78951         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
78952         alert, backslash, formfeed, and vertical tab unnecessarily in
78953         shell quoting style.
78954
78955 2000-01-16  Jim Meyering  <meyering@lucent.com>
78956
78957         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
78958         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
78959         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
78960         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
78961
78962 2000-01-16  Jim Meyering  <meyering@lucent.com>
78963
78964         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
78965         because the latter didn't work.
78966
78967 2000-01-15  Jim Meyering  <meyering@lucent.com>
78968
78969         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
78970         (AC_REPLACE_FUNCS): Add memcpy and memset.
78971         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
78972         Add strpbrk.
78973         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
78974
78975 2000-01-12  Jim Meyering  <meyering@lucent.com>
78976
78977         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
78978         (jm_PREREQ): Use it.
78979         (jm_PREREQ_READUTMP): New macro.
78980         (jm_PREREQ): Use it.
78981
78982 2000-01-11  Paul Eggert  <eggert@twinsun.com>
78983
78984         Quote multibyte characters correctly.
78985         * m4/c-bs-a.m4: New file.
78986         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
78987         (jm_PREREQ): Use it.
78988
78989 2000-01-11  Paul Eggert  <eggert@twinsun.com>
78990
78991         * m4/uintmax_t.m4: Port to autoconf 2.13.
78992
78993 2000-01-08  Jim Meyering  <meyering@ascend.com>
78994
78995         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
78996         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
78997
78998 2000-01-04  Jim Meyering  <meyering@ascend.com>
78999
79000         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
79001         jm_STRUCT_DIRENT_D_TYPE.
79002         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
79003         jm_STRUCT_DIRENT_D_INO.
79004         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
79005         jm_STRUCT_UTIMBUF.
79006         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
79007         renamings.
79008         * m4/utime.m4: Likewise.
79009
79010         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
79011         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
79012
79013 2000-01-03  Paul Eggert  <eggert@twinsun.com>
79014
79015         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
79016         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
79017
79018 2000-01-02  Jim Meyering  <meyering@ascend.com>
79019
79020         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
79021         remember if this is necessary.
79022
79023 1999-12-26  Jim Meyering  <meyering@ascend.com>
79024
79025         * m4/jm-macros.m4: Use it here.
79026         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
79027
79028 1999-12-23  Jim Meyering  <meyering@ascend.com>
79029
79030         * m4/jm-macros.m4: Check for clock_gettime (moved from
79031         fileutils/configure.in)
79032         Check for gettimeofday.
79033
79034 1999-12-20  Jim Meyering  <meyering@ascend.com>
79035
79036         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
79037         autoconf-2.14a-1999-12-20.
79038
79039 1999-12-19  Jim Meyering  <meyering@ascend.com>
79040
79041         * m4/lstat-slash.m4: New file.
79042         * m4/jm-macros.m4: Use the new macro:
79043         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79044
79045 1999-12-07  Jim Meyering  <meyering@ascend.com>
79046
79047         * m4/perl.m4: Require that File::Compare be available, too.
79048         Too many systems seem to lack it.
79049
79050         * m4/strftime.m4: Add checks for most of the cpp macros tested in
79051         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
79052
79053 1999-11-18  Paul Eggert  <eggert@twinsun.com>
79054
79055         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
79056         problem with the QNX 4.25 shell, which doesn't propagate exit
79057         status of failed commands inside shell assignments.
79058
79059 1999-11-17  Jim Meyering  <meyering@ascend.com>
79060
79061         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
79062
79063 1999-11-07  Jim Meyering  <meyering@ascend.com>
79064
79065         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
79066
79067 1999-11-06  Jim Meyering  <meyering@ascend.com>
79068
79069         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
79070         * m4/jm-macros.m4 (jm_MACROS): Use it here.
79071
79072 1999-11-05  Jim Meyering  <meyering@ascend.com>
79073
79074         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
79075         configure.in of textutils, fileutils, and sh-utils into this one
79076         (shared between those packages) file.
79077         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
79078         AC_STRUCT_ST_BLKSIZE.
79079
79080 1999-11-03  Jim Meyering  <meyering@ascend.com>
79081
79082         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
79083         of AC_CHECK_TYPE checks includes unistd.h.
79084         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
79085         Suggestion from Akim Demaille.
79086
79087 1999-10-30  Jim Meyering  <meyering@ascend.com>
79088
79089         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
79090         m4-quoted string.
79091         * m4/ls-mntd-fs.m4: Likewise.
79092         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
79093         * m4/jm-winsz1.m4: Likewise.
79094
79095         * m4/const.m4: Remove file, since the fix made it into the experimental
79096         version of autoconf.
79097         * m4/mktime.m4: Likewise.
79098
79099         * m4/check-type.m4: Remove file, now that the latest version of
79100         AC_CHECK_TYPE takes a third arg to specify additional #includes.
79101
79102         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
79103         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
79104         AC_CHECK_TYPE.
79105
79106 1999-10-04  Jim Meyering  <meyering@ascend.com>
79107
79108         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
79109
79110 1999-09-22  Paul Eggert  <eggert@twinsun.com>
79111
79112         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
79113         2.95.1 bug with HP-UX 10.20.
79114
79115 1999-09-17  Jim Meyering  <meyering@ascend.com>
79116
79117         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
79118         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
79119         due to missing strdup (against sh-utils-2.0).
79120
79121 1999-08-29  Jim Meyering  <meyering@ascend.com>
79122
79123         * m4/jm-macros.m4: Require jm_BISON.
79124         * m4/bison.m4: New file.
79125
79126 1999-08-17  Paul Eggert  <eggert@twinsun.com>
79127
79128         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
79129         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
79130
79131 1999-08-05  Jim Meyering  <meyering@ascend.com>
79132
79133         * m4/getline.m4: Rename test file from conftestdata to conftest.data
79134         to avoid conflicts with `conftest' on 8+3 filesystems.
79135         Suggestion from Eli Zaretskii.
79136
79137 1999-08-04  Jim Meyering  <meyering@ascend.com>
79138
79139         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
79140         fileutils and sh-utils (textutils's getline test was inadequate).
79141         (AM_FUNC_GETLINE): Run this test.
79142         (AC_CHECK_FUNCS): Check for getdelim.
79143         Reported by Bob Proulx.
79144
79145 1999-08-02  Jim Meyering  <meyering@ascend.com>
79146
79147         * m4/jm-macros.m4: Add a comment.
79148
79149 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79150
79151         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
79152         <inttypes.h> defines strtoumax as a macro (and not as a
79153         function).
79154
79155 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79156
79157         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
79158         that we can shift, multiply and divide unsigned long long
79159         values; Ultrix cc can't do it.
79160
79161 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79162
79163         * m4/mktime.m4: New file, which is a preview of what should appear
79164         in the next public autoconf release.
79165
79166 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79167
79168         * m4/lfs.m4: Remove this file.
79169         * m4/largefile.m4: New file.  It contains the old contents of
79170         lfs.m4, except that all names with prefix AC_LFS have been
79171         changed to use the prefix AC_SYS_LARGEFILE instead, to be
79172         compatible with future autoconf versions.  Also, some minor m4
79173         quoting problems have been fixed.
79174
79175 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79176
79177         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
79178         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
79179         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
79180         and simplify the shell code.
79181
79182 1999-08-01  Jim Meyering  <meyering@ascend.com>
79183
79184         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
79185         m4.
79186
79187 1999-07-20  Jim Meyering  <meyering@ascend.com>
79188
79189         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
79190
79191 1999-07-15  Jim Meyering  <meyering@ascend.com>
79192
79193         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
79194
79195 1999-05-22  Jim Meyering  <meyering@ascend.com>
79196
79197         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
79198
79199 1999-05-20  Jim Meyering  <meyering@ascend.com>
79200
79201         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
79202         Add a colon after each `then' in case $4 is empty.
79203
79204 1999-05-16  Jim Meyering  <meyering@ascend.com>
79205
79206         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
79207
79208 1999-05-10  Jim Meyering  <meyering@ascend.com>
79209
79210         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
79211
79212         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
79213         AC_FUNC_MKTIME.
79214
79215 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
79216
79217         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
79218
79219 1999-05-04  Paul Eggert  <eggert@twinsun.com>
79220
79221         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
79222         not CPPFLAGS, so that linking works correctly in IRIX.
79223
79224 1999-04-30  Paul Eggert  <eggert@twinsun.com>
79225
79226         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
79227
79228 1999-04-20  Paul Eggert  <eggert@twinsun.com>
79229
79230         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
79231         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
79232         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
79233         jm_AC_TYPE_UNSIGNED_LONG_LONG.
79234         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
79235
79236         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
79237
79238 1999-04-20  Jim Meyering  <meyering@ascend.com>
79239
79240         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
79241         AC_REPLACE xstroull if necessary.  From Paul Eggert.
79242         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
79243
79244 1999-04-18  Jim Meyering  <meyering@ascend.com>
79245
79246         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
79247         * m4/jm-macros.m4: Use it.
79248
79249 1999-04-06  Jim Meyering  <meyering@ascend.com>
79250
79251         * m4/strftime.m4: Remove test for %f.
79252
79253 1999-03-29  Jim Meyering  <meyering@ascend.com>
79254
79255         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
79256         superset of the AC_TYPE_* checks in the textutils, fileutils,
79257         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
79258         AC_TYPE_PID_T.
79259
79260 1999-03-28  Jim Meyering  <meyering@ascend.com>
79261
79262         * m4/jm-macros.m4: Define GNU_PACKAGE here.
79263         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
79264         replaced e.g., in the *.sh files of the sh-utils.
79265
79266 1999-03-20  Jim Meyering  <meyering@ascend.com>
79267
79268         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
79269         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
79270         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
79271
79272 1999-03-19  Jim Meyering  <meyering@ascend.com>
79273
79274         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
79275
79276 1999-03-12  Jim Meyering  <meyering@ascend.com>
79277
79278         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
79279
79280 1999-03-07  Jim Meyering  <meyering@ascend.com>
79281
79282         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
79283         declared.
79284
79285 1999-02-17  Jim Meyering  <meyering@ascend.com>
79286
79287         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
79288         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
79289
79290 1999-02-07  Jim Meyering  <meyering@ascend.com>
79291
79292         * m4/group-member.m4: New file -- extracted from sh-utils'
79293         configure.in.
79294
79295         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
79296         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
79297
79298 1999-02-06  Jim Meyering  <meyering@ascend.com>
79299
79300         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
79301         * m4/fnmatch.m4: Likewise.
79302         * m4/getgroups.m4: Likewise.
79303         * m4/lstat.m4: Likewise.
79304         * m4/malloc.m4: Likewise.
79305         * m4/putenv.m4: Likewise.
79306         * m4/realloc.m4: Likewise.
79307         * m4/regex.m4: Likewise.
79308         * m4/stat.m4: Likewise.
79309         * m4/strftime.m4: Likewise.
79310         Suggestion from Alain Magloire.
79311
79312         * m4/chown.m4: Use `.$ac_objext', not `.o'.
79313         * m4/fnmatch.m4: Likewise.
79314         * m4/getgroups.m4: Likewise.
79315         * m4/getline.m4: Likewise.
79316         * m4/lstat.m4: Likewise.
79317         * m4/malloc.m4: Likewise.
79318         * m4/memcmp.m4: Likewise.
79319         * m4/putenv.m4: Likewise.
79320         * m4/realloc.m4: Likewise.
79321         * m4/regex.m4: Likewise.
79322         * m4/stat.m4: Likewise.
79323         * m4/strftime.m4: Likewise.
79324         Suggestion from Alain Magloire.
79325
79326         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
79327         an argument.
79328
79329         * m4/regex.m4: Add a run-time Test for proper operation of
79330         re_compile_pattern.
79331
79332 1999-01-31  Jim Meyering  <meyering@ascend.com>
79333
79334         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
79335
79336 1999-01-30  Jim Meyering  <meyering@ascend.com>
79337
79338         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
79339
79340         * m4/jm-mktime.m4: Make this a wrapper around the official
79341         AM_FUNC_MKTIME rather than my private copy, now that the official one
79342         is up to date.
79343         * m4/mktime.m4: Remove file.
79344
79345         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
79346         * m4/uptime.m4: Likewise.
79347         * m4/uintmax_t.m4: Likewise.
79348
79349 1999-01-28  Jim Meyering  <meyering@ascend.com>
79350
79351         * m4/jm-macros.m4: Use jm_AFS.
79352         * m4/afs.m4: New file (from fileutils' configure.in).
79353
79354         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
79355         * m4/chown.m4: Likewise.
79356         * m4/d-ino.m4: Likewise.
79357         * m4/d-type.m4: Likewise.
79358         * m4/fnmatch.m4: Likewise.
79359         * m4/getgroups.m4: Likewise.
79360         * m4/gettext.m4: Likewise.
79361         * m4/jm-mktime.m4: Likewise.
79362         * m4/jm-winsz2.m4: Likewise.
79363         * m4/lcmessage.m4: Likewise.
79364         * m4/ls-mntd-fs.m4: Likewise.
79365         * m4/malloc.m4: Likewise.
79366         * m4/memcmp.m4: Likewise.
79367         * m4/putenv.m4: Likewise.
79368         * m4/realloc.m4: Likewise.
79369         * m4/st_mtim.m4: Likewise.
79370         * m4/strftime.m4: Likewise.
79371
79372 1999-01-16  Jim Meyering  <meyering@ascend.com>
79373
79374         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
79375         (ARGMATCH_DIE_DECL): Define.
79376
79377 1999-01-12  Jim Meyering  <meyering@ascend.com>
79378
79379         * m4/Makefile.am.in: Rewrite to avoid using fmt.
79380         Reported by Lars Hecking.
79381
79382 1999-01-10  Jim Meyering  <meyering@ascend.com>
79383
79384         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
79385         gross kludge.
79386         * m4/inttypes_h.m4: Likewise.
79387         * m4/lstat.m4: Likewise.
79388         * m4/malloc.m4: Likewise.
79389         * m4/readdir.m4: Likewise.
79390         * m4/realloc.m4: Likewise.
79391         * m4/st_dm_mode.m4: Likewise.
79392         * m4/stat.m4: Likewise.
79393         * m4/utimbuf.m4: Likewise.
79394         * m4/utimes.m4: Likewise.
79395
79396         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
79397         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
79398         comments in config.h.in are meaningful.
79399
79400         * m4/jm-macros.m4: Require autoconf-2.13 here.
79401
79402         * m4/regex.m4: By default, don't use the included regex.c on systems
79403         with glibc 2.  Suggestion from Uli Drepper.
79404
79405 1999-01-02  Jim Meyering  <meyering@ascend.com>
79406
79407         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
79408
79409 1998-12-18  Jim Meyering  <meyering@ascend.com>
79410
79411         * m4/Makefile.am.in (Makefile.am): Simplify rule.
79412         Based on a suggestion from Lars Hecking.
79413
79414 1998-11-16  Paul Eggert  <eggert@twinsun.com>
79415
79416         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
79417
79418 1998-11-16  Jim Meyering  <meyering@ascend.com>
79419
79420         * m4/lfs.m4: Double-quote the `uname...` expression.
79421
79422 1998-11-14  Jim Meyering  <meyering@ascend.com>
79423
79424         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
79425         * m4/stat.m4: Likewise.
79426
79427 1998-11-03  Jim Meyering  <meyering@ascend.com>
79428
79429         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
79430         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
79431
79432 1998-10-18  Jim Meyering  <meyering@ascend.com>
79433
79434         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
79435
79436 1998-10-17  Jim Meyering  <meyering@ascend.com>
79437
79438         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
79439         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
79440         calls for those previously hard-coded headers.  Instead, take a new
79441         parameter.
79442         (jm_CHECK_DECLARATIONS): Reflect interface change.
79443         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
79444         (jm_CHECK_DECL_LOCALTIME_R): New macro.
79445
79446         * m4/mktime.m4: Test for spring-forward gap before long-running test.
79447
79448 1998-10-14  Jim Meyering  <meyering@ascend.com>
79449
79450         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
79451         instead of "TZ=America/Vancouver".  From Paul Eggert.
79452
79453 1998-10-11  Jim Meyering  <meyering@ascend.com>
79454
79455         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
79456         This adds a test for a recently added compatibility fix for mktime.c.
79457         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
79458
79459 1998-09-27  Jim Meyering  <meyering@ascend.com>
79460
79461         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
79462
79463         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
79464         ../configure.in, including a change from Gordon Matzigkeit to allow
79465         cross-compiling for the Hurd.
79466
79467         * m4/glibc.m4: New file/macro to test for the GNU C Library
79468         versions 1 and 2.  From Gordon Matzigkeit.
79469         Indent.
79470
79471 1998-09-21  Jim Meyering  <meyering@ascend.com>
79472
79473         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
79474
79475 1998-08-18  Paul Eggert  <eggert@twinsun.com>
79476
79477         Port nanosecond-resolution times to UnixWare 2.1.2 and
79478         pedantic Solaris 2.6.
79479
79480         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
79481         AC_STRUCT_ST_MTIM.
79482         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
79483         Generate name of ns member, instead of just 1 or undef.
79484         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
79485
79486 1998-08-15  Jim Meyering  <meyering@ascend.com>
79487
79488         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
79489         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
79490         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
79491         instead of jm_TYPE_SSIZE_T.
79492
79493 1998-08-12  Jim Meyering  <meyering@ascend.com>
79494
79495         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
79496
79497 1998-08-02  Jim Meyering  <meyering@ascend.com>
79498
79499         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
79500         in acconfig.h manually.
79501
79502 1998-07-31  Paul Eggert  <eggert@twinsun.com>
79503
79504         * m4/st_mtim.m4: New file.
79505
79506 1998-07-28  Jim Meyering  <meyering@ascend.com>
79507
79508         * m4/utimes.m4: Undef stat.
79509
79510 1998-07-25  Jim Meyering  <meyering@ascend.com>
79511
79512         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
79513         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
79514
79515 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
79516
79517         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
79518         uid and gid actually remain unchanged.
79519
79520 1998-07-07  Jim Meyering  <meyering@ascend.com>
79521
79522         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
79523
79524 1998-07-04  Jim Meyering  <meyering@ascend.com>
79525
79526         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
79527         to prove that this macro can be used in packages without regex.c.
79528
79529 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
79530
79531         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
79532         is to be used.
79533
79534 1998-07-03  Jim Meyering  <meyering@ascend.com>
79535
79536         * m4/gettext.m4: Add -lintl if it's found to be necessary.
79537
79538         * m4/gettext.m4: New file -- from gettext-0.10.35.
79539         * m4/lcmessage.m4: Likewise.
79540         * m4/progtest.m4: Likewise.
79541
79542         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
79543         * m4/jm-macros.m4: Require the new macro.
79544
79545 1998-06-29  Jim Meyering  <meyering@ascend.com>
79546
79547         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
79548         for the definition of NGROUPS (used in a system header included
79549         by sys/mount.h).
79550
79551 1998-06-28  Jim Meyering  <meyering@ascend.com>
79552
79553         * m4/ls-mntd-fs.m4: New file.
79554         * m4/fstypename.m4: New file.
79555
79556         * m4/jm-macros.m4: Require the new macro.
79557         * m4/jm-glibc-io.m4: New file.
79558
79559 1998-05-19  Jim Meyering  <meyering@ascend.com>
79560
79561         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
79562         * m4/lchown.m4: New file.
79563
79564         * m4/Makefile.am.in: New file.
79565         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
79566
79567 1998-05-14  Jim Meyering  <meyering@ascend.com>
79568
79569         * m4/Makefile.am (EXTRA_DIST): Add them.
79570         * m4/jm-macros.m4: New file.
79571         * m4/utimbuf.m4: New file.
79572
79573 1998-05-12  Jim Meyering  <meyering@ascend.com>
79574
79575         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
79576
79577 1998-05-11  Jim Meyering  <meyering@ascend.com>
79578
79579         * m4/isc-posix.m4: New file.
79580
79581 1998-05-10  Jim Meyering  <meyering@ascend.com>
79582
79583         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
79584
79585 1998-05-09  Jim Meyering  <meyering@ascend.com>
79586
79587         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
79588         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
79589         with automake.
79590
79591         * m4/ssize_t.m4: New file.
79592         * m4/mktime.m4: Remove file -- the new automake has this now.
79593
79594 1998-04-26  Jim Meyering  <meyering@ascend.com>
79595
79596         * m4/assert.m4: New file.
79597         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
79598
79599 1998-04-05  Jim Meyering  <meyering@ascend.com>
79600
79601         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
79602         (jm_PREREQ): Use it here.
79603
79604 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
79605
79606         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
79607         in acconfig.h.
79608
79609 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
79610
79611         * m4/prereq.m4: New file.
79612         * m4/error.m4: New file.
79613         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
79614
79615 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
79616
79617         * m4/getline.m4: Don't set am_cv_func_working_getline before the
79618         cache-check for the same variable -- that defeated the purpose of
79619         the test; the test program was never run.  This was a problem only
79620         on systems with losing getline functions -- HP-UX 10.20 is one.
79621         Reported by Bjorn Helgaas.
79622
79623 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
79624
79625         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
79626
79627 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
79628
79629         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
79630
79631         * m4/const.m4: New file.  Use an initializer in this declaration
79632         typedef int charset[2]; const charset x;
79633         Reported by Bob Glickstein.
79634
79635 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
79636
79637         * m4/chown.m4: Fix reversed types on -1 args to chown.
79638         From Kaveh Ghazi.
79639
79640 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
79641
79642         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
79643         Add lseek and memchr.
79644
79645         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
79646         T.E.Dickey <dickey@clark.net> said that some older preprocessors
79647         have a 20-character limit on names.
79648
79649 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
79650
79651         * m4/inttypes_h.m4: New file.
79652         * m4/uintmax_t.m4: New file.
79653         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
79654
79655
79656         -----
79657
79658         Local Variables:
79659         coding: utf-8
79660         End:
79661
79662         Copyright (C) 1997-2011 Free Software Foundation, Inc.
79663
79664         Copying and distribution of this file, with or without
79665         modification, are permitted provided the copyright notice
79666         and this notice are preserved.